@charset "UTF-8";

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, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-size: 100%;font-family: inherit;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}
strong {font-weight:bold;}
ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
img{border: 0; margin:0; padding:0;}
figure{margin:0}
option,select {color: #000000;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, picture {display: block;}
img {padding:0; margin:0; vertical-align:bottom; max-width: 100%; height: auto;}
a { text-decoration:none; color: #000000; transition: .4s;}
a:hover { opacity:0.7; transition: .4s;}

@font-face {
font-family: 'AppleLiGothic';
src: url('../fonts/apligo.woff2') format(woff2);
}

:root{
--default:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
--tkd:fot-tsukuardgothic-std, sans-serif;
--aplig:'AppleLiGothic';
--green:#61A558;
}

.no-scroll {overflow: hidden!important;}

body{color:#000000; font-size: 16px; font-family:var(--default); font-weight: 400;line-height: 1.8; letter-spacing: 0;-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}

header {height: 100%; background-color: #FFF; }
header > div.header_cont {height: 100%; display: flex; justify-content: space-between; align-items: center;}
header > div.header_cont p.logo {width: 75%; }
header > div.header_cont p.logo img {max-width: 500px;}
header > div.header_cont > div.right {display: flex;}

.overlay {display: none;}

.obt {width: 336px; height: 50px;}
.obt a {width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; font-size: 20px; color: #FFF; border-radius: 40px; background-image: linear-gradient(180deg, rgba(234, 172, 59, 1), rgba(202, 97, 43, 1));box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.15); position: relative; font-weight: bold;}
.obt a:after {content: ""; width: 8px; height: 8px; border-right: 2px solid #FFF; border-bottom: 2px solid #FFF; transform: rotate(-45deg); position: absolute; right: 30px; top: calc(50% - 5px);}

.carousel_wrap {position: sticky; top: var(--header-height, 0px); z-index: 100; width: 100%;align-self: flex-start;}
.carousel {background-color: var(--green); width: 100%; padding: 15px 0px;-webkit-overflow-scrolling: touch; overflow-x: auto;}
.carousel::-webkit-scrollbar {display: none;}
.carousel ul {display: flex; justify-content: center; align-items: center; white-space: nowrap; width: max-content; min-width: 100%; margin: 0px;}
.carousel ul li {flex-shrink: 0;}
.carousel ul li a {color: #FFF; font-weight:bold; font-size: 16px; white-space: nowrap;margin: 0px 30px; display: block;}

.top_title div {box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.16);background-image: linear-gradient(145deg, rgba(249, 250, 244, 0.8) 25%, rgba(237, 237, 217, 0.8) 75%); position: relative; z-index: 2; padding: 30px 0px;}
.top_title div h1 {font-size: 38px; font-family: var(--tkd); text-align: center; line-height: 1.4;}
.top_title div h1 span {font-size: 87px;}
.top_title div h1 span em {font-size: 73px;}
.top_title div h1 span strong {color: #E0BD36;}
.top_title figure img {width: 100%;}

.top_area {padding: 100px 0px 134px; background-color: #FAF4DF;}
.top_area > div {max-width: 1200px; margin: 0px auto;}
.top_area > div > h2 {font-size: 40px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: keep-all;}
.top_area > div > h2 strong {font-size: 50px; color:var(--green);}

.top_area .area_list_wrap {position: relative; margin-top: 50px; display: flex; justify-content: flex-end;}
.top_area .area_list_wrap > picture {position: absolute; left: 0; top: -30px; z-index: 0;}
.top_area .area_list_wrap > div.area_list {position: relative; z-index: 1; max-width: 710px;}
.top_area .area_list_wrap > div.area_list ul {display: flex; flex-wrap: wrap; gap: 25px;}
.top_area .area_list_wrap > div.area_list ul li {width: calc((100% - 75px) / 4); flex-shrink: 0;box-sizing: border-box; height: 55px; border-radius: 40px; background-color: #FFF;box-shadow: 3px 3px 6px 0px rgba(209, 196, 162, 1); font-size: 29px; display: flex; justify-content: center; align-items: center;}
.top_area .area_list_wrap > div.area_list p.obt {margin: 40px auto 0px;}

.top_ba {padding: 80px 0px 100px; background-color: #FBFCF5;}
.top_ba > div {max-width: 1200px; margin: 0px auto;}
.top_ba > div > h2 {font-size: 40px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: keep-all;}
.top_ba > div > h2 strong {font-size: 50px; color:var(--green);}
.top_ba > div > p {font-size: 20px; margin-top: 20px;}
.top_ba .top_ba_list {margin-top: 20px; display: flex; justify-content: space-between; position: relative;}
.top_ba .top_ba_list:after {content: "";width: 20px; height: 56px; clip-path: polygon(0 0, 0% 100%, 100% 50%); background-color: var(--green); position: absolute; margin: auto; top: 0; right: 0; left: 0; bottom: 0;}
.top_ba .top_ba_list figure {width: 45.8%; border-radius: 10px;box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.15); background-color: #C8E0C5; box-sizing: border-box;}
.top_ba .top_ba_list figure + figure {background-color: #EF3F3F; color: #FFF; padding: 5px;}
.top_ba .top_ba_list figure figcaption {text-align: center; font-size: 26px;}
.top_ba .top_ba_list figure picture { border-radius: 0px 0px 8px 8px; overflow: hidden; aspect-ratio: 22/17;}
.top_ba .top_ba_list figure picture img {object-fit: cover; width: 100%; height: 100%;}

.top_point {padding: 80px 0px 100px;}
.top_point > div {max-width: 1200px; margin: 0px auto;}
.top_point > div > h2 {font-size: 40px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: keep-all; letter-spacing: -0.05em;}
.top_point > div > h2 strong {font-size: 50px; color:var(--green);}
.top_point .point_list {margin-top: 40px;}

.splide {visibility: visible!important;}
.splide__list { display: flex!important; gap: 30px;}
.splide__list .item {width: calc((100% - 60px) / 3); background-color: #AED5AE; padding: 36px; box-sizing: border-box; border-radius: 10px; cursor: pointer;transition: .4s;}
.splide__list .item:hover {opacity: .7;transition: .4s;}
.splide__list .item p {font-size: 52px; text-align: center; font-weight: bold; color: var(--green); line-height: 1;}
.splide__list .item picture {width: 120px; margin: 30px auto;}
.splide__list .item h3 {font-size: 20px; font-weight: bold; text-align: center; line-height: 1.5;}
.splide__list .item.none {display: none;}
.splide__arrow {background-color: #FFF!important; border: 1px solid var(--green)!important; width: 3em!important; height: 3em!important;}
.splide__arrow svg {fill: var(--green)!important;}

.modal_layer {position:fixed;inset:0;z-index:9999;display:none;}
.modal_layer.active{display:block;}
.modal_bg{position:absolute;inset:0;background:rgba(0,0,0,.6);}
.modal_box{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width: 100%; max-width:700px;max-height:85vh;display:flex;flex-direction:column;}
.modal_item{display:none;}
.modal_item.active{display:block;}
div.close {display: flex; justify-content: flex-end;}
div.closeu {display: flex; justify-content: center; margin-top: 30px;}
p.modal_close {cursor:pointer; font-size: 30px; font-weight: bold; position: absolute; right: 10px; top: 10px; line-height: 100%;}
p.modal_close:hover {opacity: .7; transition: .4s;}

.modal_content{max-width: 700px; padding: 50px; width: 100%; background-color: #B9DAB5;border-radius: 10px; position: relative; box-sizing: border-box;}
.modal_content figure picture {text-align: center;}
.modal_content figure figcaption h3 {font-size: 24px; font-weight: bold; margin-top: 20px; text-align: center; line-height: 1.4;}
.modal_content figure figcaption p {display: block; margin-top: 20px; text-align: center; font-size: 20px; line-height: 1.4;}
body.modal_open{position:fixed;width:100%;overflow:hidden;}

.top_service {padding: 80px 0px 100px; background-color: #FAF4DF;}
.top_service > div {max-width: 1200px; margin: 0px auto;}
.top_service > div > h2 {font-size: 40px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: keep-all; letter-spacing: -0.05em;}
.top_service > div > h2 strong {font-size: 50px; color:var(--green);}
.top_service .service_list {display: flex; justify-content: space-between; margin-top: 40px;}
.top_service .service_list > div {width: 45.8%; background-color: var(--green); border-radius: 10px; border: 3px solid var(--green); box-sizing: border-box;}
.top_service .service_list > div figure {background-color: #FFF; border-radius: 0px 0px 8px 8px;}
.top_service .service_list > div h3 {text-align: center; line-height: 100%; font-size: 64px; font-weight: bold; color: #FFF; padding: 15px 0px; display: flex; align-items: center; justify-content: center;}
.top_service .service_list > div h3 span{font-size: 46px;}
.top_service .service_list > div figure {padding: 15px;}
.top_service .service_list > div figure picture {max-width: 420px; margin: 0px auto;}
.top_service .service_list > div figure figcaption {margin-top: 15px;}
.top_service .service_list > div figure figcaption p.obt {margin: 0px auto;}

.top_price {padding: 80px 0px 100px; }
.top_price > div {max-width: 1200px; margin: 0px auto;}
.top_price > div > h2 {font-size: 40px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: keep-all; letter-spacing: -0.05em;}
.top_price > div > h2 strong {font-size: 50px; color:var(--green);}
.top_price > div figure {margin-top: 40px;}
.top_price > div figure figcaption {margin-top: 40px;}
.top_price > div figure figcaption h3 {background-color: var(--green); font-size: 37px; font-weight: bold; color: #FFF; text-align: center; line-height: 1.4; padding: 10px 0px;}
.top_price > div figure figcaption p.txt {font-size: 20px; margin-top: 30px;}
.top_price > div figure figcaption p.obt {margin: 50px auto 0px;}

.ftext {max-width: 1200px; margin: 0px auto 40px; background-color: #FFF; border-radius: 100px; filter: drop-shadow(0px 1px 20px rgba(0, 0, 0, .16)); position: relative; padding: 40px 0px;}
.ftext p.txt1 {text-align: center; font-size: 31px; font-weight: bold; color: var(--green);word-break: keep-all;line-height: 1.5;}
.ftext p.txt1 span {position: relative;}
.ftext p.txt1 span:before {content: ""; height: 30px; width: 3px; background-color: var(--green); position: absolute; left: -30px; top: 4px; transform: rotate(-20deg);}
.ftext p.txt1 span:after {content: ""; height: 30px; width: 3px; background-color: var(--green); position: absolute; right: -30px; top: 4px; transform: rotate(20deg);}
.ftext p.txt2 {text-align: center; font-size: 38px; font-weight: bold;word-break: keep-all; line-height: 1.5;}
.ftext:after {content: ""; width: 56px; height: 26px; background-color: #FFF; clip-path: polygon(0 0, 50% 100%, 100% 0); position: absolute; bottom: -25px; left: 0; right: 0; margin: auto;}

.consultation .head {background-color: var(--green); border-radius: 150px 150px 0px 0px; padding: 60px 0px;}
.consultation .head h2 {text-align: center; font-size: 40px; font-weight: bold; color: #FFF;}
.consultation .head p {display: flex; justify-content: center; align-items: center; line-height: 1; margin-top: 10px;}
.consultation .head p span {font-size: 60px;font-weight: bold; background-image: linear-gradient(180deg, rgba(232, 167, 58, 1), rgba(206, 106, 45, 1)); line-height: 1; border-radius: 46px; padding: 10px 38px; color: #FBFCF5;text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.15);}
.consultation .head p strong {font-size: 75px; color: #FFE96E;text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.15); margin-left: 10px;}
.consultation .head p strong em {margin: 0px -0.25em;}
.consultation .cont {background-color: #FBFCF5; padding: 60px 0px 100px;}
.consultation .cont p {text-align: center; font-size: 25px; line-height: 1.5;}
.consultation .cont > div {max-width: 1200px; background-color: #FFF; border-radius: 45px;box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.15);margin: 40px auto 0px; padding: 40px 0px;}
.consultation .cont > div figure {text-align: center;}
.consultation .cont > div ul {display: flex; justify-content: center; gap:0 35px; margin-top: 30px;}

.top_case {padding: 80px 0px 100px; background-color: #FAF4DF; overflow-x: hidden;}
.top_case > div {max-width: 1200px; margin: 0px auto;}
.top_case > div > h2 {font-size: 40px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: keep-all; letter-spacing: -0.05em;}
.top_case > div > h2 strong {font-size: 50px; color:var(--green);}
.top_case .case_list {margin-top: 40px;}
.top_case .case_list > a {display: block; position: relative;}
.top_case .case_list > a + a {margin-top: 25px;}
.top_case .item {background-color: #FFF; border-radius: 35px; box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.15);}
.top_case .item h3 {background-color: var(--green); border-radius: 35px 35px 0px 0px; font-size: 32px; color: #FFF; font-weight: bold; padding: 10px 0px; text-align: center; line-height: 1.4;}
.top_case .item h3 br {display: none;}
.top_case .item_cont {padding: 30px; display: flex; align-items: flex-start; justify-content: space-between;}
.top_case .item_cont .item_ba { width: 48.5%; display: flex; justify-content: space-between; position: relative;}
.top_case .item_cont .item_ba:after {content: "";width: 12px; height: 32px; clip-path: polygon(0 0, 0% 100%, 100% 50%); background-color: #7B7B7B; position: absolute; margin: auto; top: 0; right: 0; left: 0; bottom: 0;}
.top_case .item_cont .item_ba figure {width: 45.8%; border-radius: 10px;box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.15); background-color: #7B7B7B; box-sizing: border-box; color: #FFF;}
.top_case .item_cont .item_ba figure + figure {background-color: #EF3F3F; }
.top_case .item_cont .item_ba figure figcaption {text-align: center; font-size: 19px;}
.top_case .item_cont .item_ba figure picture { overflow: hidden; aspect-ratio: 1/1;padding: 0px 5px 5px 5px;}
.top_case .item_cont .item_ba figure picture img {object-fit: cover; width: 100%; height: 100%; border-radius: 0px 0px 8px 8px;}
.top_case .item_cont .item_info {width: 49%;}
.top_case .item_cont .item_info dl {display: flex; align-items: center; padding: 10px; border-bottom: 1px solid #DBDBDB;}
.top_case .item_cont .item_info dl:last-child {border-bottom: none;}
.top_case .item_cont .item_info dl dt {width: 100px; box-sizing: border-box; font-size: 16px; font-weight: bold;}
.top_case .item_cont .item_info dl dd {width: calc(100% - 100px); box-sizing: border-box; font-size: 16px;}
.top_case .item_cont .item_info dl.praice1 {padding: 0px 5px 10px;}
.top_case .item_cont .item_info dl.praice2 {padding: 15px 5px;}
.top_case .item_cont .item_info dl.praice1 dt,
.top_case .item_cont .item_info dl.praice2 dt {font-size: 19px;}
.top_case .item_cont .item_info dl.praice1 dd strong {font-family: var(--aplig); line-height: 0.5; letter-spacing: 0.025em; font-size:79px; color: #E9621F;}
.top_case .item_cont .item_info dl.praice1 dd span {font-size: 37px; line-height: 1; font-weight: bold;color: #E9621F;margin-left: 5px;}
.top_case .item_cont .item_info dl.praice2 dd strong {font-family: var(--aplig); line-height: 1; letter-spacing: 0.025em; font-size:47px ;}
.top_case .item_cont .item_info dl.praice2 dd span {font-size: 17px; line-height: 1; font-weight: bold;margin-left: 5px;}
.top_case .case_list > a .difference {position: absolute; left: -90px; top: -50px; width: 192px; height: 192px; background: url(../images/difference_bg.png) no-repeat; background-size: cover; display: flex; justify-content: center; align-items: center;}
.top_case .case_list > a .difference dl {color: #FFF;}
.top_case .case_list > a .difference dl dt {text-align: center; font-size: 12px; font-weight: bold;}
.top_case .case_list > a .difference dl dd strong {font-family: var(--aplig); letter-spacing: 0.05em; font-size: 37px; line-height: 1;}
.top_case .case_list > a .difference dl dd span {font-size: 17px; font-weight: bold;}
.top_case p.obt {margin: 40px auto 0px;}

.top_voice {padding: 80px 0px 100px;}
.top_voice > div {max-width: 1200px; margin: 0px auto;}
.top_voice > div > h2 {font-size: 40px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: keep-all; letter-spacing: -0.05em;}
.top_voice > div > h2 strong {font-size: 50px; color:var(--green);}
.top_voice > div > div { margin-top: 40px;}
.top_voice > div > div figure + figure {margin-top: 25px;}
.top_voice > div > div figure img {box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.15);}
.top_voice > div p.obt {margin: 40px auto 0px;}

.top_flow {padding: 80px 0px 100px; background-color: #FAF4DF;}
.top_flow > div {max-width: 1200px; margin: 0px auto;}
.top_flow > div > h2 {font-size: 40px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: keep-all; letter-spacing: -0.05em;}
.top_flow > div > h2 strong {font-size: 50px; color:var(--green);}
.top_flow > div > figure {margin-top: 40px;}
.top_flow > div > p {margin-top: 30px;}

.top_column {padding: 80px 0px 100px;}
.top_column > div {max-width: 1200px; margin: 0px auto;}
.top_column > div > h2 {font-size: 40px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: keep-all; letter-spacing: -0.05em;}
.top_column > div > h2 strong {font-size: 50px; color:var(--green);}
.top_column .column_list {margin-top: 40px; display: flex; flex-wrap: wrap; justify-content: space-between; gap:40px 0px;}
.top_column .column_list a {display: block; width: 45.8%;}
.top_column .column_list a figure {display: flex; align-items: flex-start; justify-content: space-between;}
.top_column .column_list a figure picture {width: 35.4%; aspect-ratio: 3/4; overflow: hidden;}
.top_column .column_list a figure picture img {object-fit: cover; width: 100%; height: 100%; object-position: center;}
.top_column .column_list a figure figcaption {width: 61%;}
.top_column .column_list a figure figcaption p.time {font-size: 12px;}
.top_column .column_list a figure figcaption h3 { display: -webkit-box;-webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; font-size: 20px; line-height: 1.5; font-weight: bold;}
.top_column .column_list a figure figcaption p.txt {display: -webkit-box;-webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; font-size: 16px; line-height: 1.5; margin-top: 40px;}
.top_column .column_list a figure figcaption ul {display: flex; gap: 5px 10px; flex-wrap: wrap; margin-top: 30px;}
.top_column .column_list a figure figcaption ul li {background-color: #104478; border-radius: 15px;}
.top_column .column_list a figure figcaption ul li span {font-size: 16px; color: #FFF; padding: 3px 15px; line-height: 1;}
.top_column > div p.obt {margin: 70px auto 0px;}

.top_note {background-color: #FFE200; padding: 16px 0px; background-image: url(../images/note_bg.png),url(../images/note_bg.png); background-repeat: repeat-x; background-position: top left, bottom left;}
.top_note .note_cont {background-color: #40402F;}
.top_note .note_cont > div {max-width: 1200px; margin: 0px auto; padding: 50px 0px 30px;}
.top_note .note_cont > div h2 {font-size: 40px; text-align: center; color: #FFE201;word-break: keep-all; line-height: 1.5;}
.top_note .note_cont > div h3 {text-align: center; margin-top: 20px;}
.top_note .note_cont > div p {font-size: 20px; margin-top: 40px; line-height: 1.5; color: #FFF;}


.top_faq {padding: 80px 0px 100px;}
.top_faq > div {max-width: 1200px; margin: 0px auto;}
.top_faq > div > h2 {font-size: 40px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: keep-all; letter-spacing: -0.05em;}
.top_faq > div > h2 strong {font-size: 50px; color:var(--green);}
.top_faq .faq_cont {margin-top: 40px;}
.top_faq .faq_cont dl {box-shadow: 3px 3px 20px 0px rgba(0, 0, 0, 0.15); background-color: #FFF; padding: 15px; position: relative;}
.top_faq .faq_cont dl:after {content: ""; width: 12px; height: 12px; border-right: 3px solid #7C7C7C; border-bottom: 3px solid #7C7C7C; transform: rotate(45deg); position: absolute; right: 50px; top: 45px; transition: .4s;}
.top_faq .faq_cont dl.active:after {transform: rotate(-135deg); transition: .4s;}
.top_faq .faq_cont dl + dl {margin-top: 20px;}
.top_faq .faq_cont dl dt {display: flex; align-items: flex-start; padding-right: 100px; font-size: 20px; line-height: 1.5; font-weight: bold;}
.top_faq .faq_cont dl dt span {padding-top: 28px;}
.top_faq .faq_cont dl dt:before {content: "Q"; font-family: var(--aplig); font-size: 37px; color: #4E9451; width: 76px; height: 76px; border-radius: 100%; background-color: #FAF4DF; display: flex; justify-content: center; align-items: center; line-height: 1; margin-right: 35px; flex-shrink: 0;}
.top_faq .faq_cont dl dd {display:none; padding-top: 30px;}
.top_faq .faq_cont dl dd div {display: flex; align-items: flex-start; font-size: 20px; line-height: 1.5;}
.top_faq .faq_cont dl dd div:before {content: "A"; font-family: var(--aplig); font-size: 37px; color: #E37850; width: 76px; height: 76px; border-radius: 100%; background-color: #FAF4DF; display: flex; justify-content: center; align-items: center; line-height: 1; margin-right: 35px; flex-shrink: 0;}
.top_faq .faq_cont dl dd div span {padding-top: 28px;}
.top_faq > div p.obt {margin: 70px auto 0px;}

.top_company {padding: 80px 0px 100px; background-color: #FAF4DF;}
.top_company > div {max-width: 680px; margin: 0px auto;}
.top_company > div > h2 {font-size: 40px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: keep-all; letter-spacing: -0.05em;}
.top_company > div > h2 strong {font-size: 50px; color:var(--green);}
.top_company .company_info {margin-top: 40px;}
.top_company .company_info dl {display: flex;}
.top_company .company_info dl dt {width: 150px; flex-shrink: 0; padding: 24px; text-align: center; font-weight: bold;border-bottom: 2px solid var(--green); display: flex; justify-content: center; align-items: center;}
.top_company .company_info dl dd {width: calc(100% - 150px); padding: 24px; border-bottom: 2px solid #c1c7c6;}


.fixed_bt_pc {position: fixed; z-index:200; right: 0; bottom: 0; width: 100%;}
.fixed_bt_pc ul {display: flex;}
.fixed_bt_pc ul li {width: calc(100% / 3); height: 50px; border-right: 1px solid #61A558;}
.fixed_bt_pc ul li.tel_pc {border-right: none;}
.fixed_bt_pc ul li a {display: flex; width: 100%; height: 100%; justify-content: center; align-items: center; background-color: #FFF; padding: 0px 20px; box-sizing: border-box; position: relative;}
.fixed_bt_pc ul li a:after {content: ""; width: 7px; height: 7px; border-right: 2px solid #7C7C7C; border-bottom: 2px solid #7C7C7C; transform: rotate(-45deg); position: absolute; right: 10px; top: calc(50% - 6px); transition: .4s;}
.fixed_bt_pc ul li a dl {display: flex; align-items: center;}
.fixed_bt_pc ul li a dl dt {line-height: 1;}
.fixed_bt_pc ul li a dl dd {line-height: 1; margin-left: 5px;}
.fixed_bt_pc ul li a dl dd strong {font-size: 16px; font-weight: bold;}
.fixed_bt_pc ul li a dl dd span {font-size: 12px; font-weight: bold; line-height: 1.2;}
.fixed_bt_pc ul li.mail_pc a {color: #E95E1F;}
.fixed_bt_pc ul li.mail_pc a:after {border-color: #E95E1F;}
.fixed_bt_pc ul li.line_pc a {color: #2DC056;}
.fixed_bt_pc ul li.line_pc a:after {border-color: #2DC056;}
.fixed_bt_pc ul li.tel_pc a {color: #121A4A;}
.fixed_bt_pc ul li.tel_pc a:after {border-color: #121A4A;}
.fixed_bt_pc ul li.tel_pc a dl dt {display: flex; align-items: center;}
.fixed_bt_pc ul li.tel_pc a dl dt span {font-family: var(--aplig); font-size: 42px; line-height: 1; margin-left: 10px;}


.fixed_bt_sp {display: none;}

.pagetop {width: 80px; height: 80px; position: fixed; right: 0; bottom: 60px; z-index: 20; right: 50px; opacity: 0; pointer-events: none; transition: opacity 0.5s ease;}
.pagetop a {display: block; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; font-size: 15px; text-align: center; color: #FFF; background-color: var(--green); border-radius: 10px; line-height: 1.5;}
.pagetop.show {opacity: 1; pointer-events: auto;}

footer {background-color: #FFF;padding-bottom: 50px;}
footer .sns { max-width: 1200px; margin: 0px auto; padding: 50px 0px 30px; border-bottom: 1px solid #CCC;}
footer .sns > p {font-size: 20px; text-align: center;}
footer .sns > ul {display: flex; justify-content: center; align-items: center;}
footer .sns > ul li.insta {width: 100px;}
footer .sns > ul li.fb {width: 100px;}
footer .sns > ul li a {display: block;}
footer .footer_info {max-width: 1200px; margin: 0px auto; padding:70px 0px 60px;}
footer > p.copy {background-color: var(--green); padding: 10px 0px; font-size: 10px; text-align: center; color: #FFF;}

.middle_title {height: 486px; background: url(../images/middle_title_bg.webp) no-repeat; background-position: bottom center; background-size: cover; display: flex; justify-content: center; align-items: center; padding: 0px 20px; width: 100%; box-sizing: border-box; overflow-x: hidden;}
.middle_title .title > h1 {text-align: center; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break:break-all; letter-spacing: -0.05em;}
.middle_title .title > h1 span {font-size: 38px;}
.middle_title .title > h1 strong {font-size: 87px; color:var(--green); line-height: 1.2;}
.middle_title .title > h1 strong em {color: #000000;}

.breadcrumbs_wrap {width: 100%;}
.breadcrumbs {max-width: 1200px; margin: 0px auto; padding: 68px 0px;}
.breadcrumbs ol {display: flex;}
.breadcrumbs ol li {font-size: 16px; display: flex;}
.breadcrumbs ol li:after {content: "＞"; margin: 0px 0.5em;}
.breadcrumbs ol li:last-child:after {content: none;}
.breadcrumbs ol li a {font-size: 16px;}
.breadcrumbs ol li:last-child span {overflow: hidden;text-overflow: ellipsis; white-space: nowrap;display: block;}
.breadcrumbs ol li:last-child {min-width: 0;flex: 1;}

.pagination_cont {margin-top: 80px;}
.pagination_cont .pagination {display: flex; justify-content: center; align-items: center; gap: 0px 5px; flex-wrap: wrap;}
.pagination_cont .pagination a,.pagination_cont .pagination span {width: 37px; height: 37px; border-radius: 100%; display: flex; justify-content: center; align-items: center; line-height: 1; font-weight: bold;}
.pagination_cont .pagination .prev {margin-right: 40px;}
.pagination_cont .pagination .next {margin-left: 40px;}
.pagination_cont .pagination .prev a,.pagination_cont .pagination .next a {background-color:#C8E0C5 ; }
.pagination_cont .pagination .current span {background-color: var(--green); color: #FFF;}
.pagination_cont .pagination .page-number:hover a {background-color: var(--green); color: #FFF;}

@media only screen and (max-width:1600px){
.fixed_bt_pc ul li {width: 33%; height: 50px;}
.fixed_bt_pc ul li:last-child {width: 54%;}
}
@media only screen and (max-width:1300px){
.top_case .case_list > a .difference {position: absolute; left: -0px; top: -90px; width: 192px; height: 192px; background: url(../images/difference_bg.png) no-repeat; background-size: cover; display: flex; justify-content: center; align-items: center;}

}
@media only screen and (max-width:1200px){
.carousel ul {justify-content: flex-start;}
.carousel ul li a {margin: 0px 20px;}

.top_area {padding: 100px 20px 134px; background-color: #FAF4DF;}

.top_ba {padding: 80px 20px 100px; background-color: #FBFCF5;}

.top_point > div > h2 {font-size: 40px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: break-all; letter-spacing: -0.05em; padding: 0px 20px;}

.top_service {padding: 80px 20px 100px; background-color: #FAF4DF;}
.top_service .service_list > div {width: 48%;}

.top_price {padding: 80px 20px 100px; }

.top_case {padding: 80px 20px 100px; background-color: #FAF4DF; overflow-x: hidden;}

.top_voice {padding: 80px 20px 100px;}
.top_voice > div > h2 {font-size: 40px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: break-all; letter-spacing: -0.05em;}
.top_voice > div > div figure picture {text-align: center;}

.top_flow {padding: 80px 20px 100px; background-color: #FAF4DF;}
.top_flow > div > h2 {font-size: 40px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: break-all; letter-spacing: -0.05em;}

.top_column {padding: 80px 20px 100px;}

.top_note .note_cont > div {max-width: 1200px; margin: 0px auto; padding: 50px 20px 30px;}

.top_faq {padding: 80px 20px 100px;}
.top_faq > div > h2 {font-size: 40px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: break-all; letter-spacing: -0.05em;}

.ftext {max-width: 1200px; margin: 0px 20px 40px; background-color: #FFF; border-radius: 100px; filter: drop-shadow(0px 1px 20px rgba(0, 0, 0, .16)); position: relative; padding: 40px 40px;}
.ftext p.txt1 span:before {content: ""; height: 0px; width: 3px; background-color: var(--green); position: absolute; left: -30px; top: 4px; transform: rotate(-20deg);}
.ftext p.txt1 span:after {content: ""; height: 0px; width: 3px; background-color: var(--green); position: absolute; right: -30px; top: 4px; transform: rotate(20deg);}

.breadcrumbs {max-width: 1200px; margin: 0px auto; padding: 38px 20px;}

.fixed_bt_pc ul li a {padding: 0px 10px;}
.fixed_bt_pc ul li a:after {right: 10px;}


}

@media only screen and (max-width:1100px){
.top_case .case_list > a .difference {position: absolute; left: -20px; top: -50px; width: 113px; height: 113px; background: url(../images/difference_bg.png) no-repeat; background-size: cover; display: flex; justify-content: center; align-items: center;}
.top_case .case_list > a .difference dl {color: #FFF;}
.top_case .case_list > a .difference dl dt {text-align: center; font-size: 10px; font-weight: bold;}
.top_case .case_list > a .difference dl dd strong {font-family: var(--aplig); letter-spacing: 0.05em; font-size: 23px; line-height: 1;}
.top_case .case_list > a .difference dl dd span {font-size: 10px; font-weight: bold;}


.fixed_bt_pc ul li {width: 33%; height: 50px;}
.fixed_bt_pc ul li:last-child {width: 54%;}
.fixed_bt_pc ul li a dl dt picture {width:fit-content;}
.fixed_bt_pc ul li a dl dt img {width: 90%;}
.fixed_bt_pc ul li a dl dd strong {font-size: 14px; font-weight: bold;}
.fixed_bt_pc ul li a dl dd span {font-size: 10px; font-weight: bold; line-height: 1;}
.fixed_bt_pc ul li.tel_pc a dl dt span {font-family: var(--aplig); font-size: 32px; line-height: 1; margin-left: 10px;}

}

@media only screen and (max-width:1000px){
.top_title div h1 {font-size: 28px; font-family: var(--tkd); text-align: center; line-height: 1.4;}
.top_title div h1 span {font-size: 67px;}
.top_title div h1 span em {font-size: 53px;}
}

@media only screen and (max-width:940px){
.fixed_bt_pc {display: none;}
.fixed_bt_sp {display: block; position: fixed; bottom: 0; z-index: 600; width: 100%;}
.fixed_bt_sp ul {display: flex;}
.fixed_bt_sp ul li {width: calc(100% / 3); height: 80px;}
.fixed_bt_sp ul li a {display: block; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;}
.fixed_bt_sp ul li a.mail {background-color: #ED6A02;}
.fixed_bt_sp ul li a.line {background-color: #64A561;}
.fixed_bt_sp ul li a.tel {background-color: #0F1263;}
.fixed_bt_sp ul li a img {width: 34px;}
.fixed_bt_sp ul li a p {font-size: 14px; color: #FFF; font-weight: bold; line-height: 1.3; margin-left: 1em;}

.pagetop {bottom: 100px;}

footer {background-color: #FFF; padding-bottom: 80px;}

}

@media only screen and (max-width:900px){
header {height: auto; background-color: #FFF; position: relative;}
header > div.header_cont > div.right {display: none;}
.no-scroll {height: 100vh;}
.overlay,.hamburger_icon,.hamburger_icon:after,.hamburger_icon:before{-moz-transition-duration:.4s;-o-transition-duration:.4s;-webkit-transition-duration:.4s;}
.hamburger{ display: block; width: 36px; height: 36px; border-radius: 50%; cursor: pointer; position: absolute; right: 14px; top: calc(50% - 17px); z-index: 10;}
.hamburger_icon{position:relative;margin: 19px 0px 0px 8px; z-index:10000;}
.hamburger:hover {opacity: 1;}
.hamburger_icon,.hamburger_icon:after,.hamburger_icon:before{display:block;width:20px;height:3px;background-color:#1D1D1D;-moz-transition-property:background-color,-moz-transform;-o-transition-property:background-color,-o-transform;-webkit-transition-property:background-color,-webkit-transform;transition-property:background-color,transform;transition-duration:.4s;border-radius: 5px;}
.hamburger_icon:after,.hamburger_icon:before{position:absolute;content:"";}
.hamburger_icon:before{top:-8px}
.hamburger_icon:after{top:8px}
.hamburger.active { z-index:10000;}
.hamburger.active .hamburger_icon{background-color:transparent}
.hamburger.active .hamburger_icon:after,.hamburger.active .hamburger_icon:before{background-color:#FFF;}
.hamburger.active .hamburger_icon:before{-moz-transform:translateY(8px)rotate(45deg);-ms-transform:translateY(8px)rotate(45deg);-webkit-transform:translateY(8px)rotate(45deg);transform:translateY(8px)rotate(45deg)}
.hamburger.active .hamburger_icon:after{-moz-transform:translateY(-8px)rotate(-45deg);-ms-transform:translateY(-8px)rotate(-45deg);-webkit-transform:translateY(-8px)rotate(-45deg);transform:translateY(-8px)rotate(-45deg)}

.overlay{top:0px;left:0;position:fixed;display:none;width:100%;height:100%;min-height:100vh;background:var(--green);-moz-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-webkit-transition-property:-webkit-transform;transition-property:transform;transition-duration:.2s;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch; z-index:500;}
.overlay_wrapper {width:100%;height:100%; margin:0px;  box-sizing:border-box; background-size: cover;}
.overlay.active {-moz-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);}
.overlay_wrapper > div {height: 100%; display: flex; justify-content: center; padding-top: 20%;}
.overlay_wrapper > div > ul {text-align: center;}
.overlay_wrapper > div > ul li + li {margin-top: 10px;}
.overlay_wrapper > div > ul li a {color: #FFF; font-weight: bold;}

.top_service .service_list > div figure figcaption p.obt {margin: 0px auto; width: 100%;}
.top_service .service_list > div h3 {text-align: center; line-height: 100%; font-size: 34px; font-weight: bold; color: #FFF; padding: 15px 0px; display: flex; align-items: center; justify-content: center;}
.top_service .service_list > div h3 span{font-size: 26px;}

.top_column > div > h2 {font-size: 40px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: break-all; letter-spacing: -0.05em;}

.consultation .cont {background-color: #FBFCF5; padding: 60px 20px 100px;}
.consultation .cont p {text-align: center; font-size: 25px; line-height: 1.5;}
.consultation .cont > div {max-width: 1200px; background-color: #FFF; border-radius: 45px;box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.15);margin: 40px auto 0px; padding: 40px 0px;}
.consultation .cont > div figure {text-align: center;}
.consultation .cont > div ul {display: flex; justify-content: center; gap:0 5px; margin-top: 30px;}

}

@media only screen and (max-width:768px){

.top_title div h1 {font-size: 18px; font-family: var(--tkd); text-align: center; line-height: 1.4;}
.top_title div h1 span {font-size: 47px;}
.top_title div h1 span em {font-size: 33px;}

.top_area .area_list_wrap {display: flex; flex-direction: column;}
.top_area .area_list_wrap > div.area_list {position: relative; z-index: 1; max-width:100%; display: contents;}
.top_area > div > h2 {font-size: 40px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: break-all;}
.top_area .area_list_wrap > div.area_list ul {gap:15px; order: 1; position: relative;z-index: 1;}
.top_area .area_list_wrap > div.area_list ul li {width: calc((100% - 45px) / 4); font-size: 20px;}
.top_area .area_list_wrap > picture {position: relative; left: 0; top: 0px; z-index: 0; text-align: center; order: 2; margin-top: -80px;}
.top_area .area_list_wrap > div.area_list p.obt {order: 3;}

.top_ba > div > h2 {font-size: 40px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: break-all;}
.top_ba .top_ba_list {margin-top: 20px; display: flex; flex-direction: column; justify-content: space-between; position: relative;}
.top_ba .top_ba_list:after {content: "";width: 26px; height: 9px; clip-path: polygon(0 0, 50% 100%, 100% 0%); background-color: var(--green); position: absolute; margin: auto; top: 0; right: 0; left: 0; bottom: 0;}
.top_ba .top_ba_list figure {width: 100%; border-radius: 10px;box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.15); background-color: #C8E0C5; box-sizing: border-box;}
.top_ba .top_ba_list figure + figure {background-color: #EF3F3F; color: #FFF; padding: 5px; margin-top: 30px;}

.splide__list .item {width: auto;}
.splide__list .item.none {display: block;}
.splide__list { display: flex!important; gap: 0px;}

.modal_box {padding: 0px 20px; box-sizing: border-box;}

.top_service .service_list {display: flex; flex-direction: column; justify-content: space-between; margin-top: 40px;}
.top_service .service_list > div {width: 100%; background-color: var(--green); border-radius: 10px; border: 3px solid var(--green); box-sizing: border-box;}
.top_service .service_list > div + div {margin-top: 20px;}
.top_service .service_list > div figure figcaption p.obt {margin: 0px auto; width: 332px;}

.top_case .item_cont {padding: 30px; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between;}
.top_case .item_cont .item_ba { width: 100%; display: flex; justify-content: space-between; position: relative;}
.top_case .item_cont .item_info {width: 100%; margin-top: 30px;}
.top_case .item h3 {line-height: 1.3;}
.top_case .item h3 br {display: block;}

.ftext p.txt1 {text-align: center; font-size: 16px; font-weight: bold; color: var(--green);word-break: keep-all;line-height: 1.5;}
.ftext p.txt2 {text-align: center; font-size: 20px; font-weight: bold;word-break: keep-all; line-height: 1.5;}

.top_column .column_list {margin-top: 40px; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; gap:40px 0px;}
.top_column .column_list a {display: block; width: 100%;}

.consultation .head {background-color: var(--green); border-radius: 70px 70px 0px 0px; padding: 40px 0px;}
.consultation .head h2 {text-align: center; font-size: 20px; font-weight: bold; color: #FFF;}
.consultation .head p {display: flex; justify-content: center; align-items: center; line-height: 1; margin-top: 10px;}
.consultation .head p span {font-size: 30px;font-weight: bold; background-image: linear-gradient(180deg, rgba(232, 167, 58, 1), rgba(206, 106, 45, 1)); line-height: 1; border-radius: 46px; padding: 10px 38px; color: #FBFCF5;text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.15);}
.consultation .head p strong {font-size: 38px; color: #FFE96E;text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.15); margin-left: 10px;}

.pagetop {width: 70px; height: 70px; position: fixed; right: 0; bottom: 100px; z-index: 20; right: 20px; opacity: 0; pointer-events: none; transition: opacity 0.5s ease; font-size: 14px;}
.pagetop a {border-radius: 100%; line-height: 1.4;}

}

@media only screen and (max-width:500px){
header {height: 70px;}
header > div.header_cont {height: 100%;}
header > div.header_cont p.logo {width: auto; height: 100%; }
header > div.header_cont p.logo img {max-width: 500px; height: 100%;}

.carousel {padding: 10px 0px;}
.carousel ul li a {font-size: 14px; margin: 0px 15px;}

.top_title div {box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.16);background-image: linear-gradient(145deg, rgba(249, 250, 244, 0.8) 25%, rgba(237, 237, 217, 0.8) 75%); position: relative; z-index: 2; padding: 15px 0px 10px;}
.top_title div h1 {font-size: 14px; font-family: var(--tkd); text-align: center; line-height: 1.4;}
.top_title div h1 span {font-size: 33px;}
.top_title div h1 span em {font-size: 28px;}

.top_area {padding: 50px 20px 60px; background-color: #FAF4DF;}
.top_area > div {max-width: 1200px; margin: 0px auto;}
.top_area > div > h2 {font-size: 18px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: break-all;}
.top_area > div > h2 strong {font-size: 28px; color:var(--green);}

.top_area .area_list_wrap {position: relative; margin-top: 30px; display: flex; justify-content: flex-end;}
.top_area .area_list_wrap > div.area_list {position: relative; z-index: 1; max-width: 710px;}
.top_area .area_list_wrap > div.area_list ul {display: flex; flex-wrap: wrap; gap: 12px;}
.top_area .area_list_wrap > div.area_list ul li {width: calc((100% - 24px) / 3); flex-shrink: 0;box-sizing: border-box; height: 43px; border-radius: 40px; background-color: #FFF;box-shadow: 3px 3px 6px 0px rgba(209, 196, 162, 1); font-size: 17px; display: flex; justify-content: center; align-items: center;}
.top_area .area_list_wrap > div.area_list p.obt {margin: 20px auto 0px; width: 100%;}

.top_ba {padding: 40px 20px 50px; background-color: #FBFCF5;}
.top_ba > div {max-width: 1200px; margin: 0px auto;}
.top_ba > div > h2 {font-size: 18px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: break-all;}
.top_ba > div > h2 strong {font-size: 28px; color:var(--green);}
.top_ba > div > p {font-size: 16px; margin-top: 20px;}
.top_ba .top_ba_list {margin-top: 20px; display: flex; flex-direction: column; justify-content: space-between; position: relative;}
.top_ba .top_ba_list:after {content: "";width: 26px; height:9px; clip-path: polygon(0 0, 50% 100%, 100% 0%); background-color: var(--green); position: absolute; margin: auto; top: 0; right: 0; left: 0; bottom: 0;}
.top_ba .top_ba_list figure {width: 100%; border-radius: 10px;box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.15); background-color: #C8E0C5; box-sizing: border-box;}
.top_ba .top_ba_list figure + figure {background-color: #EF3F3F; color: #FFF; padding: 5px; margin-top: 30px;}
.top_ba .top_ba_list figure figcaption {text-align: center; font-size: 16px;}
.top_ba .top_ba_list figure picture { border-radius: 0px 0px 8px 8px; overflow: hidden; aspect-ratio: 22/17;}
.top_ba .top_ba_list figure picture img {object-fit: cover; width: 100%; height: 100%;}

.top_point {padding: 40px 0px 50px;}
.top_point > div > h2 {font-size: 18px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: break-all; letter-spacing: -0.05em; padding: 0px 20px;}
.top_point > div > h2 strong {font-size:28px; color:var(--green);}
.top_point .point_list {margin-top: 20px;}

.top_service {padding: 40px 20px 50px; background-color: #FAF4DF;}
.top_service > div {max-width: 1200px; margin: 0px auto;}
.top_service > div > h2 {font-size: 18px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: keep-all; letter-spacing: -0.05em;}
.top_service > div > h2 strong {font-size: 28px; color:var(--green);}
.top_service .service_list {display: flex; flex-direction: column; justify-content: space-between; margin-top: 20px;}
.top_service .service_list > div {width: 100%; background-color: var(--green); border-radius: 10px; border: 3px solid var(--green); box-sizing: border-box;}
.top_service .service_list > div figure {background-color: #FFF; border-radius: 0px 0px 8px 8px;}
.top_service .service_list > div h3 {text-align: center; line-height: 100%; font-size: 34px; font-weight: bold; color: #FFF; padding: 15px 0px; display: flex; align-items: center; justify-content: center;}
.top_service .service_list > div h3 span{font-size: 26px;}
.top_service .service_list > div figure {padding: 15px;}
.top_service .service_list > div figure picture {max-width: 420px; margin: 0px auto;}
.top_service .service_list > div figure figcaption {margin-top: 15px;}
.top_service .service_list > div figure figcaption p.obt {margin: 0px auto; width: 218px; height: 32px;}
.top_service .service_list > div figure figcaption p.obt a {font-size: 14px;}

.top_price {padding: 40px 20px 50px; }
.top_price > div {max-width: 1200px; margin: 0px auto;}
.top_price > div > h2 {font-size: 18px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: keep-all; letter-spacing: -0.05em;}
.top_price > div > h2 strong {font-size: 28px; color:var(--green);}
.top_price > div figure {margin-top: 20px;}
.top_price > div figure figcaption {margin-top: 20px;}
.top_price > div figure figcaption h3 {background-color: var(--green); font-size: 20px; font-weight: bold; color: #FFF; text-align: center; line-height: 1.4; padding: 10px 0px;}
.top_price > div figure figcaption p.txt {font-size: 16px; margin-top: 20px;}
.top_price > div figure figcaption p.obt {margin: 30px auto 0px; width: 100%;}


.top_case {padding: 40px 20px 50px; background-color: #FAF4DF; overflow-x: hidden;}
.top_case > div {max-width: 1200px; margin: 0px auto;}
.top_case > div > h2 {font-size: 18px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: keep-all; letter-spacing: -0.05em;}
.top_case > div > h2 strong {font-size: 28px; color:var(--green);}
.top_case .case_list {margin-top: 42px;}
.top_case .case_list > a {display: block; position: relative;}
.top_case .case_list > a + a {margin-top: 30px;}
.top_case .item {background-color: #FFF; border-radius: 35px; box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.15);}
.top_case .item h3 {background-color: var(--green); border-radius: 35px 35px 0px 0px; font-size: 20px; color: #FFF; font-weight: bold; padding: 15px 0px; text-align: center; line-height: 1.3;}
.top_case .item h3 br {display: block;}
.top_case .item_cont {padding: 15px; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between;}
.top_case .item_cont .item_ba { width: 100%; display: flex; justify-content: space-between; position: relative;}
.top_case .item_cont .item_ba:after {content: "";width: 12px; height: 32px; clip-path: polygon(0 0, 0% 100%, 100% 50%); background-color: #7B7B7B; position: absolute; margin: auto; top: 0; right: 0; left: 0; bottom: 0;}
.top_case .item_cont .item_ba figure {width: 45.8%; border-radius: 10px;box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.15); background-color: #7B7B7B; box-sizing: border-box; color: #FFF;}
.top_case .item_cont .item_ba figure + figure {background-color: #EF3F3F; }
.top_case .item_cont .item_ba figure figcaption {text-align: center; font-size: 12px;}
.top_case .item_cont .item_ba figure picture { overflow: hidden; aspect-ratio: 1/1;padding: 0px 5px 5px 5px;}
.top_case .item_cont .item_ba figure picture img {object-fit: cover; width: 100%; height: 100%; border-radius: 0px 0px 8px 8px;}
.top_case .item_cont .item_info {width:100%; margin-top: 30px;}
.top_case .item_cont .item_info dl {display: flex; align-items: center; padding: 10px; border-bottom: 1px solid #DBDBDB;}
.top_case .item_cont .item_info dl:last-child {border-bottom: none;}
.top_case .item_cont .item_info dl dt {width: 80px; box-sizing: border-box; font-size: 12px; font-weight: bold;}
.top_case .item_cont .item_info dl dd {width: calc(100% - 80px); box-sizing: border-box; font-size: 12px;}
.top_case .item_cont .item_info dl.praice1 {padding: 0px 5px 10px;}
.top_case .item_cont .item_info dl.praice2 {padding: 15px 5px;}
.top_case .item_cont .item_info dl.praice1 dt,
.top_case .item_cont .item_info dl.praice2 dt {font-size: 15px;}
.top_case .item_cont .item_info dl.praice1 dd strong {font-family: var(--aplig); line-height: 0.5; letter-spacing: 0.025em; font-size:65px; color: #E9621F;}
.top_case .item_cont .item_info dl.praice1 dd span {font-size: 30px; line-height: 1; font-weight: bold;color: #E9621F;margin-left: 5px;}
.top_case .item_cont .item_info dl.praice2 dd strong {font-family: var(--aplig); line-height: 1; letter-spacing: 0.025em; font-size:38px ;}
.top_case .item_cont .item_info dl.praice2 dd span {font-size: 14px; line-height: 1; font-weight: bold;margin-left: 5px;}
.top_case .case_list > a .difference {position: absolute; left: -20px; top: -50px; width: 113px; height: 113px; background: url(../images/difference_bg.png) no-repeat; background-size: cover; display: flex; justify-content: center; align-items: center;}
.top_case .case_list > a .difference dl {color: #FFF;}
.top_case .case_list > a .difference dl dt {text-align: center; font-size: 10px; font-weight: bold;}
.top_case .case_list > a .difference dl dd strong {font-family: var(--aplig); letter-spacing: 0.05em; font-size: 23px; line-height: 1;}
.top_case .case_list > a .difference dl dd span {font-size: 10px; font-weight: bold;}
.top_case p.obt {margin: 30px auto 0px; width: 100%;}

.top_voice {padding: 40px 20px 50px;}
.top_voice > div {max-width: 1200px; margin: 0px auto;}
.top_voice > div > h2 {font-size: 18px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: break-all; letter-spacing: -0.05em;}
.top_voice > div > h2 strong {font-size: 28px; color:var(--green);}
.top_voice > div > div { margin-top: 20px;}
.top_voice > div > div figure + figure {margin-top: 15px;}
.top_voice > div > div figure img {box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.15);}
.top_voice > div p.obt {margin: 20px auto 0px; width: 100%;}

.top_flow {padding: 40px 20px 50px; background-color: #FAF4DF;}
.top_flow > div {max-width: 1200px; margin: 0px auto;}
.top_flow > div > h2 {font-size: 18px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: break-all; letter-spacing: -0.05em;}
.top_flow > div > h2 strong {font-size: 28px; color:var(--green);}
.top_flow > div > figure {margin-top: 20px;}
.top_flow > div > p {margin-top: 20px; font-size: 10px;}

.top_column {padding: 40px 20px 50px;}
.top_column > div {max-width: 1200px; margin: 0px auto;}
.top_column > div > h2 {font-size: 18px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: break-all; letter-spacing: -0.05em;}
.top_column > div > h2 strong {font-size: 28px; color:var(--green);}
.top_column .column_list {margin-top: 20px; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; gap:20px 0px;}
.top_column .column_list a {display: block; width: 100%;}
.top_column .column_list a figure {display: flex; align-items: flex-start; justify-content: space-between;}
.top_column .column_list a figure picture {width: 35.4%; aspect-ratio: 3/4; overflow: hidden;}
.top_column .column_list a figure picture img {object-fit: cover; width: 100%; height: 100%; object-position: center;}
.top_column .column_list a figure figcaption {width: 61%;}
.top_column .column_list a figure figcaption p.time {font-size: 12px;}
.top_column .column_list a figure figcaption h3 { display: -webkit-box;-webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; font-size: 16px; line-height: 1.5; font-weight: bold;}
.top_column .column_list a figure figcaption p.txt {display: -webkit-box;-webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; font-size: 12px; line-height: 1.5; margin-top: 20px;}
.top_column .column_list a figure figcaption ul {display: flex; gap: 5px 10px; flex-wrap: wrap; margin-top: 15px;}
.top_column .column_list a figure figcaption ul li {background-color: #104478; border-radius: 15px; line-height: 1;}
.top_column .column_list a figure figcaption ul li span {font-size: 10px; color: #FFF; padding: 5px 15px; line-height: 1; display: block;}
.top_column > div p.obt {margin: 35px auto 0px; width: 100%;}

.top_note .note_cont > div {max-width: 1200px; margin: 0px auto; padding: 25px 20px 25px;}
.top_note .note_cont > div h2 {font-size: 18px; text-align: center; color: #FFE201;word-break: keep-all; line-height: 1.5;}
.top_note .note_cont > div h3 {text-align: center; margin-top: 20px;}
.top_note .note_cont > div p {font-size: 16px; margin-top: 20px; line-height: 1.5; color: #FFF;}

.top_faq {padding: 50px 20px 50px;}
.top_faq > div > h2 {font-size: 28px; font-family: var(--tkd); text-align: center; line-height: 1.3;word-break: break-all; letter-spacing: -0.05em;}
.top_faq > div > h2 strong {font-size: 28px; color:var(--green);}
.top_faq .faq_cont {margin-top: 24px;}
.top_faq .faq_cont dl {box-shadow: 3px 3px 20px 0px rgba(0, 0, 0, 0.15); background-color: #FFF; padding: 15px; position: relative;}
.top_faq .faq_cont dl:after {content: ""; width: 12px; height: 12px; border-right: 3px solid #7C7C7C; border-bottom: 3px solid #7C7C7C; transform: rotate(45deg); position: absolute; right: 50px; top: 45px; transition: .4s;}
.top_faq .faq_cont dl.active:after {transform: rotate(-135deg); transition: .4s;}
.top_faq .faq_cont dl + dl {margin-top: 20px;}
.top_faq .faq_cont dl dt {display: flex; align-items: flex-start; padding-right: 100px; font-size: 16px; line-height: 1.5; font-weight: bold;}
.top_faq .faq_cont dl dt span {padding-top: 18px;}
.top_faq .faq_cont dl dt:before {content: "Q"; font-family: var(--aplig); font-size: 37px; color: #4E9451; width: 76px; height: 76px; border-radius: 100%; background-color: #FAF4DF; display: flex; justify-content: center; align-items: center; line-height: 1; margin-right: 25px; flex-shrink: 0;}
.top_faq .faq_cont dl dd {display:none; padding-top: 30px;}
.top_faq .faq_cont dl dd div {display: flex; align-items: flex-start; font-size:16px; line-height: 1.5;}
.top_faq .faq_cont dl dd div:before {content: "A"; font-family: var(--aplig); font-size: 37px; color: #E37850; width: 76px; height: 76px; border-radius: 100%; background-color: #FAF4DF; display: flex; justify-content: center; align-items: center; line-height: 1; margin-right: 25px; flex-shrink: 0;}
.top_faq .faq_cont dl dd div span {padding-top: 18px;}
.top_faq > div p.obt {margin: 35px auto 0px;width: 100%;}

.ftext {max-width: 1200px; margin: 0px 20px 20px; background-color: #FFF; border-radius: 100px; filter: drop-shadow(0px 1px 20px rgba(0, 0, 0, .16)); position: relative; padding: 20px 20px;}
.ftext p.txt1 {text-align: center; font-size: 12px; font-weight: bold; color: var(--green);word-break: keep-all;line-height: 1.5;}
.ftext p.txt2 {text-align: center; font-size: 16px; font-weight: bold;word-break: keep-all; line-height: 1.5;}
.ftext:after {content: ""; width: 16px; height: 15px; background-color: #FFF; clip-path: polygon(0 0, 50% 100%, 100% 0); position: absolute; bottom: -13px; left: 0; right: 0; margin: auto;}

.consultation .head {background-color: var(--green); border-radius: 50px 50px 0px 0px; padding: 20px 0px;}
.consultation .head h2 {text-align: center; font-size: 14px; font-weight: bold; color: #FFF;}
.consultation .head p {display: flex; justify-content: center; align-items: center; line-height: 1; margin-top: 10px;}
.consultation .head p span {font-size: 26px;font-weight: bold; background-image: linear-gradient(180deg, rgba(232, 167, 58, 1), rgba(206, 106, 45, 1)); line-height: 1; border-radius: 46px; padding: 10px 19px; color: #FBFCF5;text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.15);}
.consultation .head p strong {font-size: 30px; color: #FFE96E;text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.15); margin-left: 10px;}
.consultation .cont {background-color: #FBFCF5; padding: 20px 20px 50px;}
.consultation .cont p {text-align: center; font-size: 16px; line-height: 1.5;}
.consultation .cont > div {max-width: 1200px; background-color: #FFF; border-radius: 6px;box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.15);margin: 20px auto 0px; padding: 20px 20px;}
.consultation .cont > div ul {display: flex; flex-direction: column; justify-content: center; gap:0 5px; margin-top: 10px;}

.top_company {padding: 50px 0px 70px; background-color: #FAF4DF;}
.top_company > div {max-width: 680px; margin: 0px auto;}
.top_company > div > h2 {font-size: 40px; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: keep-all; letter-spacing: -0.05em;}
.top_company > div > h2 strong {font-size: 28px; color:var(--green);}
.top_company .company_info {margin-top: 20px;}
.top_company .company_info dl {display: flex; flex-direction: column;}
.top_company .company_info dl dt {width: 100%; flex-shrink: 0; padding: 12px 12px 6px; text-align: left; font-weight: bold;border-bottom: none; display: flex; justify-content: flex-start; align-items: center;border-top: 2px solid var(--green); box-sizing: border-box;}
.top_company .company_info dl dd {width: 100%; padding: 6px 12px 12px; border-bottom: none; border-top: 2px dotted #c1c7c6;box-sizing: border-box;}
.top_company .company_info dl:last-child dd {border-bottom: 2px solid var(--green); }

.fixed_bt_sp ul li a img {width: 30px;}
.fixed_bt_sp ul li a p {font-size: 13px; color: #FFF; font-weight: bold; line-height: 1.3; margin-left: 0.5em;}

footer .sns > ul {display: flex; justify-content: center; align-items: center; flex-wrap: wrap;}
footer .sns > ul li.line {width: 100%; text-align: center;}
footer .footer_info {max-width: 1200px; margin: 0px auto; padding:35px 0px 0px;}

.middle_title {height: 163px; background: url(../images/middle_title_bg.webp) no-repeat; background-position: bottom center; background-size: cover; display: flex; justify-content: center; align-items: center; padding: 0px 10px; width: 100%; box-sizing: border-box;}
.middle_title .title > h1 {text-align: center; font-family: var(--tkd); text-align: center; line-height: 1.5;word-break: break-all; letter-spacing: -0.05em;}
.middle_title .title > h1 span {font-size: 14px;}
.middle_title .title > h1 strong {font-size: 33px; color:var(--green); line-height: 1.2;}
.middle_title .title > h1 strong em {color: #000000;}

.breadcrumbs_wrap {width: 100%;}
.breadcrumbs {max-width: 1200px; margin: 0px auto; padding: 16px 20px;}
.breadcrumbs ol {display: flex;}
.breadcrumbs ol li {font-size: 14px; display: flex;}
.breadcrumbs ol li:after {content: "＞"; margin: 0px 0.5em;}
.breadcrumbs ol li:last-child:after {content: none;}
.breadcrumbs ol li a {font-size: 14px;}

.pagination_cont {margin-top: 40px;}

}