@charset "utf-8";
/* CSS Document */



/* 追加
------------------------------------------------------------*/
.fb_timeline{text-align:center;margin:0 auto 10px;}
.indent-1 {padding-left:1em;text-indent:-1em;}
.indent-2 {padding-left:2em;text-indent:-2em;}
.indent-15 {padding-left:1.5em;text-indent:-1.5em;}
.fade{display:none;}
.banner_img{text-align:center;margin:0 auto;clear:both;}
.banner_img img{border-radius:20px;}
br.pcbr{display:block;}
br.spbr{display:none;}
.text_box{text-align:justify;padding:0;}
.text_box p{margin-bottom:1.5em;}
.text_box ul,.text_box ol{margin-left:1em;list-style-position: outside;}
.text_box ul li{list-style:none;margin-bottom:0.5em;position: relative;padding: 0 0 0 1.5em;}
.text_box li::before {
  content: "\f054";
  font-family: FontAwesome;
font-weight: 400;
padding-right:5px;
color:#F8B500;
position: absolute;
left: 0.5em;
}
.text_box_w{background:#fff;text-align:justify;padding:1em 2em;margin:20px auto 50px;}
.text_box_w img{width:200px;margin-top:5px;}
.text_box_w li > p{font-weight:400;margin-left:1em;}

.sptel{display:none;}
.twoblock{display:flex;flex-wrap:wrap;justify-content:space-between;}
.block_area{width:49%;}


.marker{background: linear-gradient(transparent 70%, #fff7fa 70%);padding:0 2em 0;}
.marker2{color:#317091;font-weight:700;}
.marker-space{letter-spacing:-0.5em;}
.pagetop {display: none;position: fixed;bottom: 50px;right:5%;width:66px;z-index:100;}
.pagetop a {display: block;}
.pagetop img{width:100%;}
.sp_btn{display:none;}

.slides img{width:100%;}
.head_img{position: relative;margin-bottom:30px;}
.head_img img{width:100%;}
.head_title{position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);font-size:30px;color:#317091;font-family: dnp-shuei-mincho-pr6n, sans-serif;font-weight: 700;font-style: normal;background:rgba(255,255,255,0.9);z-index:9999;min-height:80px;display:flex;justify-content:center;align-items:center;letter-spacing:0.3em;width:40%;line-height:1;}

h2.title{font-size:26px;text-align:center;margin:50px auto 0;}
h2.title_sub{font-size:20px;text-align:center;color:#c7b299;font-family: "futura-pt", sans-serif;font-weight: 400;font-style: normal;margin-bottom:50px;}
h2.title_sub_w{font-size:20px;text-align:center;color:#fff;font-family: "futura-pt", sans-serif;font-weight: 400;font-style: normal;margin-bottom:10px;}
h3.title{font-family: "ryo-gothic-plusn", sans-serif;font-weight: 500;font-style: normal;font-size:24px;display:flex;align-items:center;justify-content:center;width:100%;margin:80px auto 40px;}
h3.title::before{content:"";width:110px;flex:none;height:2px;background:#c7b299;margin:0 10px 0 0;}
h3.title::after{content:"";width:110px;flex:none;height:2px;background:#c7b299;margin:0 0 0 10px;}


/*back
------------------------------------------------------------*/
.pnavi{text-align:center;font-size:16px;margin-top:20px;}



/*TOP
------------------------------------------------------------*/
.worry_sec { padding:64px 0 46px; background:#fff; }
.worry_inner { width:min(90%, 1200px); margin:0 auto; }
.section_title { position:relative; margin:0 0 34px; color:#061a3f; font-size:clamp(26px, 2.08vw, 40px); line-height:1.45; font-weight:800; text-align:center; letter-spacing:0.04em; }
.section_title::after { content:""; position:absolute; left:50%; bottom:-12px; width:48px; height:3px; border-radius:999px; background:#1261d8; transform:translateX(-50%); }
.worry_list { display:grid; grid-template-columns:repeat(5, 1fr); gap:20px; margin-top:48px; }
.worry_card { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; min-height:180px; padding:28px 18px 24px; border:1px solid #e6ecf5; border-radius:8px; background:#fff; box-shadow:0 8px 22px rgba(15, 35, 80, 0.06); }
.worry_icon { display:flex; align-items:center; justify-content:center; width:74px; height:74px; margin-bottom:18px; border-radius:50%; background:#eef5ff; color:#1261d8; font-size:34px; }
.worry_card p { margin:0; color:#061a3f; font-size:15px; line-height:1.85; font-weight:800; text-align:center; letter-spacing:0.03em; }
.worry_lead { margin:30px 0 0; color:#061a3f; font-size:clamp(18px, 1.35vw, 24px); line-height:1.7; font-weight:800; text-align:center; letter-spacing:0.03em; }

@media screen and (max-width: 900px) {
.worry_sec { padding:56px 0 40px; }
.worry_list { grid-template-columns:repeat(2, 1fr); gap:16px; margin-top:42px; }
.worry_card { min-height:170px; padding:24px 16px 22px; }
.worry_card:last-child { grid-column:1 / -1; width:min(50%, 100%); margin:0 auto; }
}

@media screen and (max-width: 560px) {
.worry_sec { padding:48px 0 36px; }
.worry_inner { width:min(92%, 1200px); }
.worry_list { grid-template-columns:1fr; gap:14px; }
.worry_card { min-height:auto; padding:22px 18px; }
.worry_card:last-child { grid-column:auto; width:100%; }
.worry_icon { width:64px; height:64px; margin-bottom:14px; font-size:30px; }
.worry_card p { font-size:14px; line-height:1.75; }
.worry_lead { margin-top:24px; font-size:17px; }
}

.reason_sec { padding:56px 0 62px; background:linear-gradient(180deg, #f7fbff 0%, #fff 100%); }
.reason_inner { width:min(90%, 1200px); margin:0 auto; }
.reason_list { display:grid; grid-template-columns:repeat(4, 1fr); margin-top:46px; }
.reason_item { position:relative; padding:0 30px; text-align:center; }
.reason_item:not(:last-child)::after { content:""; position:absolute; right:0; top:18px; width:1px; height:168px; background:#d8e3f2; }
.reason_icon { display:flex; align-items:center; justify-content:center; width:76px; height:76px; margin:0 auto 18px; color:#1261d8; font-size:42px; }
.reason_item h3 { margin:0 0 16px; color:#061a3f; font-size:17px; line-height:1.55; font-weight:800; letter-spacing:0.03em; }
.reason_item p { margin:0; color:#061a3f; font-size:14px; line-height:1.9; font-weight:600; text-align:left; letter-spacing:0.02em; }

@media screen and (max-width: 900px) {
.reason_sec { padding:52px 0 54px; }
.reason_list { grid-template-columns:repeat(2, 1fr); gap:34px 0; }
.reason_item { padding:0 28px; }
.reason_item:nth-child(2)::after { display:none; }
.reason_item:not(:last-child)::after { height:150px; }
}

@media screen and (max-width: 560px) {
.reason_sec { padding:46px 0 48px; }
.reason_inner { width:min(92%, 1200px); }
.reason_list { grid-template-columns:1fr; gap:30px; margin-top:42px; }
.reason_item { padding:0; }
.reason_item::after { display:none !important; }
.reason_icon { width:64px; height:64px; margin-bottom:14px; font-size:36px; }
.reason_item h3 { margin-bottom:10px; font-size:16px; }
.reason_item p { font-size:14px; line-height:1.8; text-align:center; }
}

.price_sec { padding:40px 0 70px; background:#fff; }
.price_inner { width:min(90%, 1200px); margin:0 auto; padding:54px 60px; border:1px solid #e6ecf5; border-radius:12px; background:#fff; box-shadow:0 10px 28px rgba(15, 35, 80, 0.06); display:grid; grid-template-columns:1fr 420px; align-items:center; gap:60px; }
.price_label { margin:0 0 10px; color:#1261d8; font-size:15px; font-weight:800; }
.price_head { display:flex; align-items:center; gap:18px; margin-bottom:20px; }
.price_head h2 { margin:0; color:#1261d8; font-size:clamp(36px, 4vw, 76px); line-height:1; font-weight:800; letter-spacing:0.02em; }
.price_head h2 span { margin-left:6px; color:#1261d8; font-size:clamp(22px, 1.8vw, 34px); }
.price_head p { display:flex; align-items:center; justify-content:center; width:84px; height:48px; margin:0; border:2px solid #1261d8; border-radius:8px; color:#1261d8; font-size:20px; font-weight:800; }
.price_desc { margin:0 0 28px; color:#061a3f; font-size:16px; line-height:1.8; font-weight:700; }
.price_list { display:grid; grid-template-columns:repeat(2, 1fr); gap:14px 26px; margin:0; padding:0; list-style:none; }
.price_list li { position:relative; padding-left:28px; color:#061a3f; font-size:15px; line-height:1.7; font-weight:700; }
.price_list li::before { content:""; position:absolute; left:0; top:7px; width:16px; height:16px; border-radius:50%; background:#1261d8; }
.price_list li::after { content:""; position:absolute; left:5px; top:10px; width:4px; height:7px; border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(45deg); }
.price_note { margin:22px 0 0; color:#5d6b82; font-size:13px; line-height:1.7; font-weight:600; }
.price_visual { display:flex; align-items:center; justify-content:center; }
.price_mock { width:100%; }
.price_mock img{width:100%;}
@media screen and (max-width: 900px) {
.price_inner { grid-template-columns:1fr; gap:36px; padding:42px 32px; }
.price_head { flex-wrap:wrap; }
.price_list { grid-template-columns:1fr; }
}

@media screen and (max-width: 560px) {
.price_inner { width:min(92%, 1200px); padding:34px 22px; }
.price_desc { font-size:16px; }
.price_head p { width:72px; height:42px; font-size:17px; }
}

.process_sec { padding:0 0 72px; background:#fff; }
.process_inner { width:min(90%, 1200px); margin:0 auto; display:grid; grid-template-columns:300px 1fr; border:1px solid #e6ecf5; border-radius:12px; background:#fff; box-shadow:0 10px 28px rgba(15, 35, 80, 0.06); overflow:hidden; }
.condition_box { padding:42px 36px; background:linear-gradient(180deg, #f3f8ff 0%, #fff 100%); }
.condition_box h2, .flow_box h2 { margin:0 0 28px; color:#061a3f; font-size:24px; line-height:1.45; font-weight:800; text-align:center; letter-spacing:0.04em; }
.condition_box h2 { text-align:left; }
.condition_box ul { display:grid; gap:16px; margin:0; padding:0; list-style:none; }
.condition_box li { position:relative; padding-left:28px; color:#061a3f; font-size:14px; line-height:1.65; font-weight:700; }
.condition_box li::before { content:""; position:absolute; left:0; top:4px; width:16px; height:16px; border-radius:50%; background:#1261d8; }
.condition_box li::after { content:""; position:absolute; left:5px; top:7px; width:4px; height:7px; border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(45deg); }
.flow_box { padding:42px 38px 38px; }
.flow_list { display:grid; grid-template-columns:repeat(6, 1fr); gap:18px; }
.flow_item { position:relative; text-align:center; }
.flow_item:not(:last-child)::after { content:""; position:absolute; top:44px; right:-18px; width:18px; height:2px; background:repeating-linear-gradient(90deg, #1261d8 0 5px, transparent 5px 9px); }
.flow_num { position:absolute; top:-6px; left:50%; z-index:2; display:flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:#1261d8; color:#fff; font-size:12px; font-weight:800; transform:translateX(-50%); }
.flow_icon { display:flex; align-items:center; justify-content:center; width:72px; height:72px; margin:10px auto 16px; border:1px solid #dfe9f7; border-radius:50%; background:#fff; color:#1261d8; font-size:32px; box-shadow:0 6px 16px rgba(15, 35, 80, 0.05); }
.flow_item h3 { margin:0 0 12px; color:#061a3f; font-size:15px; line-height:1.5; font-weight:800; }
.flow_item p { margin:0; color:#061a3f; font-size:13px; line-height:1.75; font-weight:600; }

@media screen and (max-width: 1000px) {
.process_inner { grid-template-columns:1fr; }
.condition_box h2 { text-align:center; }
.condition_box ul { grid-template-columns:repeat(2, 1fr); gap:14px 24px; }
.flow_list { grid-template-columns:repeat(3, 1fr); gap:34px 24px; }
.flow_item:nth-child(3)::after { display:none; }
}

@media screen and (max-width: 560px) {
.process_sec { padding-bottom:54px; }
.process_inner { width:min(92%, 1200px); }
.condition_box { padding:34px 24px; }
.flow_box { padding:34px 22px; }
.condition_box ul { grid-template-columns:1fr; }
.flow_list { grid-template-columns:1fr; gap:28px; }
.flow_item::after { display:none !important; }
.flow_icon { width:66px; height:66px; font-size:29px; }
.flow_item p br { display:none; }
}

.faq_sec { padding:0 0 72px; background:#fff; }
.faq_inner { width:min(90%, 1200px); margin:0 auto; }
.faq_list { display:grid; grid-template-columns:repeat(2, 1fr); gap:12px 34px; margin-top:48px; }
.faq_item { border:1px solid #e6ecf5; border-radius:8px; background:#fff; box-shadow:0 6px 16px rgba(15, 35, 80, 0.05); overflow:hidden; }
.faq_item summary { position:relative; display:flex; align-items:center; min-height:46px; padding:0 46px 0 52px; color:#061a3f; font-size:15px; line-height:1.6; font-weight:800; cursor:pointer; list-style:none; }
.faq_item summary::-webkit-details-marker { display:none; }
.faq_item summary::before { content:"Q."; position:absolute; left:22px; top:50%; color:#1261d8; font-size:16px; font-weight:800; transform:translateY(-50%); }
.faq_item summary::after { content:""; position:absolute; right:22px; top:50%; width:9px; height:9px; border-right:2px solid #1261d8; border-bottom:2px solid #1261d8; transform:translateY(-65%) rotate(45deg); transition:transform 0.3s; }
.faq_item[open] summary::after { transform:translateY(-35%) rotate(-135deg); }
.faq_answer { padding:0 22px 18px 52px; }
.faq_answer p { margin:0; color:#34415a; font-size:14px; line-height:1.85; font-weight:600; }

@media screen and (max-width: 760px) {
.faq_sec { padding-bottom:56px; }
.faq_inner { width:min(92%, 1200px); }
.faq_list { grid-template-columns:1fr; gap:10px; margin-top:42px; }
.faq_item summary { min-height:50px; padding:0 44px 0 48px; font-size:14px; }
.faq_item summary::before { left:18px; }
.faq_item summary::after { right:18px; }
.faq_answer { padding:0 18px 18px 48px; }
}

.works_sec { padding:0 0 72px; background:#fff; }
.works_inner { width:min(90%, 1200px); margin:0 auto; }
.works_lead { margin:34px 0 34px; color:#061a3f; font-size:clamp(16px, 1.25vw, 20px); line-height:1.8; font-weight:700; text-align:center; letter-spacing:0.03em; }
.works_list { display:grid; grid-template-columns:repeat(2, 1fr); gap:34px; }
.works_card { border:1px solid #e6ecf5; border-radius:12px; background:#fff; box-shadow:0 10px 28px rgba(15, 35, 80, 0.06); overflow:hidden; }
.works_card a { display:block; height:100%; color:inherit; text-decoration:none; }
.works_img { aspect-ratio:16 / 9; background:#eef5ff; overflow:hidden; }
.works_img img { display:block; width:100%; height:100%; object-fit:cover; transition:transform 0.45s; }
.works_card a:hover .works_img img { transform:scale(1.04); }
.works_body { padding:24px 26px 26px; }
.works_cat { display:inline-flex; align-items:center; justify-content:center; min-width:88px; height:28px; margin:0 0 14px; padding:0 12px; border-radius:999px; background:#eef5ff; color:#1261d8; font-size:13px; line-height:1; font-weight:800; }
.works_body h3 { margin:0 0 12px; color:#061a3f; font-size:20px; line-height:1.55; font-weight:800; letter-spacing:0.03em; }
.works_body p:not(.works_cat) { margin:0; color:#34415a; font-size:14px; line-height:1.85; font-weight:600; }
.works_btn { display:inline-flex; align-items:center; justify-content:center; min-width:132px; height:40px; margin-top:20px; border-radius:6px; background:#1261d8; color:#fff; font-size:14px; font-weight:800; }

@media screen and (max-width: 760px) {
.works_sec { padding-bottom:56px; }
.works_inner { width:min(92%, 1200px); }
.works_list { grid-template-columns:1fr; gap:22px; }
.works_lead { margin:30px 0 28px; }
.works_body { padding:22px 20px 24px; }
.works_body h3 { font-size:18px; }
}

.recommend { padding: clamp(70px, 7.81vw, 120px) 0; background: #f7f9fc; }
.recommend__inner { width: min(90%, 1180px); margin: 0 auto; }
.recommend__label { margin: 0 0 12px; color: #2f6fec; font-size: 14px; font-weight: 700; letter-spacing: .12em; text-align: center; }
.recommend__title { margin: 0; color: #111827; font-size: clamp(26px, 2.08vw, 40px); font-weight: 800; line-height: 1.45; text-align: center; }
.recommend__lead { max-width: 720px; margin: 22px auto 48px; color: #4b5563; font-size: clamp(15px, 1.04vw, 17px); line-height: 2; text-align: center; }
.recommend__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.recommend__card { position: relative; display: flex; flex-direction: column; min-height: 300px; padding: 30px 24px 26px; color: inherit; text-decoration: none; background: #fff; border: 1px solid #e5e7eb; border-radius: 22px; box-shadow: 0 14px 35px rgba(17, 24, 39, .06); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.recommend__card:hover { transform: translateY(-6px); border-color: #2f6fec; box-shadow: 0 22px 50px rgba(17, 24, 39, .12); }
.recommend__icon { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 0 22px; color: #2f6fec; font-size: 24px; background: #eef4ff; border-radius: 18px; }
.recommend__card h3 { margin: 0 0 14px; color: #111827; font-size: 19px; font-weight: 800; line-height: 1.5; }
.recommend__card p { margin: 0 0 24px; color: #4b5563; font-size: 14px; line-height: 1.9; }
.recommend__card span { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; color: #2f6fec; font-size: 14px; font-weight: 700; }
.recommend__card span::after { content: "→"; transition: transform .25s ease; }
.recommend__card:hover span::after { transform: translateX(4px); }

@media screen and (max-width: 1024px) {
.recommend__grid { grid-template-columns: repeat(2, 1fr); }
}
@media screen and (max-width: 600px) {
.recommend { padding: 64px 0; }
.recommend__lead { margin: 18px auto 34px; text-align: left; }
.recommend__grid { grid-template-columns: 1fr; gap: 16px; }
.recommend__card { min-height: auto; padding: 26px 22px 24px; border-radius: 18px; }
.recommend__icon { width: 52px; height: 52px; margin-bottom: 18px; font-size: 22px; border-radius: 16px; }
}

/*固定ページ
------------------------------------------------------------*/
.privacy_page { width:min(90%, 1000px); margin:80px auto; }
.privacy_page h1 { margin:0 0 48px; color:#061a3f; font-size:clamp(26px, 2vw, 40px); line-height:1.4; font-weight:800; letter-spacing:0.04em; text-align:center; }
.privacy_page h2 { margin:48px 0 18px; padding-left:18px; border-left:4px solid #1261d8; color:#061a3f; font-size:clamp(18px, 1.5vw, 20px); line-height:1.5; font-weight:800; letter-spacing:0.03em; }
.privacy_page p { margin:0 0 18px; color:#34415a; font-size:16px; line-height:2; font-weight:500; }
.privacy_page ul { margin:0 0 18px 24px; padding:0; }
.privacy_page li { margin-bottom:10px; color:#34415a; font-size:16px; line-height:1.9; font-weight:500; }
.privacy_page a { color:#1261d8; text-decoration:none; }
.privacy_page a:hover { text-decoration:underline; }
/*.privacy_page p:last-child { margin-top:42px; color:#5d6b82; font-size:14px; text-align:right; }*/

@media screen and (max-width: 768px) {
.privacy_page { width:min(92%, 1000px); margin:56px auto; }
.privacy_page h1 { margin-bottom:36px; }
.privacy_page h2 { margin:38px 0 14px; padding-left:14px; }
.privacy_page p { font-size:15px; line-height:1.9; }
.privacy_page li { font-size:15px; line-height:1.8; }
/*.privacy_page p:last-child { margin-top:32px; text-align:left; }*/
}



@media screen and (max-width:767px) {
br.pcbr{display:none;}
br.spbr{display:block;}
}