@charset "UTF-8";
/* CSS Document */
/*---------*/
.sr_bg_img1{
	background: url("../../img/service/sr_back1.jpg");
	background-size: cover;
}
/*-----------*/
.base_box1{
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding: 130px 0;
	gap: 70px;
	align-items: center;
}
/*----------------*/
.base_box2{
	padding: 140px 0;
}
/*---------------*/
.base_box3{
	position: relative;
	display: grid;
	grid-template-columns: 3fr 2fr;
	align-items: center;
	gap: 100px;
	padding: 160px 0;
}
/*---------------*/
.base_box4{
	position: relative;
	padding: 130px 0 170px;
}
.base_box4_inner{
	display: grid;
	grid-template-columns: 3fr 2fr;
	align-items: center;
	padding-bottom: 70px;
}
.base_box4_inner2{
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 50px 150px;
	padding: 0 40px;
	box-sizing: border-box;
	z-index: 10;
}
.base_box4_inner2 > div{
	min-height: 300px;
	border-bottom: 1px solid rgba(255,255,255,.15);
	color: var(--paper);
}
.base_box4_inner2 > div > h3{
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-weight: 700;
	letter-spacing: .04em;
	-webkit-font-smoothing: antialiased;
	font-size: 26px;/* 33px -17px*/
	line-height: 1.5;
	color: var(--cream);
}
.base_box4_inner2 > div > .sr_no{
	color: var(--mint);
	font-weight: 700;
	font-size: 14px;
	line-height: 1;
}
/*-------------------*/
.base_box5{
    padding: 100px 0;
}
.sr_base_mark4{
}
.case_tlt::before{
    content:'VOICE';
    display: block;
    width: 100px;
    padding: 3px 20px;
    background: var(--mist);
    color: var(--ink);
    font-size: 13px;
    font-weight: bold;
    text-align: center;
}
/*----マーキー*/
.sr_base_deco1{
	display: inline-block;
	color: rgba(255,255,255,0.3);
	font: 700 200px Arial, sans-serif;
	width: 100%;
	margin-right: 20px;/* 20px*/
}
/*---------------*/
.sr_base_img1{
	position: relative;
	height: 700px;
	min-height: 540px;
	border-radius: 20px 0 60px 0;
	box-shadow: 0 24px 70px rgba(26,68,86,.13);
	overflow: hidden;
}
.sr_base_img1 img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.sr_base_img2{
	position: relative;
	height: 580px;
	min-height: 400px;
	border-radius: 10px;
	overflow: hidden;
}
.sr_base_img2 img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/*------------------*/
.comment_list{
	list-style: none;
	font-weight: bold;
	margin: 0;
	padding: 0;
}
.comment_list li{
	line-height: 2.3;
}
/*-------------------*/
.sr_kicker1{
	padding: 6px 15px;
	background: var(--mint);
	color: var(--ink);
	font-size: 14px;
	font-weight: bold;
	line-height: 1;
	border-radius: 10px;
}
/*---------  悩み　--*/
.worries_list1{
	display: grid;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 20px;;
}
.worries_list1 li{
	width: 100%;
	padding: 6px 30px;
	background: var(--muted);
	border-radius: 10px;
	color: var(--paper);
}
/*---------*/
.worries_list2{
	display: grid;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 20px;;
}
.worries_list2 li{
	width: 100%;
	padding: 10px 30px;
	border-bottom: 1px solid #FFFFFF;
}
/*----------------------------  料金について  ---*/
.price_mark{
	text-align: center;
}
.price_tlt::before{
	content: 'PRICE';
	display: block;
	width: 120px;
	margin: 0 auto 7px;
	padding: 5px 10px;
	background: var(--ink);
	color: var(--paper);
	text-align: center;
	font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Noto Sans JP", sans-serif;
	font-size: 15px;
	line-height: 1;
	font-weight: 700;
	border-radius: 7px;
}
/*---- 料金テーブル -----*/
.price_table{
	width: 1100px;
	margin: 70px auto 0;
	border-collapse: collapse;
	border: 1px solid var(--muted);
}
.price_table tr{
	display: grid;
	grid-template-columns: 1fr 4fr 1fr;
	border-bottom: 1px solid var(--muted);
}
.price_table tr:last-child{
	border-bottom: inherit;
}
.price_table tr th{
	padding: 15px;
	border-right: 1px solid var(--muted);
	background: #dcdcdc;
}
.price_table tr th:last-child{
	border-right: inherit;
}
.price_table tr td{
	padding: 15px 17px;
	align-content: center;
	border-right: 1px solid var(--muted);
}
.price_table tr td:last-child{
	border-right: inherit;
}
.price_table tr td:nth-child(1),
.price_table tr td:nth-child(3){
	text-align: center;
	font-weight: bold;
}
/*--------  サービスの注意点  ---*/
.sr_check{
	position: relative;
	width: 1100px;
	margin: 20px auto 0;
	list-style-position: outside;
	font-size: 14px;
}
.sr_check li{
	padding-bottom: 10px;
}
/*----------------------------  よくあるご質問  ---*/
#qa_box{
	background: var(--pale);
	padding: 120px 0 200px;
}
.qa_mark{
	text-align: center;
}
.qa_title::before{
	content: 'QUESTION';
	display: block;
	width: 120px;
	margin: 0 auto 7px;
	padding: 5px 10px;
	background: var(--ink);
	color: var(--paper);
	text-align: center;
	font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Noto Sans JP", sans-serif;
	font-size: 15px;
	line-height: 1;
	font-weight: 700;
	border-radius: 7px;
}
/*------- ご質問リスト　------------------*/
.question{
	width: 1100px;/* 1100px */
	margin: 70px auto 0;/* 70px auto 0*/
	list-style: none;
}
.question li{
	width: 100%;
	overflow: hidden;
}
.question li dl{
	width: 100%;
	padding: 0;
	margin: 0;
	border-bottom: 1px solid var(--line);
}
.question dl dt{
	position: relative;
	padding: 12px 45px;/* 12px 40px */
}
.question dl dt .q_tag{
	position: absolute;
    display: inline-grid;
    place-items: center;
    width: 33px;
    height: 33px;
    background: var(--ink);
    color: var(--paper);
    font-size: 20px;
	line-height: 1;
    border-radius: 50%;
	top: 0;
	left: 0;
}
.question dl dt h3{
	display: inline-block;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;/*16px*/
	line-height: 1.8;
	color: var(--ink);
}
.question dl dd{
	position: relative;
	padding: 5px 0 12px;/* 12px 40px */
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;/*9 16px*/
	line-height: 1.8;
	color: var(--ink);
}
.question dl dd .a_tag{
	position: absolute;
    display: inline-grid;
    place-items: center;
    width: 33px;
    height: 33px;
    background: var(--mint);
    color: var(--paper);
    font-size: 20px;
	line-height: 1;
    border-radius: 50%;
	top: 0;
	left: -40px;
}
.faq-q{}
.faq-a{
	display: none;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;/*9 16px*/
	line-height: 1.8;
}
/* ± */
.faq-q.plus span{
	position: absolute;
	width: 20px;/* 20px */
	height: 20px;/* 20px */
	right: 10px;/* 10px */
	top: 0;
	bottom: 0;
	margin: auto;
}
.faq-q.plus span::before,.faq-q.plus span::after{
	content: '';
    display: inline-block;
    position: absolute;
    width: 2px;/* 2px */
    height: 20px;/* 20px */
    background-color: #000066;
	transition: 1s;
}
.faq-q.plus span::after{
	transform: rotate(90deg);
}
.faq-q.plus.show span::after{
	opacity: 0;
}
.faq-q.plus.show span::before{
	transform: rotate(90deg);
}
/*-------------------------------   カルーセルのCSS   -----*/
.carousel-window { 
    overflow:hidden;
    margin-top: 70px;
}
.carousel-track { 
    display:flex; 
    gap: 25px; 
}
.carousel-item {
    position: relative;
    box-sizing: border-box; 
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: calc((100% - 48px) / 3);
    min-width: 0;
    background: white;
    padding: 24px;
    border-radius: 14px;
    border: 1px solid #dce5ef;
    overflow: hidden;
}
.case_no{
    color: #9cb3bd;
	font: 700 12px/1.2 Arial, sans-serif;
	letter-spacing: .21em;
}
.case_no span{
    display: inline-grid;
    place-items: center;
    width: 28px;/* 28px */
    height: 28px;/* 28px */
    margin-left: 5px;
    border: 1px solid #aac4cb;
    border-radius: 50%;
    color: var(--mint);
}
.carousel-item .case_img{
    display: block;
    width: 100%;
    min-height: 200px;
    overflow: hidden;
    box-sizing: border-box; /* 追加：安全のため */
}
.carousel-item img{ 
    width: 100%; 
    height: 100%;
    object-fit: cover;
}
.carousel-item .case_gest{
    font-size: 14px;
    font-weight: bold;
    line-height: 1.5;
}
.carousel-item h2{
    font-size:20px;
}
.carousel-item p{
    font-size: 14px;
    line-height: 1.9;
}
.carousel-arrows { 
    display:flex; 
    justify-content:flex-end; 
    gap:12px; margin-top:20px; 
}
.carousel-arrows button { 
    width:48px; 
    height:48px; 
    border:1px solid #bcc9da; 
    border-radius:50%; 
    background:white; 
    color:#234566; 
    font-size:24px; 
    cursor:pointer; 
}
.carousel-arrows button:disabled { 
    opacity:.3; 
    cursor:default; 
}
.carousel-arrows button:focus-visible { 
    outline:3px solid #527fbe; 
    outline-offset:3px; 
}
@media(max-width:767px) {
  .carousel-track { gap:16px; }
  .carousel-item { flex-basis:100%; }
}