/*
20250807 サイトリニューアルカスタム用追加CSSを記載
*/

body,h1, h2, h3, h4, h5, h6, dt, .page-header_pageTitle, .mainSection-title, .subSection-title, .veu_leadTxt, .lead{
	font-family: "Montserrat","Noto Sans JP", sans-serif!important;
}
a img:hover{
	opacity: .85;
}
.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 1rem; }
.gap-4 { gap: 1.5rem; }
.gap-5 { gap: 3rem; }
/* Bootstrap 5 の fs-* と同じ感じに追加 */
.fs-1 { font-size: 2.5rem !important; } /* 約40px */
.fs-2 { font-size: 2rem !important; }   /* 約32px */
.fs-3 { font-size: 1.75rem !important; }/* 約28px */
.fs-4 { font-size: 1.5rem !important; } /* 約24px */
.fs-5 { font-size: 1.25rem !important; }/* 約20px */
.fs-6 { font-size: 1rem !important; }   /* 約16px */

.text-xxs { font-size: 0.6875rem !important; } /* 11px */
.text-xs { font-size: 0.75rem !important; } /* 12px */
.text-sm { font-size: 0.875rem !important; }/* 14px */
.text-md { font-size: 1rem !important; }    /* 16px */
.text-lg { font-size: 1.25rem !important; } /* 20px */


/*----------------------------------------------------------------------
	ヘッダー
----------------------------------------------------------------------*/
.siteHeader{
	background:#fff;
}
.siteHeadContainer{
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.siteHeadContainer.container .navbar-header{
	width:initial;
}
.gMenu_outer{
	background:#fff;
	width:initial;
}
.gMenu_outer nav{
	width:initial;
}
ul.gMenu a{
	background:#fff;
	color: #333333;
}
.gMenu>li {
	margin: 0 0.6rem;
}
.gMenu>li .gMenu_name{
	letter-spacing: 0.15rem;
	font-size:13px !important;
}
ul.sub-menu li a{
	background: #000000;
    color: #ffffff;
}
.siteHeadContainer .btn-primary{
	border:none;
	border-radius:50px;
}
@media (min-width:992px) {
	.siteHeadContainer.container {
		width: 100%;
		max-width: unset;
		padding: 10px 15px;
	}
	.header_scrolled .navbar-header {
       margin-bottom:0;
    }
    .header_scrolled .gMenu>li {
        width: auto;
        border-left: none;
    }
    .header_scrolled .gMenu>li:last-child {
         border-right: none;
    }
}
.siteHeadContainer_right{
	align-items: center;
    display: flex;
    justify-content: flex-end;
	flex-grow: 1; /* 残りのスペースを全て占有する */
}
@media (max-width: 991.98px) {
	.gMenu_outer {
        display: none
    }
	.siteHeadContainer.container {
		padding: 5px 50px 5px 10px;
	}
    .siteHeader_logo {
		padding: 0;
    }
	.vk-mobile-nav-menu-btn{
		width: 38px;
		height: 38px;
	}
}
.header_scrolled .gMenu_outer {
	background:#fff;
}
.siteHeader .nav-contact-button .btn{
	background:#C00101;
	font-size:14px;
    padding: .375rem 1rem;
}
.acc-child-open .sp_font_color_white a{
	color: #fff!important;
}
.gnav_outer_ask{display: none;}
@media (min-width:992px) {
	.header_scrolled .gMenu{
		justify-content: center;
		align-items: center;
	}
	.device-pc .gMenu>li>a{
		margin-bottom: 0.5rem;
		margin-top: 0.5rem;
	}
	.header_scrolled .gnav_outer_ask{
		display: block;	
	}
	ul.gMenu .gnav_outer_ask a{
		border: #C00101 solid 1px;
		background: #C00101;
		border-radius: 50px;
		transition: all 0.3s ease;
		display: inline-block;
		color: #fff;
		vertical-align: bottom;
	}
	.device-pc .gMenu>li.gnav_outer_ask >a{
		padding: .375rem 1rem;
	}
	.gMenu > li.gnav_outer_ask::before{
		border-bottom: #fff;		
	}
}
/*----------------------------------------------------------------------
	フッター
----------------------------------------------------------------------*/
.siteFooter{
	margin-top: 8rem;
	border:none;
	background:#3b3838;
	color:#fff;
	font-size:12px;
}
.siteFooter a{
	color:#fff;
}
.footer_sitemap_area{
	justify-content: space-between;
}
.footer_address{
	margin-top:10px;
	line-height:1.4;
}
#custom_html-10 a,#custom_html-12 a,#custom_html-29 a{
	font-weight: bold;
    padding-bottom: 10px;
    display: block;
}
.footer_menu_title{
	font-weight: bold;
	line-height: 1.5;
}
#custom_html-11 a,#custom_html-14 a{
    display: block;
}
.footer_overview_name{
	font-size: 1.2rem;
	line-height: 1.5;
}
@media (min-width: 992px){
 /* 画面サイズが992px以上 */
	.footer_sitemap_area{
		flex-wrap: nowrap;
	}
	.footer_sitemap_area .col-md-2 {
        flex:none;
        max-width:none;
		padding: 0;
    }
	.area_1,
	.area_2,
	.area_3,
	.area_4,
	.area_5{
		width: calc((100% - 240px) / 5);
	}
	.area_6 {
		width:240px;
	}
}
@media (min-width: 768px) and (max-width: 991.98px){
 /* 画面サイズが768px以上、991.98px未満の設定 */
	.footer_sitemap_area {
		display: grid;
		grid-template-columns: repeat(5, 1fr); /* 2列 */
		grid-auto-rows: auto;
	}
	.footer_sitemap_area .col-md-2{
		max-width: none;
		padding: 0;
	}
	.area_1 { 
		grid-row: 1 / 2;
		grid-column: 1 / 2;
	}
	.area_2 { 
		grid-row: 1 / 2;
		grid-column: 2 / 3;
	 }
	.area_3 { 
		grid-row: 1 / 2;
		grid-column: 3 / 4;
	 }
	.area_4 { 
		grid-row: 1 / 2;
		grid-column: 4 / 5;
	 }
	.area_5 { 
		grid-row: 1 / 2;
		grid-column: 5 / 6;
	}
	.area_6 { 
		grid-row: 2 / 3;
		grid-column: 1 / 6;
	}
}
.footer_sns{
	font-weight: bold;
	text-align: unset;
	font-size: 1.6rem;
    display: flex;
    gap: 20px;
}
.siteFooter .copySection{
	max-width: 100%;
}
.footer_copyright{
	display: flex;
	justify-content: space-between;
}
.footer_copyright a{
	color:#fff;
}
.footer_copyright_link{
	display: flex;
	font-weight:bold;
	margin-bottom: 10px;
}
.copySection .footer_copyright_text{
	font-size:10px;
}
.footer_copyright_privacy{
	display: flex;
	width:30%;
	align-items:center;
}
.footer_copyright_privacy a{
	width:20%;
}
.footer_copyright_privacy img {
    width: 70%;
}
@media (min-width: 768px) and (max-width: 991.98px){
 /* 画面サイズが768px以上、991.98px未満の設定 */
	.footer_copyright_privacy{
		display: flex;
		width:41%;
	}
	.footer_copyright_privacy img {
		width: 80%;
	}
}
.copySection .footer_copyright_privacy p{
	font-size:10px;
	margin:0;
}
@media (max-width: 767px){
 /* 画面サイズが767px以下 */
	.siteFooter{
		margin-top: 4rem;
	}
	.footer_overview_all{
		display: flex;
		justify-content: space-between;
		margin-top: 2rem;
	}
	.footer_sns{
		margin-bottom: 0;
		align-items: end;
	}
	.copySection .container{
		padding:0;
	}
	.footer_copyright{
		flex-direction:column-reverse;
	}
	.footer_copyright_link{
		justify-content: center;
	}
	.footer_copyright_link p{
		margin-left:0;
	}
	.copySection p.footer_copyright_text{
		margin-left:0;
		margin-right:0;
		text-align: center;
	}
	.footer_copyright_privacy{
		width:100%;
		margin-bottom:20px;
		align-items:center;
	}
	.footer_copyright_privacy a {
		width: 30%;
	}
	.footer_copyright_privacy img {
		width: 100%;
	}
	.copySection .footer_copyright_privacy p {
		margin-left:10px;
	}
	.footer_sitemap_area {
		display: grid;
		grid-template-columns: repeat(2, 1fr); /* 2列 */
		grid-auto-rows: auto;
	}
	.area_1 { 
		grid-row: 1 / 2;
		grid-column: 1 / 2;
	}
	.area_2 { 
		grid-row: 2 / 5;
		grid-column: 1 / 2;
	 }
	.area_3 { 
		grid-row: 1 / 3;
		grid-column: 2 / 3;
	 }
	.area_4 { 
		grid-row: 3 / 4;
		grid-column: 2 / 3;
	 }
	.area_5 { 
		grid-row: 4 / 5;
		grid-column: 2 / 3;
	}
	.area_6 { 
		grid-row: 5 / 6;
		grid-column: 1 / 3;
	}
}
@media (min-width: 768px){
	/* 画面サイズが768px以上 */
	.siteFooter .copySection .container{
		padding-left: 0;
		padding-right: 0;
	}
	.siteFooter .copySection p {
		margin-left: 0;
	}
}
/*----------------------------------------------------------------------
	TOP
----------------------------------------------------------------------*/
.slide-text-title .main_copy{
	margin-bottom: 1rem;
    width: 36%;
}
.slide-text-title .sub_copy{
	margin-bottom: 0;
    width: 20%;
}
.slide-text-caption .mv_medal{
	width: 36%;
	display:flex;
	flex-direction:row;
	gap:20px;
}
@media (min-width: 768px) {
	.slide-text-set{
		top: 60% !important;
	}
    #top__fullcarousel .slide-text-title{
		font-size: 1.5rem !important;
	}
}
@media (max-width: 767px){
 /* 画面サイズが767px以下 */
	.slide-text-set {
		top: auto;
		left: 0;
		transform: none;
		width: 100%;
		bottom: 0;
	}
	#top__fullcarousel .slide-text-set .pc {
		display:none !important;
	}
	#top__fullcarousel .slide-text-set .sp {
		display:block !important;
	}
	.slide-text-title .main_copy{
		margin-bottom: 20px;
		width: 100%;
		text-align: center;
	}
	.slide-text-title .main_copy img{
		width: 70%;
	}
	.slide-text-title .sub_copy{
		width: 100%;
		text-align: center;
		line-height: 0;
		margin-bottom: 10px;
	}
	.slide-text-title .sub_copy img{
		width: 36%;
	}
	.slide-text-set	.container{
		padding:0;
		max-width: 100%;
	}
	.slide-text-caption .mv_medal{
		width: 100%;
        padding: 20px 10%;
        gap: 6%;
	}
	.mv_medal p{
		margin-bottom: 0;
	}
}
@media (min-width: 992px) and (max-width: 1072px){
 /* 画面サイズが992px以上、1072px未満の設定 */
	.gMenu>li {
		margin: 0 0rem;
	}
}
@media (min-width: 1200px) {
    #top__fullcarousel .container {
        max-width: 90%;
    }
}

 /* 共通 */
.theme_modern{
	margin-top: 8rem;
	padding-bottom: 2rem;
}
.theme_modern_title{
	border-top:0;
	border-bottom:0;
	padding: 0;
	margin-bottom: 2rem;
	margin-top: 0!important;
}
.theme_modern_title span{
	display:block;
	overflow:hidden;
}
.theme_modern_title .text_en{
	font-weight: 500;
	text-align:center;
	font-size: 3rem;
	margin-bottom:4px;
	letter-spacing:14px;
}
.theme_modern_title .text_jp{
	font-size: 1.2rem;
    text-align: center;
    font-weight: 400!important;
	letter-spacing:4px;
}
.theme_modern_title_secondary{
	padding: 0.25em 0.5em;/*上下 左右の余白*/
	border-left: solid 6px #C00101;/*左線*/
	border-bottom: 0;
    border-top: 0;
    font-size: 1.2rem;
}
.bg_gray{
	background-color: #F5F5F5;
	padding:2rem;
}
.bg_gray_small {
  background: linear-gradient(
    90deg,
    #ffffff 0%,
    #ffffff 10%,
    #f5f5f5 10%,
    #f5f5f5 90%,
    #ffffff 90%,
    #ffffff 100%
  );
}
.bg_gray_small .theme_modern_title{
	background: linear-gradient(
	180deg,
	#ffffff 0%,
	#ffffff 30%,
	transparent 30%,
	transparent 100%
	);
}
.bg_gray_small_wide{
	background-color: #F5F5F5;
}
.bg_gray_small_wide .theme_modern_title{
	background: linear-gradient(
	180deg,
	#ffffff 0%,
	#ffffff 30%,
	transparent 30%,
	transparent 100%
	);
}
@media (max-width: 767px){
 /* 画面サイズが767px以下 */
	.theme_modern{
		margin-top: 4rem;
	}
	.theme_modern_title .text_en{
		font-size: 2rem;
	}
	.theme_modern_title_bg{
		font-size: 3rem;
	}
}
.full_width{
	width: 100vw; /* 画面幅いっぱい */
    position: relative;
    left: 50%;
    transform: translateX(-50%); /* 中央に補正 */
}
.full_width .container {
    padding: 0;   /* スマホでの左右余白 */
}
 /* ウィジットをカスタムHTMLで挟む（works news） */
.top_add{
	padding-bottom: 0!important;
}
.top_add .theme_modern_title {
    margin-bottom:0 !important;
	line-height: 1.2;
}
.top_add_btn{
	width: 100%;
	margin-top: -2rem;
	padding-bottom: 2rem;
}
.top_add_news{
	margin-top: 0;
}
/* リンク */
.btn_more_box{
	text-align:right;
}
.btn_more{
	border: #C00101 solid 1px;
    background: #C00101;
    border-radius: 50px;
	padding: .5rem 2rem;
	transition: all  0.3s ease;
	display:inline-block;
	color:#fff;
}
.btn_more:hover{
	text-decoration:none;
    background: #fff;
	color:#C00101;
}
.text_link:link, .text_link:visited{
	color:#3681cc;
	text-decoration:underline;
}
@media (max-width: 767px){
 /* 画面サイズが767px以下 */
	.btn_more_box{
		text-align:center;
	}
	.btn_more{
		font-size: 1rem;
	}
}

 /* 強み */
.top_strength_inner{
	display:flex;
	flex-direction:row;
	align-items: flex-start;
}
.top_strength_text{
	width:55%;
	padding-right: 4rem;
}
.top_strength_text h3{
	font-size: 1.2rem!important;
	border:none;
	text-align:left;
	line-height:1.7;
}
.top_strength_text h3:after{
	content:none;
}
.color_accent{
	color:#C00101;
}
.top_strength_img{
	width:45%;
	display:flex;
	flex-direction:row;
	flex-wrap: wrap;
	gap: 10px;
}
.top_strength_img_parts{
	width:calc(50% - 5px);
}
.top_strength_img_parts img{
	width:100%;
}
@media (min-width: 768px) and (max-width: 991.98px){
 /* 画面サイズが768px以上、991.98px未満の設定 */
	.top_strength_img{
		margin-top: 0px;
		margin-bottom:1rem;
	}
}
@media (max-width: 767px){
 /* 画面サイズが767px以下 */
	.top_strength_inner{
		padding:1rem;
		flex-direction:column-reverse;
	}
	.top_strength_text{
		width:100%;
		padding-right: 0;
	}
	.top_strength_img{
		width:100%;
		gap: 6px;
	}
	.top_strength_img_parts {
		width: calc(33% - 3px);
	}
}
 /* 不安 */
.top_worry h2{
	border:none;
	font-size:1.2rem!important;
	text-align:center;
	font-weight:400;
	padding: 0;
	margin-bottom: 2rem;
}
.top_worry_box{
	display:flex;
	justify-content:center;
	flex-direction:row;
	gap: 2rem;
	margin-bottom:2rem;
	flex-wrap: wrap;
}
.top_worry_img{
	width: 22%;
}
.top_worry_text{
	font-size:1.2rem !important;
	text-align:center;
	margin-bottom:0;
}
.top_worry_sub_text{
	text-align:center;
}
.top_worry_sub_text span{
	color:#C00101;
}
@media (max-width: 991.98px){
 /* 画面サイズが991.98px以下 */
	.top_worry_box{
		gap: 0.4rem;
		margin-bottom: 1rem;
		flex-wrap: wrap;
		justify-content: center;
	}
	.top_worry_img{
		width: calc(24% - 3px);
	}
}
 /* POINT */
.top_point_inner{
	display:flex;
	flex-direction:row;
	gap: 2rem;
	justify-content:space-between;
}
h3.no_border_title{
	border:0;
	padding-bottom:0;
	margin-top:1.5rem!important;
	margin-bottom:0.8rem;
}
.no_border_title:after{
	border:0;
}
.top_point_box{
	width: 30%;
}
@media (max-width: 767px){
 /* 画面サイズが767px以下 */
	.top_point_inner{
		flex-direction:column;
		padding-left:1rem;
		padding-right:1rem;
		gap: 0.5rem;
	}
	.top_point_box{
		width: 100%;
	}
}
 /* COMPANY */
.top_company_box_all{
	margin-top: 5rem;
}
.top_company_box{	
	display: flex;
	justify-content: center;
	gap: 6rem;
}
@media (max-width: 767px){
	 /* 画面サイズが767px以下 */
	 .top_company_box_all{
		margin-top: 2.5rem;
	}
    .top_company_box{
		gap: 3rem;
		margin-top: 1.5rem;
	}
	.top_company_box p{
		margin-bottom: 0;
	}
	.top_company_box p img{
		height: 50px;
		width: auto;   /* 横幅は自動調整 */
		object-fit: contain; 
	}
}

 /* REVIEW */
.top_review_inner{
	display: flex;
    flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
}
.top_review_box{
	width: 32.5%;
	display: flex;
	flex-direction: row;
	box-shadow: 0 2px 4px rgba(0,0,0,0.3);
	background: #fff;
}
.top_review_box p{
	margin-bottom: 0;
}
.top_review_box .review_text{
	flex: 1 1 60%;
	padding: 1rem;
	font-size: 0.75rem;
	line-height: 1.9;
	box-sizing: border-box;
}
@media (min-width: 768px){
	 /* 画面サイズが768px以上 */
	 .top_review_box .review_img{
		flex: 1 1 40%;
	}
	.top_review_box .review_img img{
		width: 100%;
		height: -webkit-fill-available;
		display: block;
		object-fit: cover;
	}
}
@media (max-width: 991.98px) {
	 /* 画面サイズが991px以下 */
	.top_review_inner{
		justify-content: center;
		gap:1rem;
	}
	.top_review_box{
		width: 48%;
	}
}
@media (max-width: 767px){
	 /* 画面サイズが767px以下 */
    .top_review_inner {
        width: 100%;
        flex-direction: column;
    }
	.top_review_box{
		width: 100%;
	}
	.top_review_box_sp{
		display: flex;
		flex-direction: column;
	}
}
 /* INFORMATION */
@media (max-width: 767px){
 /* 画面サイズが767px以下 */
	.top_moreinfo .theme_modern_title .text_en{
		font-size: 1.7rem;
	}
}
.top_moreinfo_inner{
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0 2rem;
}
.top_moreinfo_box{
    display: flex;
    flex-direction: column;
	flex-wrap: wrap;
    justify-content: space-between;
    color: #212529;
    align-items: center;
    gap: 1rem;
	font-size: 0.75rem;
}
.top_moreinfo_box img{
	width: 80%;
}
.top_moreinfo_box .fa-arrow-alt-circle-right{
	color:#C00101;
}
@media (max-width: 991.98px) {
	 /* 画面サイズが991px以下 */
	 .top_moreinfo_inner{
		flex-wrap: wrap;
	}
	.top_moreinfo_box{
		width: 30%;
	}
}
@media (max-width: 767px){
	 /* 画面サイズが767px以下 */
    .top_moreinfo_box{
		width: 45%;
	}
}
 /* OTHER SERVICE */
.top_other_service_inner{
	display: grid;
	gap: 1rem;
	width: 100%;
	margin: 0 auto;
}
.top_other_service_inner {
	grid-template-columns: 1fr 1fr 1fr;  /* 3列 */
	grid-template-areas:
		"item1 item1 item2"
		"item3 item4 item5"
}
.top_other_service_inner .item1 { grid-area: item1; }
.top_other_service_inner .item2 { grid-area: item2; }
.top_other_service_inner .item3 { grid-area: item3; }
.top_other_service_inner .item4 { grid-area: item4; }
.top_other_service_inner .item5 { grid-area: item5; }
/* スマホレイアウト (1・2・2) */
@media (max-width: 767px) {
	.top_other_service_inner {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"item1 item1"
			"item2 item3"
			"item4 item5";
	}
	.top_other_service_inner .item1 { grid-area: item1; }
	.top_other_service_inner .item2 { grid-area: item2; }
	.top_other_service_inner .item3 { grid-area: item3; }
	.top_other_service_inner .item4 { grid-area: item4; }
	.top_other_service_inner .item5 { grid-area: item5; }
}
.top_other_service_inner .item {
	position: relative;
	display: inline-block;
}
.top_other_service_inner .item img{
	display: block;
	max-width: 100%;
	height: auto;
}
.top_other_service_inner .item p {
    position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	width: 100%;
	text-align: center;
	color: white;
	letter-spacing:4px;
	font-weight: 500;
}
.top_other_service_inner .item span {
	font-size: 1.2rem;
	line-height: 1;
	font-weight: 600;
}
@media (max-width: 767px){
	 /* 画面サイズが767px以下 */
	.top_other_service_inner .item p {
		font-size: 0.75rem;
	}
    .top_other_service_inner .item span {
		font-size: 1rem;
	}
}
/*----------------------------------------------------------------------
	お問い合わせウィジェット
----------------------------------------------------------------------*/
.inquiry_widget .theme_modern_title{
	padding: 2rem 0;
}
.inquiry_widget_inner{
	display:flex;
	flex-direction: row;
	gap: 4rem;
	justify-content: center;
}
.inquiry_widget_tel,.inquiry_widget_form{
	display:flex;
	flex-direction: column;
	align-items: center;
	width: 50%;
	position: relative;
}
.inquiry_widget_tel:before {
	position: absolute;
	top: 0;
	left: 100%;
	margin: 0 1rem;
    content: "";
	width: 1px;
	background-color:#aaaaaa;
    height: 100%;
}
.inquiry_widget_sub_title{
	text-align: center;
	letter-spacing: 0.2em;
	font-weight: bold;
}
.inquiry_widget_tel_number{
    font-size: 2.3rem;
    font-weight: bold;
	margin-bottom: 0;
    line-height: 1.4;
	letter-spacing: 0.1em;
}
.inquiry_widget_tel_number span{
	padding-right: 1rem;
}
.contact_txt_tel,
.inquiry_widget_tel_number a:hover,
.inquiry_widget_form a:hover{
	color:#C00101;
	text-decoration: none;
}

@media (max-width: 991.98px) {
	.inquiry_widget_inner{
		flex-direction: column;
		gap: 1rem;
	}
	.inquiry_widget_tel:before {
		top: 100%;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
	}
	.inquiry_widget_tel,.inquiry_widget_form{
		width: 100%;
	}
	.inquiry_widget_tel .inquiry_widget_sub_title{
		margin-top: 10px;
		margin-bottom:0;
	}
	.inquiry_widget_tel_number{
		font-size:1.2rem;
	}
}
/*----------------------------------------------------------------------
	固定ページ
----------------------------------------------------------------------*/

/* 固定メニューの高さに合わせて h2, h3 などすべての見出しを調整 */
h1,h2 {
  scroll-margin-top: 80px; /* 固定メニューの高さに合わせる */
}
/* 動画埋め込み */
iframe.youtube-16-9 {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}
/* peculiarity_merit*/
.strength_point {
  display: flex;
  align-items: center;
  gap: 1.5rem; /* タイトルとテキストの間隔 */
  margin: 2rem 0;
  border-top: 0;
  border-bottom: 0;
  font-weight: 400;
}
.strength_point_title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  position: relative;
  padding-left: 0.8rem; /* 赤いライン分の余白 */
}
.strength_point_title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 6px; /* 赤い縦ライン */
  background-color: #C00101; /* 赤色 */
}
.strength_point_point {
  writing-mode: sideways-lr; /* 縦書き*/
  text-orientation: mixed;
  font-size: 0.9rem;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.strength_point_num {
  font-size: 4rem;
  line-height: 1;
}
.strength_point_text {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.strength_point_sub {
  font-size: 1rem;
}
.strength_point_main {
  font-size: 1.5rem;
  color: #C00101; /* 赤色 */
}
@media (min-width: 768px) {
	.bg_title_out_box_outer{
		display: flex;
		flex-direction: row;
		gap: 15px;
	}
    .bg_title_out_box_outer_row .bg_title_out_box {
        width: 33.33333%;
    }
}
.bg_title_out_box{
	display: flex;
	flex-direction: column;
}
.bg_title_out_box_inner{
	padding: 0rem 2rem 1rem;
	background-color: #F5F5F5;
	display: flex;
	flex-direction: column;
	height: 100%;
}
.bg_title_out_accent{
	background-color: #f8edec;
}
h3.bg_title_out{
	margin-top: -1rem!important;
	margin-bottom: 0;
	padding-bottom: 1rem;
	background: linear-gradient(180deg, #ffffff 0%, #ffffff 30%, #F5F5F5 30%, #F5F5F5 100%);
	border: none;
    text-align: center;
    font-size: 1.5rem!important;
    font-weight: 400;
}
h3.bg_title_out_accent{
	background: linear-gradient(180deg, #ffffff 0%, #ffffff 30%, #f8edec 30%, #f8edec 100%);
}
h3.bg_title_out::after{
	content: none;
}
.flex_grow_1{
	flex-grow: 1;
}
.construction_label{
	display: inline-block;
	background-color: #000;
	color: #fff;
	padding: 0.5rem 2rem;
	font-size: 1.5rem;
}
.construction_step {
	position: relative;
	padding: 2rem 4rem 2rem 2rem;
	border-right: 1px solid #000; /* 縦の線 */
	width: 16.5%;
}
/* 矢印を作る */
.construction_step::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -11px; /* border の位置に合わせる */
	width: 20px;
	height: 20px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: translateY(-50%) rotate(45deg);
	background: #fff; /* 背景を白で隠す */
}
.construction_step_last::after {
	content: none;
}
.construction_step .num{
	font-size: 3rem;
	line-height: 1;
	margin-bottom: 1rem;
}
.strength_point2_title{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	font-size: 1rem;
}
.strength_point2_title p{
	margin: 0;
	text-align: left;
}
.strength_point2_title_img{
	width: 80px;
}
.list_square li{
	position: relative;
    padding: 0 0 0 20px;
}
.list_square li:before {
    content:"";
    position: absolute;
    top: 4px;
    left: 0px;
    width: 16px;
    height: 16px;
    display: inline-block;
    background: #C00101; /* 赤色 */;
}
.list_rows3{
	display: flex;
	flex-wrap:wrap;
	justify-content:space-between;
	padding-left: 0;
}
.list_rows3 li{
	width:30%;
	margin-bottom:0.4rem;
}
.list_rows3 li:first-of-type,
.list_rows3 li:nth-of-type(4){
	width:40%;
}
@media (max-width: 767px){
	 /* 画面サイズが767px以下 */
	.construction_label{
		font-size: 1rem;
		padding: 0.5rem;
        width: 100%;
        text-align: center;
	}
	.construction_step {
		border-right: none;
		border-bottom: 1px solid #000; /* 縦の線 */
		width: 100%;
        height: 130px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
	}
	/* 矢印を作る */
	.construction_step::after {
		top:unset;
		bottom: -11px;
		right: 50%; /* border の位置に合わせる */
		width: 20px;
		height: 20px;
		border-top: 1px solid #000;
		border-right: 1px solid #000;
		transform: translateX(50%) rotate(135deg);
		background: #fff; /* 背景を白で隠す */
	}
	.list_rows3 li,
	.list_rows3 li:first-of-type,
	.list_rows3 li:nth-of-type(4){
		width:100%;
	}
}

/* price*/
.data_list_title{
	font-size:1.4rem!important;
	border-bottom: 1px solid #212529;
	margin-top: 1rem!important;
	margin-bottom: 1rem;
}
.data_list_title span{
	font-size:0.8rem!important;
	font-weight: 400;
	padding-left: 5px;
}
.data_list_title::after{
	content: none;
}
.data_list_title_medium .fs_medium{
	font-size:1rem!important;
	font-weight: 700;
}
.data_list{
	list-style-type: square;
	margin-top: 1rem!important;
}
.data_list li::marker {
  color: #C00101;
}
#price-page.page_modern .bgr{
    background-color:#C00101;
}
#price-page.page_modern .text-small{
	font-size: 0.75rem;
}
#price-page.page_modern table.price-table thead th.price_td_width_2{
	width: 300px;
}
@media (min-width: 768px){
	 /* 画面サイズが768px以上 */
	 .price_td_width_3{
		width: 100px;
	 }
}

@media (max-width: 767px){
	 /* 画面サイズが767px以下 */
	#price-page.page_modern table.price-table{
		table-layout: fixed;
	}
	#price-page.page_modern table.price-table thead th, 
	#price-page.page_modern table.price-table thead td,
	#price-page.page_modern table.price-table tbody th,
    #price-page.page_modern table.price-table tbody td{
		padding: 0.75rem 1px!important;
	}
	#price-page.page_modern table.price-table thead th.price_td_width_1, 
	#price-page.page_modern table.price-table thead td.price_td_width_1,
	#price-page.page_modern table.price-table tbody th.price_td_width_1,
    #price-page.page_modern table.price-table tbody td.price_td_width_1{
		width: 68px!important;
	}
	#price-page.page_modern table.price-table tbody td{
		width: auto!important;
	}
	#price-page.page_modern table.price-table thead th.price_td_width_2{
		width: 160px!important;
	}
}
/* SERVICE AREA*/
.area_color{
	display:flex;
	flex-direction: row;
	justify-content: center;
}
.area_color_box {
	display: flex;
	align-items: center;
}
.area_color_box::before {
  content: "";
  display: inline-block;
  width: 15px;   /* 四角の幅 */
  height: 15px;  /* 四角の高さ */
  margin-right: 4px; /* テキストとの間隔 */
}
.area_color_red::before{
	background-color: #d4003b; /* 赤 */
}
.area_color_gray::before{
	background-color: #ddd; /* 赤 */
}
.area .first dl {
    padding: 0 !important;
	border:none !important;
}
.area .first dl dd {
    border: none;
}
.area .first dl dd ul li strong.area_red{
	color: #C00101;
}
@media (max-width: 767px){
	 /* 画面サイズが767px以下 */
	.area_padding{
		padding-left: 15px;
		padding-right: 15px;
	}
}
