@charset "UTF-8";
/*------------------------------------------------------------------------------
	ハートフルコール - CSS Modules Import
	Date: 2019-02-08
------------------------------------------------------------------------------*/

/*- reset -------*/
body, div, dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6, 
pre, code, form, fieldset, legend, input, textarea,
p, blockquote{
	margin:0;
	padding:0;
}

body{
	background:#fff;
	line-height:1.5;
}


p, th, td{
	line-height:1.5;
	font-weight:normal;
}


b,
b *,
strong,
strong *{
	font-weight:bold;
}


h1,h2,h3,h4,h5,h6{font-size:100%;}

ul,
ul li{
	list-style-type:none;
}
/* reset end */

a:link{
	color:#5285b8;
	text-decoration:none;
}
a:visited{
	color:#5285b8;
	text-decoration:none;
}
a:hover{
	color:#5285b8;
	text-decoration:underline;
}
a:active{
	color:#5285b8;
	text-decoration:underline;
}

img{
	border:0;
	vertical-align:bottom;
	}




/** 文字サイズ **/
.txt-s {
	font-size: 80%;
}
.txt-s2 {
	font-size: 85%;
}
.txt-l{
	font-size: 115%;
}
.txt14 {
	font-size: 14px;
}
.txt13 {
	font-size: 13px;
}


/** 行間 **/
.lh16{
	line-height:1.6;
}

/** 配置 **/
.center{
	text-align:center !important;
}
.right{
	text-align:right !important;
}
.left{
	text-align:left !important;
}
.vtop{
	vertical-align:top;
}
.vbtm{
	vertical-align:bottom;
}
.vmdl{
	vertical-align:middle;
}
.fright{
	float:right;
}
.fleft{
	float:left;
}
.normal{
	font-weight:normal;
}

.bold{
	font-weight:bold;
}


/********** --PADDING ****************/
.pt20{ padding-top:20px !important; }
.pl10{ padding-left:10px !important; }
.pr10{ padding-right:10px !important; }



/********** --MARGIN ****************/

.mt5{ margin-top:5px !important; }
.mt10{ margin-top:10px !important; }
.mt15{ margin-top:15px !important; }
.mt30{ margin-top:30px !important; }
.mt70{ margin-top:70px !important; }
.mt50{ margin-top:50px !important; }
.mt20{ margin-top:20px !important; }
.mb5{ margin-bottom:5px !important; }
.mb10{ margin-bottom:10px !important; }
.mb15{ margin-bottom:15px !important; }
.mb20{ margin-bottom:20px !important; }
.mb25{ margin-bottom:25px !important; }
.mb30{ margin-bottom:30px !important; }
.mb35{ margin-bottom:35px !important; }
.mb40{ margin-bottom:40px !important; }
.mb45{ margin-bottom:45px !important; }
.mb50{ margin-bottom:50px !important; }
.mb55{ margin-bottom:55px !important; }
.mb60{ margin-bottom:60px !important; }
.mb65{ margin-bottom:65px !important; }
.mb70{ margin-bottom:70px !important; }
.mb75{ margin-bottom:75px !important; }





/* floar(clearfix) */
.cf,
.clearFix,
clr {
	zoom: 100%;
}
.cf:after,
.clearFix:after,
.clr:after {
	clear: both;
	display: block;
	visibility: hidden;
	height: 0;
	content: ".";
}

.clrall,
.clear {clear:both}

.hide {
	display: none !important;
}


.fontJun {
	font-family: a-otf-jun-pro, sans-serif;
	font-weight: 300;
}







* {
	max-width: 100%;
	box-sizing: border-box;
}
body, p, td, th, input , select , textarea {
	max-width: 100%;
	font-size: 15px;
	font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 1.8;
	color:#333;
}
html, body{
	height:100%;
}
img {
	vertical-align: middle;
	max-width: 100%;
	height: auto !important;
}
.wrapper{
	clear: both;
	position:relative;
	width: 1000px;
	max-width: 100%;
	margin:auto;
}
.table {
	display: table;
}
.cell {
	display: table-cell;
}
.nowrap {
	white-space: nowrap;
}
.ib {
	display: inline-block;
}
a img {
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
	-webkit-transition: 0.3s ease-in-out;  
	-moz-transition: 0.3s ease-in-out;  
	-o-transition: 0.3s ease-in-out;  
	transition: 0.3s ease-in-out; 
}
a img:hover {
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
	-webkit-transition: 0.3s ease-in-out;  
	-moz-transition: 0.3s ease-in-out;  
	-o-transition: 0.3s ease-in-out;  
	transition: 0.3s ease-in-out; 
}
#contents a {
	color: #0068b7;
	-webkit-transition: 0.3s ease-in-out;  
	-moz-transition: 0.3s ease-in-out;  
	-o-transition: 0.3s ease-in-out;  
	transition: 0.3s ease-in-out; 
}
#contents a:hover {
	-webkit-transition: 0.3s ease-in-out;  
	-moz-transition: 0.3s ease-in-out;  
	-o-transition: 0.3s ease-in-out;  
	transition: 0.3s ease-in-out; 
}
a:hover.pMenu {
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}
.sp {
	display: none;
}
.auto {
	margin-left: auto;
	margin-right: auto;
}
.wrapper,
#wrap_contents {
	margin: auto;
	width: 1000px;
	max-width: 100%;
}


#navi ul,
#navi li,
#footer ul,
#footer li,
.topList1,
.topList1 li,
.topList2,
.topList2 li {
	padding: 0;
	margin: 0;
	list-style-type: none;
}


/*------------------------------------------------------------------------------
	HEADER
------------------------------------------------------------------------------*/

#header {
	background: #ff6a7f;
}
#header .headWrap {
	display: table;
	width: 1000px;
	max-width: 100%;
	height: 145px;
	margin: auto;
	background: #ff6a7f;
}
#header .head01,
#header .head02 {
	display: table-cell;
	vertical-align: top;
}

#header .head01 {
	width: 43%;
}

#header .head01 .logo {
	margin-top: 20px;
}
#header .head02 {
	padding-top: 1%;
	width: 56%;
	vertical-align: middle;
	box-sizing: border-box;
}
#header .copy {
	padding-top: 10px;
	line-height: 1.5;
	color: #fff;
}
#header .hTel {
	max-width: 100%;
	clear: right;
	padding: 5px 0 10px;
	text-align: right;
}
#header .hTel img {
	max-width: 100%;
}
#header .hRow {
	display: table;
	width: 100%;
}
#header .hCol {
	display: table-cell;
	vertical-align: middle;
}
#header .hCv {
	float: right;
	padding-bottom: 5px;
}
#header .hCv li {
	margin-top: -5px;
	text-align: right;
}
#header .hCv li:first-child {
	margin-top: 0;
}
#header .card {
	width: 240px;
	font-size: 12px;
	line-height: 1.4;
	color: #fff;
	text-align: center;
}
#header .card img {
	margin-top: 2px;
}



/* #gNav
================================================ */
.navWrap01 {
	background: #fff;
}
.navWrap02,
.gNav02 {
	background: #ffe5e5;
}
.gNav01,
.gNav02 {
	display: table;
	width: 1000px;
	max-width: 100%;
	margin: auto !important;
}
.gNav01 li,
.gNav02 li {
	height: 50px;
	display: table-cell;
	vertical-align: middle;
}

.gNav01 li a,
.gNav02 li a {
	position: relative;
	padding-left: 15px;
	display: table;
	font-family: a-otf-jun-pro, sans-serif;
	font-weight: 300;
	font-size: 16px;
	line-height: 1;
	color: #000;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.gNav01 li a:before,
.gNav02 li a:before {
	display: block;
	position: absolute;
	content: "";
	top: 3px;
	left: 0;
	border: 7px solid transparent;
	border-left: 10px solid #ff9999;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.gNav01 li a:hover:before {
	border-left: 10px solid #ff6a7f;
}
.gNav02 li a:hover:before {
	border-left: 10px solid #666;
}



.gNav01 li {
}
.gNav01 li:nth-child(1) {
	width: 200px;
}
.gNav01 li:nth-child(2) {
	width: 370px;
}
.gNav01 li:nth-child(3) {
	width: 220px;
}
.gNav01 li:nth-child(4) {
	width: 210px;
}
.gNav01 li:nth-child(5) a {
	float: right;
}
.gNav01 li:last-child,
.gNav02 li:last-child {
	padding-right: 10px;
	text-align: right;
}
.gNav02 li:nth-child(2) {
	width: 32%;
	text-align: center;
}
.gNav02 li:nth-child(2) a {
	margin: auto;
}
.gNav02 li:nth-child(3) a {
	float: right;
}

/*------------------------------------------------------------------------------
	footpath ぱんくず
------------------------------------------------------------------------------*/

#footpath {
	width: 1000px;
	max-width: 100%;
	margin: 10px auto 7px;
	clear: both;
}
#top #footpath {
	display: none;
}
#footpath li {
	display: inline-block;
	font-size: 12px;
	line-height: 1;
}
#footpath a {
	color: #333;
}
#footpath li strong {
	font-weight: 400;
}
#footpath li:after {
	content: " > ";
}
#footpath li:last-child:after {
	content: "";
}
#footpath time {
	font-size: 12px;
	line-height: 1;
}


.request-notification-permission {
	position: fixed;
	right: 0;
	top: 100px;
}
.request-notification-permission a {
	display: inline-block;
	padding: 5px 10px;
	width: 30px;
	font-size: 13px;
	color: #fff;
	background: #999;
	box-sizing: border-box;
}

/*------------------------------------------------------------------------------
	FOOTER
------------------------------------------------------------------------------*/

.pageTop {
	display:none;
	position:relative;
	height:0;
}
.pageTop a {
	position: fixed;
	bottom: 0px;
	right:0px;
	display: block;
	width: 44px;
	height:38px;
	padding:0px;
	z-index:9999;
}
.pageTop a img {
	position: relative;
}
#footer {
	background: #ff6a7f;
}
#footer .cv {
	padding: 48px 0 45px;
	background: #ffe5e5;
}
#footer .cv .copy {
	padding: 0 0 35px 0;
	font-size: 24px;
	font-family: a-otf-jun-pro, sans-serif;
	font-weight: 400;
	line-height: 1;
	text-align: center;
}
#footer .cv ul {
	display: table;
	margin: auto;
	width: 1000px;
	max-width: 100%;
}
#footer .cv li {
	display: table-cell;
	padding-left: 10px;
	vertical-align: middle;
}
#footer .cv li:first-child {
	padding: 0 6px 0 0;
}
#footer .cv li:last-child {
	padding-bottom: 6px;
}
#footNav {
	display: table;
	margin: auto;
	padding: 30px 0 40px;
	width: 1000px;
	max-width: 100%;
}
#footNav .innerBox {
	display: table-cell;
	vertical-align: top;
}
#footNav .innerBox.f1 {
	width: 350px;
}
#footNav .innerBox.f2 {
	width: 410px;
}
#footNav .innerBox.f3 {
	width: 240px;
}
#footNav .innerBox ul {
	padding: 0 10px 0 0;
}
#footNav .innerBox:nth-child(4) {
	width: 220px;
}
#footNav .innerBox:nth-child(4) ul {
	padding: 0;
}
#footNav .innerBox dt {
	margin-top: 20px;
}
#footNav .innerBox dd {
	margin-bottom: 20px;
}
#footNav .innerBox li a {
	position: relative;
	padding: 0 0 7px 0;
	line-height: 1.3;
}
#footNav .innerBox dt,
#footNav .innerBox dt a {
	color: #fff;
	font-weight: 600;
}
#footNav .innerBox a {
	color: #fff;
	text-decoration: none;
}
.pink{
	color: #ff6a7f;
}
#footNav .innerBox a:hover {
	color: #333;
	text-decoration: underline;
}
.fBox {
	padding: 15px 0 0;
	background: #ebe9e9;
}
.fBox .address {
	width: 1000px;
	max-width: 100%;
	margin: auto;
	font-size: 14px;
}
.fBox .fname {
	font-size: 20px;
	font-weight: 500;
	font-family: a-otf-jun-pro, sans-serif;
}

#copyright {
	clear: both;
	padding: 25px 0 30px 0;
	font-size: 12px;
	line-height: 1;
	text-align: center;
}

/*------------------------------------------------------------------------------
	CONTENT
------------------------------------------------------------------------------*/

.bnr {
	text-align: center;
}
#contents {
	padding-bottom: 30px;
}
#top_contents {
	text-align: center;
}
#top #top_contents {
	padding: 0px;
}
#wrap_contents {
	padding: 0 0 20px;
}
/* 1カラム */
.layout1 #main_contents {
	margin: auto;
	box-sizing: border-box;
}

.layout3 #main_contents {
	float: right;
	width: 775px;
}

/* サイド */
.layout3 #side_contents_left {
	position: relative;
	float: left;
	padding-top: 30px;
	width: 190px;
}

.sideBox {
	margin-bottom: 40px;
	padding: 25px 5px 1px 15px;
	background: #e9e9e9;
}

.sideBox h2 {
	margin: 0 10px 30px 0;
	font-size: 19px;
	font-weight: 400;
	font-family: a-otf-jun-pro, sans-serif;
	text-align: center;
}

.sideBox ul {
	font-size: 14px;
	line-height: 1.3;
}
.sideBox li {
	position: relative;
	margin: 0 0 26px;
	padding-left: 15px;
}
.sideBox li:before {
	position: absolute;
	display: block;
	content: "";
	top: 3px;
	left: 0;
	width: 10px;
	height: 10px;
	background: #999;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
#contents .sideBox li a {
	color: #363636;
	text-decoration: none;
}
#contents .sideBox li a:hover {
	color: #ff6a7f;
}

/* 	リスト */
.maruNumber {
	margin-bottom: 20px;
}
.maruNumber > li {
	position: relative;
	padding-left: 15px;
	margin: 0 0 7px;
}
.maruNumber > li:before {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
}
.maruNumber > li:nth-child(1):before {
	content: "①";
}
.maruNumber > li:nth-child(2):before {
	content: "②";
}
.maruNumber > li:nth-child(3):before {
	content: "③";
}
.maruNumber > li:nth-child(4):before {
	content: "④";
}
.maruNumber > li:nth-child(5):before {
	content: "⑤";
}
.maruNumber > li:nth-child(6):before {
	content: "⑥";
}
.maruNumber > li:nth-child(7):before {
	content: "⑦";
}
.maruNumber > li:nth-child(8):before {
	content: "⑧";
}
.maruNumber > li:nth-child(9):before {
	content: "⑨";
}
.maruNumber > li:nth-child(10):before {
	content: "⑩";
}


.asta {
	margin-bottom: 20px;
}
.asta > li {
	position: relative;
	padding-left: 15px;
	margin: 0 0 7px;
}
.asta > li:before {
	position: absolute;
	display: block;
	content: "※";
	top: 0;
	left: 0;
}


ul.disc {
	margin: 5px 0;
	padding: 0 0 0 20px;
}
ul.disc li {
	list-style-type: disc;
}
ol > li {
	position: relative;
	list-style-type: decimal;/* 算用数字 */
	margin: 0 0 7px 20px;
}



/* 	記事一覧 */
.page_links {
	display: table;
	margin: 30px auto 10px !important;
	border-collapse:collapse;
}

.pager {
	display: table;
	margin: 10px auto 50px;
	border-collapse:collapse;
}

/* 記事一覧ページナビ */

.page_links .summary,
.page_links .current,
.page_links a,
.pager .summary,
.pager .current,
.pager a {
	display: table-cell;
	padding: 5px 10px;
	color: #333 !important;
	text-decoration: none;
	border: 1px solid #999;
}
.page_links a:hover,
.pager a:hover {
	color: #000;
	background: #eee;
	border: 1px solid #333;
}
.page_links .current,
.pager .current {
	background: #ccc;
	border: 1px solid #999;
}

#topics_detail7 .page_links {
	display: block;
}

#topics_detail7 .page_links a {
	display: inline-block;
}
#topics_detail7 .page_links a.back {
	float: left;
}
#topics_detail7 .page_links a.next {
	float: right;
}


ul.disc li {
	list-style-type: disc;
	margin: 0 0 5px 0;
}
ol.num li {
	list-style-type: decimal;/* 算用数字 */
	margin: 0 0 0 20px;
}



/* プライバシーポリシー */

#main_module .policy dt {
	margin: 0 0 13px;
	padding: 8px 10px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	text-align: left;
	color: #a0011b;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #f3ebf3;
}
#main_module .policy dd {
	margin: 0 0 30px 30px;
}



/* policy */

#topics_detail4 .entry h3 {
	padding-bottom: 2px;
	margin-bottom: 20px;
	font-size: 19px;
	line-height: 1;
	border-bottom: 1px solid #ebe9e9;
	border-bottom: 1px solid #ffe5e5;
}


/* オプション 下層 */

#main_contents .ico,
#main_contents .mv,
#main_contents h1 {
	text-align: center;
}
#main_contents .box1 {
	margin-bottom: 80px;
}
#main_contents .block {
	margin-bottom: 60px;
}
.blockSpace {
	padding-top: 30px;
}


#main_contents h2 {
	margin-bottom: 45px;
	padding: 25px 0 0;
	font-size: 27px;
	font-weight: 400;
	line-height: 1.3;
	text-align: center;
	color: #ff6666;
	background:url("../../img/bg_h2.png") bottom left no-repeat;
}

#topics_detail7 #main_contents h2 {
	padding-left: 55px;
	background:url("../../img/bg_h2.png") -50px bottom no-repeat
}



#topics_detail1 #main_contents h3,
#topics_detail2 #main_contents h3 {
	position: relative;
	display: inline-block;
	margin-bottom: 20px;
	font-size: 19px;
	font-weight: 600;
	line-height: 1.3;
	color: #689acd;
	border-bottom: 2px solid #bdd0e7;
}
#topics_detail1 #main_contents h3:after,
#topics_detail2 #main_contents h3:after {
	position: relative;
	display: block;
	content: "";
	clear: both;
}

#main_contents .listPink {
	margin: 30px 0;
}
#main_contents .listPink dt {
	margin: 0 0 5px;
	font-size: 16px;
	color: #ff6666;
}
#main_contents .listPink dd {
	padding: 0 0 30px;
}
#main_contents .listPink dd:after {
	position: relative;
	display: block;
	content: ".";
	clear: both;
	visibility: hidden;
	height: 0;
}
#main_contents .link:before {
	display: block;
	content: "";
}
#main_contents .link {
	position: relative;
	float: right;
	display: table;
}
#main_contents .link li {
	display: table-cell;
	vertical-align: top;
	padding: 5px 0 0 30px;
	line-height: 1.3;
}
#main_contents .link li a {
	position: relative;
	padding-left: 15px;
	margin-bottom: -3px;
	border-bottom: 1px solid #0066cc;
}
#main_contents .link li a:hover {
	-webkit-transition: 0s ease-in-out;  
	-moz-transition: 0s ease-in-out;  
	-o-transition: 0s ease-in-out;  
	transition: 0s ease-in-out; 
	text-decoration: none;
	color: #ff6666;
	border-bottom: 1px solid #ff6666;
}
#main_contents .link li a:before {
	position: absolute;
	display: block;
	content: "";
	width: 0;
	height: 0;
	top: 3px;
	left: 2px;
	border: 7px solid transparent;
	border-left: 10px solid #0066cc;
}
#main_contents .link li a:hover:before {
	border-left: 10px solid #ff6666;
}


.planList {
	position: relative;
	display: table;
}
.planList dt {
	position: relative;
	padding-left: 20px;
	line-height: 1;
	color: #f16b75;
}
.planList dt:before {
	position: absolute;
	display: block;
	content: "";
	top: 0px;
	left: 7px;
	width: 0;
	height: 0;
	border: 7px solid transparent;
	border-left: 7px solid #f16b75;
}
.planList dt:after {
	position: absolute;
	display: block;
	content: "";
	top: 4px;
	left: 0;
	width: 10px;
	height: 5px;
	background: #f16b75;
}
.planList > li {
	display: table-cell;
	vertical-align: top;
}
.planList > li:nth-child(2) {
	padding-left: 40px;
}
.planList dl {
	padding: 23px 0 0 30px;
}
.planList dl .plan01 {
	margin: 10px 0 0 15px;
}
.planList dl .plan01 li {
	position: relative;
	padding-left: 10px;
}
.planList dl .plan01 li:before {
	position: absolute;
	display: block;
	content: "";
	top: 10px;
	left: 0;
	width: 2px;
	height: 2px;
	background: #333;
}
#topics_detail1 #main_contents h1,
#topics_detail2 #main_contents h1 {
	margin: 0 0 80px;
	padding: 20px 0 25px;
	font-size: 30px;
	font-weight: 500;
	font-family: a-otf-jun-pro, sans-serif;
}
#topics_detail1 #main_contents h1 .small,
#topics_detail2 #main_contents h1 .small {
	font-size: 24px;
	font-family: a-otf-jun-pro, sans-serif;
}
#topics_detail1 #main_contents .catch,
#topics_detail2 #main_contents .catch {
	margin-bottom: 50px;
	font-size: 16px;
}



/* 下層 */
#main_contents h1.line,
#top_contents h1.line {
	position: relative;
	margin: 0 0 25px 0;
	padding: 20px 0 25px;
	font-size: 30px;
	font-family: a-otf-jun-pro, sans-serif;
	font-weight: 300;
	line-height: 1.3;
	color: #fff;
	background: #ff9999;
}

#topics_detail2 #main_contents h1.line,
#topics_detail6 #main_contents h1.line,
#topics_detail1 #main_contents h1.line {
	margin: 0;
}

#topics_list8 #contents,
#topics_list7 #contents,
#topics_detail7 #contents,
#topics_detail2 #contents,
#topics_detail6 #contents,
#topics_detail1 #contents {
	position: relative;
}
#topics_list8 #contents:before,
#topics_list7 #contents:before,
#topics_detail7 #contents:before,
#topics_detail2 #contents:before,
#topics_detail6 #contents:before,
#topics_detail1 #contents:before {
	position: absolute;
	display: block;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 150px;
	height: 90px;
	background: #ff9999;
}

.mv {
  margin: 30px 0;
  text-align: center;
}

.mv img {
  display: block;
  width: 100%;
  height: auto;
}
#contents1000122 h1,
#contents1000119 h1,
#contents1000117 h1,
#contents1000144 h1,
#contents1000109 h1 {
	margin-bottom: 0 !important;
}
#contents1000122 .mv,
#contents1000119 .mv,
#contents1000117 .mv,
#contents1000144 .mv,
#contents1000109 .mv {
	margin-top: 0 !important;
}


.table01 {
	border-collapse:collapse;
}
.table01 th,
.table01 td {
	border: 1px solid #999;
}

.table01 th {
	padding: 5px 10px;
	font-size: 16px;
	text-align: left;
	background: #ebe9e9;
}
.table01 th.thC {
	width: 40px;
	text-align: center;
}
.table01 .th2 {
	padding-left: 50px;
}

.table01 td {
	padding: 9px 20px;
	font-size: 22px;
	line-height: 1.3;
	text-align: center;
}
.table01 td p {
	text-align: left;
}
.table01 th.space {
	border-top: 0px;
	border-left: 0px;
	background: none;
}
.table01 .plan-l,
.table01 .plan-s {
	padding: 12px 0 8px;
	width: 305px;
	font-size: 19px;
	text-align: center;
	box-sizing: border-box;
}
.table01 th li  {
	margin-top: 3px;
}
table .plan-l a,
table .plan-s a {
	display: block;
	margin: auto;
	padding: 6px 10px 9px;
	width: 180px;
	font-family: a-otf-jun-pro, sans-serif;
	font-size: 15px;
	font-weight: 400;
	text-align: left;
	line-height: 1;
	color: #fff !important;
	-webkit-border-radius: 8px;
	border-radius: 8px;
	background:  url("../../img/bnr_ico02.png") 99% center no-repeat;
	background-size: 20px;
	box-sizing: border-box;
}
table .plan-l a {
	background-color: #5cbaff;
}
table .plan-s a {
	background-color: #ff9999;
}
table .plan-l {
	text-align: center;
	background: #e5f4ff !important;
}
table .plan-s {
	text-align: center;
	background: #ffe5e5 !important;
}

table .btn01 {
	position: relative;
	float: right;
}
table .btn01 a {
	position: relative;
	padding-right: 17px;
	font-size: 13px;
}
table .btn01 a:after {
	position: absolute;
	display: block;
	content: "";
	top: 3px;
	right: 0px;
	width: 0;
	height: 0;
	border: 6px solid transparent;
	border-left: 8px solid #0066cc;
}
#plan {
	margin-top: 80px;
}


.table02 {
	position: relative;
	margin-left: -10px;
	width: 1020px;
	border-spacing: 10px 20px;
	border-collapse: separate;
}
.table02 th {
	padding: 10px 20px;
	background: #e8e8e8;
}
.table02 td {
	padding: 10px 15px;
	border: 1px solid #ccc;
}
.table02 td .txt-l {
	line-height: 1.5;
}
#lite .table02 th,
#standard .table02 th {
	padding: 10px 20px;
	font-size: 16px;
	text-align: center;
	white-space: nowrap;
}
.table03 th {
	text-align: center;
	background: #ffe5e5;
}


/* スタンダードプラン */
.osusume  {
	display: table;
	margin: 40px auto 40px;
}
.osusume .cell1,
.osusume .cell2 {
	padding: 10px;
	display: table-cell;
	vertical-align: middle;
}
ul.dot li {
	position: relative;
	padding-left: 14px;
}
ul.dot li:before {
	position: absolute;
	display: block;
	content: "";
	width: 2px;
	height: 2px;
	top: 12px;
	left: 5px;
	background: #333;
}

.osusume ul.dot li {
	font-size: 16px;
}


#standard {
	margin-bottom: 70px;
}
#standard .table01 th {
	padding: 10px;
}
#standard .table01 td {
	padding: 15px 20px  13px 30px;
}
#lite .asta li,
#standard .asta li {
	margin-bottom: 0;
}


.osList {
	margin-top: 50px;
}
.osList li {
	float: left;
	margin: 0 20px 20px 0;
	padding: 10px;
	width: 490px;
	background: #ffe5e5;
}
.osList2 li {
	background: #e5f4ff;
}
.osList li:nth-child(even) {
	margin-right: 0;
}

.osList li .inBox {
	padding: 15px 30px;
	background: #fff;
}
.osList li .head {
	padding-bottom: 4px;
	font-size: 19px;
	text-align: center;
}
.morebtn01 {
	margin-top: 10px;
	position: relative;
}
.morebtn01:after {
	position: relative;
	display: block;
	content: "";
	clear: both;
	height: 0;
}
.morebtn01 a {
	float: right;
	position: relative;
	padding-right: 17px;
	line-height: 1;
}
.morebtn01 a:after {
	position: absolute;
	display: block;
	content: "";
	top: 0.05em;
	right: 0px;
	width: 0;
	height: 0;
	border: 6px solid transparent;
	border-left: 8px solid #0066cc;
}


.morebtn02 {
	position: relative;
}
.morebtn02 a {
	margin: 20px auto;
	position: relative;
	display: table;
	padding: 20px;
	font-size: 19px;
	line-height: 1;
	text-decoration: none;
	color: #fff !important;
	background: #ffb2b2;
	-webkit-border-radius: 8px;
	border-radius: 8px;
}
.morebtn02 a:hover {
	background: #ccc;
}



.wrap01 {
	margin-top: 60px;
}

.subTit01 {
	position: relative;
	margin-bottom: 15px;
	padding-left: 20px;
	font-weight: 600;
	border-bottom: 1px solid #999;
}
.subTit01:before {
	position: absolute;
	display: block;
	content: "";
	top: 0.5em;
	left: 0;
	width: 10px;
	height: 10px;
	background: #999;
}

#bottom_contents {
	text-align: center;
  margin-bottom: 30px;
}
#bottom_contents img {
	margin: 20px 0;
}

#sub_module4 {
	margin-top: 60px;
	text-align: center;
}
#sub_module4 img {
	margin: 20px 0;
}




/* 下層 ●英字アイコン */

.ico00 {
	position: relative;
	padding: 20px 0 5px;
	font-family: a-otf-jun-pro, sans-serif;
	font-weight: 300;
	font-size: 18px;
	line-height: 1;
	text-align: center;
	color: #fff;
	background: #ff9999;
}
.ico00:before {
	position: relative;
	display: block;
	content: "";
	margin: 0 auto 5px;
	width: 10px;
	height: 10px;
	background: #fff;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}

/* 
.wrap02 {
	margin: auto;
	width: 700px;
}
*/

/* 下層 txt */
#main_contents .txt01 {
	line-height: 2.14;
}
/* 下層 ●つき見出し */
.st01 {
	position: relative;
	margin-bottom: 10px;
	font-family: a-otf-jun-pro, sans-serif;
	font-weight: 300;
	font-size: 26px;
	text-align: center;
}
.st01:before {
	position: relative;
	display: block;
	content: "";
	margin: 0 auto 2px;
	width: 10px;
	height: 10px;
	width: 0;
	height: 0;
	background: #999;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
/* 下層 ピンク見出し */
.st02 {
	margin: 20px 0 10px;
	font-family: a-otf-jun-pro, sans-serif;
	font-weight: 300;
	font-size: 24px;
	text-align: center;
	color: #ff6666;
}
.st02 .txt02 {
	margin-right: 25px;
	font-size: 15px;
	font-family: a-otf-jun-pro, sans-serif;
	font-weight: 300;
	color: #363636;
}
/* MVの上のテキスト */
.mvTxt {
	margin-top: 70px;
	font-size: 27px;
	font-family: a-otf-jun-pro, sans-serif;
	font-weight: 500;
	text-align: center;
}
.mvTxt2 {
	margin-bottom: 5px;
	font-size: 20px;
	font-family: a-otf-jun-pro, sans-serif;
	font-weight: 500;
	font-weight: 600;
}
.catch {
	margin: 30px 0;
	font-size: 16px;
}


.bnr01 a {
	position: relative;
	display: block;
	margin: auto;
	padding-top: 20px;
	width: 600px;
	height: 74px;
	text-align: center;
	text-decoration: none;
	background: #ff9999;
	-webkit-border-radius: 8px;
	border-radius: 8px;
	box-sizing: border-box;
	background: #ff9999;
}
.bnr01 a:hover {
	background-color: #fcb9b9;
	-webkit-transition: 0.3s ease-in-out;  
	-moz-transition: 0.3s ease-in-out;  
	-o-transition: 0.3s ease-in-out;  
	transition: 0.3s ease-in-out; 
}
.bnr01 a span {
	padding: 20px 0;
	font-size: 22px;
	font-family: a-otf-jun-pro, sans-serif;
	font-weight: 500;
	line-height: 1.3;
	color: #fff;
}


.priceCalc {
	margin-bottom: 10px;
}
.priceCalc li {
	position: relative;
	float: left;
	margin-right: 55px;
	padding: 18px 0;
	width: 150px;
	font-size: 16px;
	line-height: 1;
	text-align: center;
	background: #ffe6e5;
}
.priceCalc li:before,
.priceCalc li:after {
	position: absolute;
	display: block;
	content: "";
	background: #333;
}
.priceCalc li:before {
	top: 22px;
	right: -38px;
	width: 24px;
	height: 3px;
}
.priceCalc li:after {
	top: 12px;
	right: -28px;
	width: 3px;
	height: 24px;
}
.priceCalc li:last-child {
	margin-right: 0px;
}
.priceCalc li:last-child:before,
.priceCalc li:last-child:after {
	display: none;
}
.priceCalc li.op {
	background: #91ceff;
}
.baloonWrap {
	padding: 25px 0 0 330px;
}
#main_module_id_4 .baloonWrap,
#main_module_id_12 .baloonWrap,
#main_module_id_14 .baloonWrap,
#main_module_id_20 .baloonWrap,
#main_module_id_21 .baloonWrap,
#main_module_id_22 .baloonWrap,
#main_module_id_23 .baloonWrap {
	padding-left: 125px;
}


.baloon {
	position: relative;
	width: 310px;
	padding: 18px 0 13px;
	font-size: 18px;
	line-height: 1.3;
	text-align: center;
	color: #00689a;
	background: #c8e6ff;
	border: 1px solid #009dff;
	box-sizing: border-box;
}
.baloon .big {
	font-size: 30px;
}
.baloon .small {
	font-size: 13px;
}
.baloon:before,
.baloon:after {
	position: absolute;
	display: block;
	content: "";
	width: 0;
	height: 0;
}
.baloon:before {
	top: -45px;
	left: calc(50% - 20px);
	border: 20px solid transparent;
	border-bottom: 30px solid #009dff;
	z-index: -1;
}
.baloon:after {
	top: -43px;
	left: calc(50% - 20px);
	border: 20px solid transparent;
	border-bottom: 30px solid #c8e6ff;
}




.advBox {
	margin: 20px 0 40px;
	display: table;
}
.advBox .ill,
.advBox .txt {
	display: table-cell;
	vertical-align: top;
}
.advBox .ill {
	padding-top: 5px;
	width: 205px;
}


/* オプション価格表 */
.table04 {
	width: 100%;
	border-collapse:collapse;
}
.table04 th,
.table04 td {
	border: 1px solid #999;
}
.table04 th {
	padding: 5px 10px;
	background: #ebe9e9;
}
.table04 th.th01 {
	padding-right: 0;
	border-right: 1px solid #ebe9e9;
}
.table04 th.th02 {
	padding: 5px;
	white-space: nowrap;
	border-left: 1px solid #ebe9e9;
}
.table04 th.plan-l,
.table04 th.plan-s {
	padding: 15px 0;
	width: 35% !important;
}
.table04 td {
	padding: 15px 10px;
	font-size: 16px;
	text-align: center;
}
.table04 td .small {
	font-size: 12px;
}
.down {
	text-align: left;
	text-decoration: underline;
}
.modalText {
	display: none;
	background: #fff;
	padding: 10px;
	font-size: 90%;
	text-align: left;
}
.table04 th ul {
	margin-top: 10px;
}
.table04 th.space {
	background: none;
	border-top: 0px;
	border-left: 0px;
}



/* ブログ */
#contents1000136 .topics_contents p {
	margin: 0 0 20px;
}
#main_contents #contents1000136 h2 {
	margin-bottom: 20px;
}


#contents1000133 .none {
	display: none;
}
#contents1000133 h2,
#contents1000136 h2 {
	margin-top: 50px;
}
#contents1000133 ul {
	margin-top: 10px;
}
.articleBlocl {
	display: table;
	width: 100%;
	margin: 0 0 30px;
	border-bottom: 1px solid #e9e9e9;
}
.articleBlocl .thumbnail,
.articleBlocl .text {
	display: table-cell;
	vertical-align: top;
}
.articleBlocl .thumbnail {
	width: 170px;
}
.articleBlocl .thumbnail img {
	width: 150px;
}
.articleBlocl .text {
	padding-bottom: 25px;
}

#topics_list7 #main_contents h3 a {
	position: relative;
	margin-bottom: 20px;
	font-size: 19px;
	font-weight: 600;
	line-height: 1.3;
	color: #ff6666;
}
#topics_list7 #main_contents h3 a:hover {
	color: #689acd;
	text-decoration: underline;
}
#topics_list7 #main_contents .ymd,
#topics_list7 #main_contents .category {
	display: inline-block;
	margin: 0 20px 0 0;
}
#topics_list7 #main_contents .digest {
	margin: 15px 0 0;
}
#topics_list7 .articleBlocl .cat a {
	margin: 0 5px 3px 0;
	display: inline-block;
	padding: 5px 10px 3px 10px;
	font-size: 95%;
	line-height: 1;
	color: #000;
	background: #e9e9e9;
	-webkit-border-radius: 10px;
	border-radius: 10px;
}
#topics_detail7 .category {
	text-align: right;
}
#topics_detail7 .cat a {
	margin: 0 0 0 5px;
	display: inline-block;
	padding: 5px 10px 3px 10px;
	font-size: 95%;
	line-height: 1;
	color: #000;
	background: #e9e9e9;
	-webkit-border-radius: 10px;
	border-radius: 10px;
}
#topics_detail7 .cat a:hover {
	text-decoration: none;
	background: #ffc0c0;
}

/* ポイント */
.pointBox {
	margin: 50px 0 30px 40px;
	position: relative;
	padding: 10px;
	background: #ffcc33;
}
.pointBox .pTit {
	padding: 5px 20px 0;
	font-size: 19px;
	font-weight: 600;
	text-align: center;
}
.pointBox .txt01 {
	text-align: center;
	padding: 5px 10px 3px;
	background: #fff;
}
.pointBox:after {
	position: absolute;
	display: block;
	content: "";
	top: -33px;
	left: -35px;
	width: 76px;
	height: 93px;
	background: url(../../option/ic_point.png) 0 0 no-repeat;
}



/* お申し込みの流れ */
.application .catch2 {
	margin: 40px 0;
}
.application .catch2 dt {
	height: 20px;
	font-size: 16px;
	font-weight: 600;
	color: #ff6666;
}
.application .catch2 dd {
	margin: -20px 0  40px;
	padding-left: 145px;
}

.application .flow {
	margin: 0 0 30px;
}
.application .flow li {
	margin: -20px 0 0 0;
	position: relative;
}
.application .flow > li:after {
	position: relative;
	display: block;
	content: "";
	top: -2px;
	left: calc(50% - 10px);
	width: 0;
	height: 0;
	border: 20px solid transparent;
	border-top: 40px solid #ff6666;
}
.application .flow > li:last-child:after {
	display: none;
}
.application .flow li .inner {
	display: table;
	width: 100%;
	border: 2px solid #ffb2b2;
	box-sizing: border-box;
}
.application .flow li .cell1,
.application .flow li .cell2 {
	display: table-cell;
	vertical-align: middle;
}
.application .flow li .cell1 {
	padding: 20px 0;
	width: 160px;
}
.application .flow li .cell2 {
	padding: 25px 15px  25px 0;
}
.application .flow li .ic {
	margin: 0 auto;
	padding: 12px 0 10px;
	width: 82px;
	font-size: 22px;
	line-height: 1;
	text-align: center;
	color: #ff6666;
	background: #ffe5e5;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	box-sizing: border-box;
}
.application .flow li .cell1 .hl {
	margin: 5px 0 0;
	font-size: 22px;
	line-height: 1.4;
	text-align: center;
}
.application .flow li .cell2 .asta {
	margin: 10px 0 0;
}
.application .flow li .cell2 .asta li {
	margin: 0;
	font-size: 12px;
}


.terms .txt01 {
	margin-bottom: 15px;
}
#term ol {
	margin: 15px 0;
}
#term ol li {
	margin-left: 0;
	list-style-type: none;
	counter-increment: cnt;
}
#term ol li:before {
	content: "（" counter(cnt) "）";
}
/* */


#contents1000090,
#contents1000090 .sideBox,
#contents1000092,
#contents1000092 .sideBox,
#contents1000107,
#contents1000107 .sideBox,
#contents1000094,
#contents1000094 .sideBox,
#contents1000164 ,
#contents1000164 .sideBox {
	background: #ff9999;
}
#contents1000090,
#contents1000094 {
	margin-top: -25px;
}

#contents1000090 .sideBox,
#contents1000092 .sideBox,
#contents1000107 .sideBox,
#contents1000094 .sideBox {
	padding-top: 0;
}



#contents1000090 .sideBox,
#contents1000092 .sideBox,
#contents1000107 .sideBox,
#contents1000094 .sideBox,
#contents1000164 .sideBox {
	margin-bottom: 0;
}
#contents1000090 .sideBox ul ,
#contents1000092 .sideBox ul ,
#contents1000107 .sideBox ul ,
#contents1000094 .sideBox ul ,
#contents1000164 .sideBox ul {
	display: table;
	margin: -15px auto 10px;
	width: 762px;
}

#contents1000090 .sideBox ul ,
#contents1000092 .sideBox ul ,
#contents1000107 .sideBox ul ,
#contents1000094 .sideBox ul  {
	width: 900px;
}



#contents1000090 .sideBox li ,
#contents1000092 .sideBox li ,
#contents1000107 .sideBox li ,
#contents1000094 .sideBox li ,
#contents1000164 .sideBox li {
	position: relative;
	float: left;
	margin: 0 0 22px;
	padding-left: 15px;
	text-align: left;
}
#contents1000164 .sideBox li:nth-child(2n){
	width: 432px;
}
#contents1000164 .sideBox li:nth-child(2n-1){
	width: 330px;
}

#contents1000090 .sideBox li ,
#contents1000092 .sideBox li ,
#contents1000107 .sideBox li ,
#contents1000094 .sideBox li {
	margin-right: 30px;
}


#contents1000090 .sideBox li a,
#contents1000092 .sideBox li a,
#contents1000107 .sideBox li a,
#contents1000094 .sideBox li a,
#contents1000164 .sideBox li a {
	color: #fff;
}
#contents1000164 .sideBox li a {
	font-size: 18px;
}


#contents1000090 .sideBox li:before,
#contents1000092 .sideBox li:before,
#contents1000107 .sideBox li:before,
#contents1000094 .sideBox li:before,
#contents1000164 .sideBox li:before {
	position: absolute;
	display: block;
	content: "";
	top: 2px;
	left: 0;
	width: 0;
	height: 0;
	border: 9px solid transparent;
	border-left: 12px solid #fff;
	background: transparent;
	-webkit-border-radius: 0;
	border-radius: 0;
}
#contents1000090 .sideBox li:before,
#contents1000092 .sideBox li:before,
#contents1000107 .sideBox li:before,
#contents1000094 .sideBox li:before {
	border: 6px solid transparent;
	border-left: 9px solid #fff;
}




.faqBox {
	margin: 50px 0 50px;
	padding-bottom: 30px;
	border-bottom: 1px solid #eee;
}
.faqBox dt {
	position: relative;
	display: block;
	margin-top: 20px;
	padding-top: 25px;
	font-size: 16px;
	font-weight: 600;
	text-align: left;
	padding-left: 40px;
	border-top: 1px solid #eee;
	cursor: pointer;
}
.faqBox dt span {
	text-decoration: underline;
}
.faqBox dt:before {
	position: absolute;
	display: block;
	content: "Q.";
	top: 15px;
	left: 0;
	font-size: 34px;
	font-family: a-otf-jun-pro, sans-serif;
	font-weight: 400;
	line-height: 1;
	color: #689acd;
}
.faqBox dd {
	display: none;
	position: relative;
	height: auto !important;
	padding: 20px 0 30px 40px !important;
	margin: 20px 0 50px 0;
	text-align: left;
}
.faqBox dd:before {
	position: absolute;
	display: block;
	content: "A.";
	top: 15px;
	left: 0;
	font-size: 34px;
	font-family: a-otf-jun-pro, sans-serif;
	font-weight: 400;
	line-height: 1;
	color: #ff6666;
}
.faqBox .bgBox {
	margin-top: 10px;
	padding: 10px;
	background: #ffe5e5;
	background: rgb(255,229,229,0.6);
}
.faqBox .asta,
.faqBox .asta li {
	margin-bottom: 0;
}
.faqBox ol li {
	margin-top: 10px;
}



.fileBox {
	clear: both;
	margin: 0 0 60px;
	padding: 20px;
	background: #ffe5e5;
	background: rgb(255,229,229,0.6);
}
.fileBox dd {
	margin: 0 0 15px 20px;
}
.fileBox dd ul {
	margin-bottom: 20px;
}
#confirm .fileBox {
	display: none;
}
#confirm #inquiry_p_ext_title_02 br {
	display: block;
}



/*--------------------
survey report
--------------------*/

#main_contents .survey h2 {
	font-size: 22px;
}
#main_contents .survey .mv {
	margin: 0 0 50px;
}
.survey .box {
	margin: 0 0 80px;
}
.survey h3.title_report_02 {
	font-family: a-otf-jun-pro, sans-serif;
	font-size: 21px;
	font-weight: 700;
	text-align: center;
	color: #3399cc;
}
.survey .p_report_01 {
	margin: 10px 20px;
	line-height: 1.714;
}
.survey .dl_box_01 {
	display: table;
	margin: 15px 0;
	width: 100%;
	border :1px solid #9fdaf9;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}
.survey .dl_box_01 dt,
.survey .dl_box_01 dd {
	display: table-cell;
	padding: 10px 20px;
	vertical-align: middle;
}
.survey .dl_box_01 dt {
	width: 110px;
	text-align: center;
	background: #c5e8fb;
	box-sizing: border-box;
}
#main_contents .survey .back_report_cmn {
	position: relative;
	margin: 50px 0 30px 0;
	padding: 4px 10px 8px 65px;
	font-size: 22px;
	font-family: a-otf-jun-pro, sans-serif;
	font-weight: 500;
	background: #ffe5e5;
}
.survey .back_report_cmn span {
	margin-left: 20px;
	color: #ff6666;
}
.survey .back_report_cmn:before {
	position: absolute;
	top: 5px;
	left: 20px;
	padding-top: 3px;
	width: 42px;
	height: 42px;
	content: "";
	font-size: 22px;
	font-weight: 600;
	font-family: Arial;
	text-align: center;
	color: #ff6666;
	background: #fff;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	box-sizing: border-box;
}
.survey .back_report_cmn.back_report_01:before {
	content: "1";
}
.survey .back_report_cmn.back_report_02:before {
	content: "2";
}
.survey .back_report_cmn.back_report_03:before {
	content: "3";
}
.survey .back_report_cmn.back_report_04:before {
	content: "4";
}
.survey .box_report_01 {
	margin: 15px 0 20px;
	padding: 10px 30px;
	background: #fcfbd1;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}
.survey .box_report_01 ul {
	width: 305px;
}
.survey .box_report_01 li {
	margin: 5px 0;
	font-weight: 700;
}
.survey .text_report_01 {
	color: #057ab8;
}
.survey .text_report_02 {
	color: #e7556d;
}
.bnr_report {
	margin: 60px 0 0;
}
.top_bnr_report {
	clear: both;
	padding: 60px 0 0;
	text-align: center;
}



.stBox {
	margin: auto;
	display: table;
}
.stBox > div {
	display: table-cell;
	padding: 10px;
	vertical-align: middle;
}

.op6 img {
	box-shadow:0px 0px 6px 0px #cccccc;
}


.colBox {
	display: table;
	width: 100%;
}
.colBox .lCol,
.colBox .rCol {
	display: table-cell;
	vertical-align: middle;
}
.colBox .lCol {
	padding-right: 50px;
}
.colBox img {
	width: 350px;
	min-width: 350px;
	max-width: 350px;
}
.colBox .rCol img {
	float: right;
}

.fbnr2 {
	margin: 10px auto -10px;
	display: table;
}
.fbnr2 li {
	display: table-cell;
	padding: 0 15px;
	vertical-align: middle;
}

#contents1000060,
#contents1000055 {
	width: 1000px;
	max-width: 100%;
	margin: auto;
}


/* 2026-01-23 ベーシックプラン完成形 */

/* 右カラム全体はピンク */
#contents1000221 #plan table.table04 td.plan-b {
  background-color: #ffe6e6;
  padding: 0;
}

/* 上（説明文）：ピンク */
#contents1000221 #plan table.table04 td.plan-b .plan-top {
  padding: 20px 10px;
}

/* 区切り線（必要） */
#contents1000221 #plan table.table04 td.plan-b hr {
  border: none;
  border-top: 1px solid #999;
  margin: 0;
}

/* 下（4,000円／20コール以下）：白 */
#contents1000221 #plan table.table04 td.plan-b .plan-bottom {
  background-color: #ffffff;
  padding: 20px 10px;
}



/* 本人確認・注意事項 共通 20260209 */
.noticeBox { line-height: 1.9; }
.noticeBox h2 { margin: 0 0 14px; }
.noticeBox h3 { margin: 26px 0 10px; }
.noticeBox h4 { margin: 22px 0 10px; }

.noticeList { margin: 0 0 14px; padding-left: 1.2em; }
.noticeList li { margin: 6px 0; }

.noticeOl { margin: 0 0 14px; padding-left: 1.4em; }
.noticeOl li { margin: 10px 0; }

.noteRed { margin: 0 0 10px; color: #cc0000; }

/* ===== 2026-02-10 追加分（オプション共通・確定版）===== */

/* オプション画像共通（でないで／不動産情報） */
img[src*="denaide"],
img[src*="estate-info"]{
  width: 100%;
  max-width: 900px;   /* layout3 本文幅に合わせる */
  height: auto;
  display: block;
  margin: 0 auto 24px;
}

/* 画像コンテナ（既存HTML互換） */
.deny-image{
  text-align: center;
  margin-bottom: 24px;
}


/* 20260212===== オプション料金（白背景＋左ピンクライン）===== */
/* オプション料金（統一仕様） */
.option-price-box{
  background:#fff8fa;
  border:1px solid #f3b6c3;
  border-radius:6px;
  padding:22px 26px;
  margin:30px 0 40px 0;
  box-sizing:border-box;
}


.option-label{
  color:#e85b7a;
  font-size:13px;
  margin-bottom:10px;
}

.option-price{
  font-size:18px;
}

.price-num{
  font-size:28px;
  font-weight:bold;
  color:#e85b7a;
}

.option-flex{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
}

.option-card{
  flex:1;
  min-width:260px;
  background:#fbeaea;
  padding:20px;
  border-radius:10px;
}

.option-card-title{
  margin:0 0 10px 0;
  font-weight:bold;
}

.option-list{
  margin:0;
  padding-left:0;
}

.option-list li{
  margin:0 0 6px 0;
}

.option-flow{
  margin:0;
  padding-left:20px;
}

.option-flow li{
  margin:0 0 6px 0;
}


/* 注意書きも揃える */

.option-price-box + .asta{
    background:#fff;
    border-left:4px solid #f3a5b5;
    padding:18px 25px;
    margin-top:15px;
}

.option-link{
  text-align:center;
  margin:25px 0 40px;
}

.option-link a{
  color:#0066cc;
  text-decoration:none;
}

.option-link a:hover{
  text-decoration:underline;
}

/* ヘッダー被さり防止 */
#header .hCol.card {
  pointer-events: none;
}

/* 20260220 */


/* gNav02 が li 2個のときだけ：左＝1個目、右＝2個目 */
.gNav02 li:first-child:nth-last-child(2){
  width: 50%;
  text-align: left;
}
.gNav02 li:last-child:nth-child(2){
  width: 50%;
  text-align: right;
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
オプションページ等に個別指定してあったCSS
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#MB_close span {
    visibility: hidden;
}
#MB_close {
    padding:0;
    margin-right:5px;
    width:64px;
    height:21px;
    background-image: url(/images/management/close_l.gif?v=1462552476);
}
#MB_close:hover {
    background-image: url(/images/management/close_l_on.gif?v=1462552476);
}
#lightwindow_title_bar_close_link span {
    visibility: hidden;
}
#lightwindow_title_bar_close_link {
    width:63px;
    height:19px;
    background-image: url(/images/management/close_s.gif?v=1462552476);
}
#lightwindow_title_bar_close_link:hover {
    background-image: url(/images/management/close_s_on.gif?v=1462552476);
    text-decoration: none;
}
/* ロゴ内に配置（既存レイアウト維持） */
.headWrap .head01 .logo{
  position: relative;
}

/* コピー全体 */
.headWrap .head01 .copy{
  position: absolute;
  left: 0;
  top: 58px;                 /* 必要に応じて微調整 */
  margin: 0;
  line-height: 1.5;
  color: #fff;
}

/* 上段：差別化（少し抑える） */
.copy .sub{
  display: block;
  font-size: 20px;
  font-weight: 700;
  opacity: 0.95;
}

/* 下段：価格を主役に */
.copy .price{
  display: block;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0.05em;
  margin-top: 6px;
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
30日間無料トライアルのお試し！お申し込みバナー配置について
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
.trial_bnr_wrap {
  text-align: center;
  margin: 30px 0;
}

.trial_bnr_wrap .fbnr {
  display: inline-block;
}


/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
スタッフブログ（一覧）
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#topics_list7 #contents:before {
  height: 78px;
}

#topics_list7 #top_contents h1.line {
  margin: 0 0 20px 0;
  padding: 18px 0 20px;
  line-height: 1.2;
}

#topics_list7 #wrap_contents.clearFix {
  width: 1000px;
  margin: 0 auto;
  overflow: hidden;
}

#topics_list7 #main_contents {
  float: right;
  width: 740px;
}

#topics_list7 #main_contents .digest {
  line-height: 1.9;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#topics_list7 #side_contents_left {
  float: left;
  width: 220px;
}

#topics_list7 #main_module {
  width: 100%;
}

#topics_list7 .topics_list_digest ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#topics_list7 .topics_list_digest ul li {
  margin: 0;
  padding: 0;
  border-bottom: none;
}

#topics_list7 .articleBlocl {
  overflow: hidden;
}

#topics_list7 .articleBlocl .thumbnail {
  float: left;
  width: 160px; /* サムネイル画像の幅固定 */
  height: 160px; /* サムネイル画像の高さ固定 */
  overflow: hidden;
}

#topics_list7 .articleBlocl .thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#topics_list7 .articleBlocl .text {
  float: right;
  width: 550px;
}

#topics_list7 .articleBlocl .text h3 {
  margin: 0 0 10px;
}

#topics_list7 .articleBlocl .text .ymd,
#topics_list7 .articleBlocl .text .category,
#topics_list7 .articleBlocl .text .digest {
  margin: 0 0 10px;
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
スタッフブログ（記事アーカイブ）
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#topics_detail7 #main_contents .ymd {
  display: inline-block;
  margin: 0 20px 10px 0;
}

#topics_detail7 #main_contents .category {
  display: inline-block;
  margin: 0 0 10px 0;
}

#topics_detail7 #main_contents .entry {
  margin-top: 20px;
  line-height: 2;
}

#topics_detail7 #main_contents .entry p {
  margin: 0 0 20px;
}

#topics_detail7 .page_links {
  margin-top: 40px;
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
お問い合わせ_完了（/contact/thanks）
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#contact_thanks .box1 {
  margin-bottom: 0;
}

#contact_thanks #main_contents .txt01 {
  line-height: 2;
}

#contact_thanks #main_contents h2 {
  margin-bottom: 40px;
}


/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
30日間無料トライアルお申し込み（完了）
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#trial_thanks .box1 {
  margin-bottom: 0;
}

#trial_thanks #main_contents .txt01 {
  line-height: 2;
}

#trial_thanks #main_contents h2 {
  margin-bottom: 40px;
}


/*------------------------------------------------------------
  ハートフルコールセンターの特長ページ - リード文
  .leadBox: 旧 <div style="max-width:980px; margin:0 auto; padding:0 15px;">
  .leadBox .catch: 旧インライン style から移植（PC 表示を維持）
------------------------------------------------------------*/
.feature .leadBox {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 15px;
}
.feature .leadBox .catch {
  font-size: 24px;
  line-height: 1.5;
  color: #000;
  margin: 18px 0 0 0;
}

/* ============================================================
   スマホ専用要素の初期非表示（PC・SP 共通のベースルール）
   メディアクエリより前に書くことで PC では常に非表示にする
   ============================================================ */
#gNav,
.btnGnav,
#overlay {
  display: none;
}

/* ===========================================================
   ハートフルIVRとは？ページ
   旧ページ内 <style> タグ CSS から移設
=========================================================== */

/* ── IVRページ内リセット（スコープ限定） ── */
.ivr-page * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ── IVRページ基本フォント ── */
.ivr-page {
  font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
  font-size: 14px;
  color: #333;
  line-height: 1.6;
}

/* ── 共通セクション ── */
.ivr-page .page-section {
  max-width: 860px;
  margin: 0 auto;
  padding: 36px 20px;
  border-bottom: 1px solid #eee;
}
.ivr-page .page-section:last-child { border-bottom: none; }

/* ── 大見出し h2 ── */
.ivr-page .page-section h2,
.ivr-page .comparison-section h2 {
  font-size: 20px;
  font-weight: 700;
  color: #222;
  margin-bottom: 14px;
  /*padding-left: 12px;*/
  /*border-left: 4px solid #e8a000;*/
}

/* ── 中見出し h3 ── */
.ivr-page .page-section h3 {
  font-size: 17px;
  font-weight: 700;
  color: #333;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #ccc;
}

/* ── 小見出し h4 ── */
.ivr-page .page-section h4 {
  font-size: 18px;
  font-weight: 700;
  color: #333;
  margin: 22px 0 8px;
}

/* ── 本文 p ── */
.ivr-page .page-section p {
  font-size: 14px;
  color: #444;
  line-height: 1.85;
  margin-bottom: 10px;
}

/* ── 特長：横帯リスト ── */
.ivr-page .feature-list {
  display: flex;
  flex-direction: column;
  margin-top: 16px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  overflow: hidden;
}

.ivr-page .feature-item {
  display: flex;
  align-items: stretch;
  border-bottom: 1px solid #e0e0e0;
}
.ivr-page .feature-item:last-child { border-bottom: none; }

.ivr-page .feature-label {
  flex: 0 0 210px;
  background: #fde8e8;
  color: #c0392b;
  font-weight: 700;
  font-size: 14px;
  padding: 14px 18px;
  display: flex;
  align-items: center;
}

.ivr-page .feature-body {
  flex: 1;
  padding: 14px 18px;
  font-size: 14px;
  color: #444;
  line-height: 1.8;
}

/* ── 利用例ブロック ── */
.ivr-page .case-block {
  background: #f9f9f9;
  border-left: 3px solid #e8a000;
  border-radius: 0 6px 6px 0;
  padding: 18px 20px;
  margin-bottom: 14px;
}

.ivr-page .case-block h4 {
  margin-top: 0;
  font-size: 15px;
  color: #333;
  margin-bottom: 8px;
}

.ivr-page .case-block p {
  margin-bottom: 8px;
  font-size: 14px;
  color: #444;
  line-height: 1.85;
}

.ivr-page .case-block a {
  font-size: 13px;
  color: #e8a000;
  text-decoration: none;
}
.ivr-page .case-block a:hover { text-decoration: underline; }

/* ── オプション料金表 ── */
.ivr-page .option-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 12px;
}

.ivr-page .option-table th,
.ivr-page .option-table td {
  padding: 10px 14px;
  border: 1px solid #ddd;
  font-size: 14px;
  text-align: left;
}

.ivr-page .option-table th {
  background: #f5f5f5;
  font-weight: 700;
  color: #333;
}

.ivr-page .option-table td.price {
  font-weight: 600;
  color: #333;
}

/* ── 注釈リスト ── */
.ivr-page .note-list {
  margin-top: 10px;
  padding-left: 0;
  list-style: none;
}
.ivr-page .note-list li {
  font-size: 12px;
  color: #888;
  line-height: 1.85;
}
.ivr-page .note-list li::before { content: "※ "; }

/* ── 比較表セクション ── */
.ivr-page .comparison-section {
  max-width: 860px;
  margin: 0 auto;
  padding: 36px 20px;
}

.ivr-page .section-lead {
  font-size: 14px;
  color: #555;
  margin-bottom: 20px;
  margin-top: 10px;
}

.ivr-page .comparison-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ddd;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 12px;
}

.ivr-page .comparison-table thead tr { background: #f5f5f5; }

.ivr-page .comparison-table th {
  padding: 14px 16px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  color: #333;
  border-bottom: 2px solid #ddd;
  border-right: 1px solid #ddd;
}

.ivr-page .comparison-table th:first-child {
  text-align: left;
  width: 26%;
}

.ivr-page .comparison-table th.col-heartful {
  background: #fde8e8;
  color: #c0392b;
}

.ivr-page .comparison-table td {
  padding: 12px 16px;
  border-bottom: 1px solid #eee;
  border-right: 1px solid #eee;
  vertical-align: middle;
  font-size: 14px;
}

.ivr-page .comparison-table td:first-child {
  font-weight: 500;
  color: #444;
  background: #fafafa;
}

.ivr-page .comparison-table td.col-heartful {
  background: #fff5f5;
  text-align: center;
}

.ivr-page .comparison-table td.col-heartful-plain {
  background: #fff;
  text-align: center;
  color: #444;
}

.ivr-page .comparison-table td.col-other {
  text-align: center;
  color: #555;
}

.ivr-page .comparison-table td.col-other-gray {
  text-align: center;
  color: #555;
  background: #f0f0f0;
}

.ivr-page .comparison-table tr:last-child td { border-bottom: none; }
.ivr-page .comparison-table tr:hover td { background: #f9f9f9; }
.ivr-page .comparison-table tr:hover td.col-heartful { background: #fde8e8; }

.ivr-page .win {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: 700;
  color: #c0392b;
}

.ivr-page .table-note {
  font-size: 12px;
  color: #888;
  margin-top: 6px;
  line-height: 1.7;
}

/* ── ツールバナー ── */
.ivr-page .tool-banner {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 20px;
}

.ivr-page .tool-banner-inner {
  background: linear-gradient(135deg, #fff0f4 0%, #fff8fb 100%);
  border: 2px solid #ffb3c4;
  border-radius: 12px;
  padding: 24px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.ivr-page .tool-banner-title {
  font-size: 15px;
  font-weight: 700;
  color: #C02050;
  margin-bottom: 6px;
  white-space: nowrap;
}

.ivr-page .tool-banner-desc {
  font-size: 12px;
  color: #5a3040;
  margin: 0;
  line-height: 1.6;
}

.ivr-page .tool-banner-btns {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}

.ivr-page .tool-btn-primary {
  display: inline-block;
  background: linear-gradient(135deg, #ff6b8a, #ff4d6d);
  color: #ffffff !important;
  font-weight: 700;
  font-size: 13px;
  padding: 12px 22px;
  border-radius: 8px;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(255, 77, 109, 0.3);
  white-space: nowrap;
}

.ivr-page .tool-btn-secondary {
  display: inline-block;
  background: #fff;
  border: 2px solid #ff4d6d;
  color: #ff4d6d !important;
  font-weight: 700;
  font-size: 13px;
  padding: 12px 22px;
  border-radius: 8px;
  text-decoration: none !important;
  white-space: nowrap;
}

/* ----------------------------------------------------------
   士業向け電話代行サービス
   旧ページ内 {literal} CSS から移設
   ページ固有クラス（.shigyo-*）でスコープ済み・追加スコープ不要
---------------------------------------------------------- */

/* ── 士業カードグリッド（対応業種） ── */
.shigyo-pro-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 14px;
  margin-bottom: 28px;
}

.shigyo-pro-card {
  background: #fff;
  border: 1px solid #f0dde2;
  border-radius: 12px;
  padding: 18px 16px 14px;
  transition: border-color 0.18s, box-shadow 0.18s, transform 0.15s;
}
.shigyo-pro-card:hover {
  border-color: #f0607a;
  box-shadow: 0 4px 16px rgba(192,57,43,0.08);
  transform: translateY(-2px);
}

.shigyo-pro-icon {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background: #fff0f3;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
.shigyo-pro-icon svg {
  width: 18px;
  height: 18px;
  stroke: #f0607a;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.shigyo-pro-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #2c2c2c;
  margin-bottom: 6px;
}

.shigyo-pro-body {
  font-size: 12px;
  color: #555;
  line-height: 1.8;
}

/* ── メリット横帯リスト（現HTML未使用・移設のみ） ── */
.shigyo-merit-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 10px;
}

.shigyo-merit-item {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 12px;
  padding: 24px 22px;
}

.shigyo-merit-label {
  font-size: 14px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 10px;
  line-height: 1.5;
  padding-bottom: 10px;
  border-bottom: 2px solid #f0607a;
}

.shigyo-merit-body {
  font-size: 13px;
  color: #555;
  line-height: 1.9;
}

/* ── サービス特徴カード（4列グリッド） ── */
.shigyo-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 10px;
}

.shigyo-feature-card {
  background: #fff;
  border: 1px solid #f0dde2;
  border-radius: 10px;
  padding: 20px 18px;
}

.shigyo-feature-num {
  font-size: 24px;
  font-weight: 700;
  color: #f0607a;
  opacity: 0.3;
  line-height: 1;
  margin-bottom: 8px;
}

.shigyo-feature-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #2c2c2c;
  margin-bottom: 6px;
  line-height: 1.5;
}

.shigyo-feature-body {
  font-size: 12.5px;
  color: #555;
  line-height: 1.85;
}

/* ── 30日間トライアルバナー（現HTML未使用・移設のみ） ── */
.shigyo-trial-banner {
  background: #fff8e1;
  border: 2px solid #e8a000;
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px 24px;
  max-width: 580px;
  margin: 0 auto;
  text-decoration: none;
  transition: opacity 0.2s, transform 0.15s;
}
.shigyo-trial-banner:hover { opacity: 0.88; transform: translateY(-1px); }

.shigyo-trial-badge {
  flex-shrink: 0;
  width: 68px;
  height: 68px;
  background: #e8a000;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
  font-size: 12px;
  text-align: center;
}
.shigyo-trial-badge strong {
  font-size: 20px;
  display: block;
}

.shigyo-trial-text { flex: 1; }
.shigyo-trial-text strong {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: #2c2c2c;
  margin-bottom: 4px;
}
.shigyo-trial-text span {
  font-size: 12px;
  color: #555;
}

.shigyo-trial-arrow {
  color: #e8a000;
  font-size: 18px;
}

/* ── 士業に選ばれる理由カード（現HTML未使用・移設のみ） ── */
.shigyo-reason-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 10px;
}

.shigyo-reason-card {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 12px;
  padding: 24px 22px;
  border-top: 3px solid #f0607a;
}

.shigyo-reason-header {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 12px;
}

.shigyo-reason-num {
  font-size: 28px;
  font-weight: 700;
  color: #f0607a;
  opacity: 0.25;
  line-height: 1;
  flex-shrink: 0;
}

.shigyo-reason-title {
  font-size: 14px;
  font-weight: 700;
  color: #2c2c2c;
  line-height: 1.55;
}

.shigyo-reason-body {
  font-size: 13px;
  color: #555;
  line-height: 1.9;
  margin: 0;
}

/* ============================================================
   レスポンシブ対応 ブレークポイント: 768px以下
   ============================================================ */

@media (max-width: 768px) {

  /* ----------------------------------------------------------
     1. ヘッダー
     - 固定ヘッダー化（60px）
     - PCナビ非表示
     - ハンバーガーボタン・ドロワーナビ・オーバーレイ
     ※ HTMLへの追加が必要（説明コメント参照）
  ---------------------------------------------------------- */

  /* 固定ヘッダー */
  #header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    box-sizing: border-box;
    z-index: 100;
    overflow: visible;
  }
  #header .headWrap {
    display: block;
    width: 100%;
    height: 60px;
    padding: 0;
    box-sizing: border-box;
  }
  #header .head01 {
    display: block;
    width: 100%;
    padding: 11px 60px 0 10px;
  }
  #header .head01 .logo {
    margin-top: 0;
  }
  #header .head01 .logo img {
    max-height: 38px;
    width: auto;
    max-width: 200px;
  }
  /* PCヘッダー右側エリアを非表示 */
  #header .head02,
  #header .copy,
  #header .hTel,
  #header .hCv,
  #header .card,
  #header .hRow,
  #header .hCol {
    display: none;
  }
  /* PCナビを非表示 */
  .navWrap01,
  .navWrap02 {
    display: none;
  }

  /* ハンバーガーボタン */
  .btnGnav {
    display: block;
    position: absolute;
    top: 10px;
    right: 5px;
    width: 50px;
    height: 40px;
    cursor: pointer;
    z-index: 200;
  }
  .btnGnav .line {
    position: absolute;
    left: 5px;
    width: 40px;
    height: 4px;
    background: #fff;
    border-radius: 2px;
    transition: all 0.3s ease;
  }
  .btnGnav .line:nth-child(1) { top: 4px; }
  .btnGnav .line:nth-child(2) { top: 13px; }
  .btnGnav .line:nth-child(3) { top: 22px; }
  .btnGnav .menuTxt {
    position: absolute;
    bottom: 2px;
    left: 0;
    width: 50px;
    font-size: 10px;
    line-height: 1;
    text-align: center;
    color: #fff;
  }
  /* ハンバーガー → ✕ アニメーション */
  .btnGnav.is_open .line:nth-child(1) {
    top: 13px;
    transform: rotate(-45deg);
  }
  .btnGnav.is_open .line:nth-child(2) {
    opacity: 0;
  }
  .btnGnav.is_open .line:nth-child(3) {
    top: 13px;
    transform: rotate(45deg);
  }

  /* スマホナビ（ドロワー） */
  #gNav {
    display: none;
    position: fixed;
    top: 60px;
    left: 0;
    width: 100%;
    height: calc(100% - 60px);
    background: rgba(235, 233, 233, 0.97);
    z-index: 150;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  #gNav ul {
    margin: 0;
    padding: 10px;
    background: #fff;
  }
  #gNav li {
    margin: 0;
    padding: 0;
    text-align: left !important;
  }
  #gNav li a {
    position: relative;
    display: block;
    padding: 13px 10px 13px 28px;
    font-size: 15px;
    color: #000;
    border-bottom: 1px solid #ebe9e9;
    text-decoration: none;
    font-family: inherit;
    font-weight: normal;
    float: none !important;
    text-align: left !important;
  }
  #gNav li a:hover {
    text-decoration: none;
  }
  #gNav li a:before {
    position: absolute;
    display: block;
    content: "";
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-left: 8px solid #ff9999;
  }

  /* オーバーレイ */
  #overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    z-index: 140;
  }

  /* メニューオープン時スクロール禁止 */
  body.fixed {
    overflow: hidden;
    height: 100%;
  }

  /* ----------------------------------------------------------
     2. ラッパー幅（1000px → 100%）
  ---------------------------------------------------------- */
  .wrapper,
  #wrap_contents {
    width: 100%;
    box-sizing: border-box;
  }
  .wrapper {
    padding: 0 10px;
  }
  #wrap_contents {
    padding: 0 10px 10px;
  }
  #footpath {
    width: 100%;
    padding: 0 10px;
    box-sizing: border-box;
  }
  #header .headWrap {
    width: 100%;
  }
  /* #gNav 内のナビリストをブロック表示に（グローバルの display:table を上書き） */
  #gNav .gNav01,
  #gNav .gNav02 {
    display: block;
    width: 100%;
  }
  #gNav .gNav01 li,
  #gNav .gNav02 li {
    display: block;
    height: auto;
    width: 100%;
  }

  /* ----------------------------------------------------------
     3. コンテンツ上部余白（固定ヘッダー60px分）
  ---------------------------------------------------------- */
  #container {
    padding-top: 60px;
  }
  #contents {
    padding-bottom: 10px;
  }

  /* ----------------------------------------------------------
     4. 2カラム → 1カラム
  ---------------------------------------------------------- */
  .layout3 #main_contents {
    float: none;
    width: 100%;
  }
  .layout3 #side_contents_left {
    float: none;
    width: 100%;
    padding-top: 10px;
  }

  /* ----------------------------------------------------------
     5. SP / PC 要素の表示切替
  ---------------------------------------------------------- */
  .sp {
    display: block;
  }
  .pc {
    display: none !important;
  }

  /* ----------------------------------------------------------
     6. ページタイトル帯（下層ページ共通）
  ---------------------------------------------------------- */
  #main_contents h1.line,
  #top_contents h1.line {
    font-size: 20px;
    padding: 12px 10px 15px;
    line-height: 1.4;
  }
  /* ページタイトル背景帯（::before 疑似要素） */
  #topics_list8 #contents:before,
  #topics_list7 #contents:before,
  #topics_detail7 #contents:before,
  #topics_detail2 #contents:before,
  #topics_detail6 #contents:before,
  #topics_detail1 #contents:before {
    height: 50px;
  }

  /* ----------------------------------------------------------
     7. 小見出し h2（SP では bg_h2.png を無効化しシンプルな下線に変更）
        background-image を none にして border-bottom で代替することで
        テキストと装飾の重なりを完全に排除する
  ---------------------------------------------------------- */
  #main_contents h2 {
    font-size: 20px;
    padding: 12px 10px;
    margin-bottom: 20px;
    line-height: 1.4;
    background-image: none;
    border-bottom: 2px solid #ff9999;
  }
  /* topics_detail7 は padding-left と background-offset の上書きもリセット */
  #topics_detail7 #main_contents h2 {
    padding-left: 10px;
    background-image: none;
  }

  /* ----------------------------------------------------------
     8. フッターバナー（fbnr / fbnr2）
        footer_banners.html は全ページ共通なのでここで定義
  ---------------------------------------------------------- */

  /* fbnr2（よくあるご質問・スタッフブログ）縦並びに */
  .fbnr2 {
    display: block;
    width: 100%;
    max-width: 320px;
    margin: 20px auto 0;
    padding: 0;
    list-style: none;
  }
  .fbnr2 li {
    display: block;
    width: 100%;
    padding: 0;
    margin-bottom: 12px;
  }
  .fbnr2 li:last-child {
    margin-bottom: 0;
  }
  /* fbnr（94%レポート等） */
  .fbnr {
    max-width: 320px;
    margin: 12px auto 0;
  }
  /* バナー画像をレスポンシブに */
  .fbnr img,
  .fbnr2 li img {
    width: 100%;
    height: auto;
    display: block;
  }

  /* ----------------------------------------------------------
     9. フッター
  ---------------------------------------------------------- */

  /* CV エリア（電話・ボタン） */
  #footer .cv {
    padding: 20px 15px;
  }
  #footer .cv .copy {
    font-size: 15px;
    padding-bottom: 15px;
    line-height: 1.6;
  }
  #footer .cv ul {
    display: block;
    width: 100%;
  }
  #footer .cv li {
    display: block;
    padding: 6px 0;
    text-align: center;
  }
  #footer .cv li img {
    max-width: 100%;
    height: auto;
    display: inline-block;
  }
  #footer .cv li:first-child {
    padding: 0 0 6px;
  }
  #footer .cv li:last-child {
    padding-bottom: 0;
  }

  /* footNav：3カラムテーブル → 1カラムブロック */
  #footNav {
    display: block;
    width: 100%;
    padding: 20px 15px 25px;
    box-sizing: border-box;
  }
  #footNav .innerBox {
    display: block;
    width: 100%;
    padding-bottom: 18px;
    margin-bottom: 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
  }
  #footNav .innerBox:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
  #footNav .innerBox.f1,
  #footNav .innerBox.f2,
  #footNav .innerBox.f3 {
    width: 100%;
  }
  #footNav .innerBox ul {
    padding: 0;
  }
  #footNav .innerBox dt {
    margin-top: 16px;
    font-size: 13px;
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  }
  #footNav .innerBox dd {
    margin-bottom: 8px;
  }
  #footNav .innerBox li a {
    display: block;
    padding: 5px 2px;
    font-size: 12px;
    line-height: 1.5;
  }

  /* fBox：会社情報・コピーライト */
  .fBox {
    padding: 15px 15px 0;
    box-sizing: border-box;
  }
  .fBox .address {
    width: 100%;
    font-size: 12px;
    line-height: 1.8;
  }
  .fBox .fname {
    font-size: 15px;
    margin-bottom: 5px;
  }
  #copyright {
    padding: 12px 10px 18px;
    font-size: 11px;
    line-height: 1.5;
  }

  /* ----------------------------------------------------------
     10. 下層ページ共通パーツ
  ---------------------------------------------------------- */

  /* パンくず：折り返し許可 */
  #footpath {
    line-height: 1.7;
  }
  #footpath li {
    white-space: normal;
    line-height: 1.7;
  }

  /* メイン画像 (.mv) の余白を縮小 */
  .mv {
    margin: 12px 0;
  }

  /* h3 見出し */
  #main_contents h3 {
    font-size: 17px;
    line-height: 1.5;
  }

  /* セクション間余白を縮小 */
  #main_contents .box1 {
    margin-bottom: 40px;
  }
  #main_contents .block {
    margin-bottom: 30px;
  }
  .wrap01 {
    margin-top: 30px;
  }
  #plan {
    margin-top: 40px;
  }
  .catch {
    margin: 15px 0;
  }

  /* ボタン（.bnr01）SP 対応 */
  .bnr01 a {
    display: block;
    width: 100%;
    max-width: 300px;
    height: auto;
    padding: 12px 10px;
    box-sizing: border-box;
    margin: 0 auto;
  }
  .bnr01 a span {
    font-size: 16px !important;
    padding: 0 !important;
    line-height: 1.4 !important;
  }

  /* テーブル：横スクロール対応 */
  .table01,
  .table02,
  .table04 {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    width: 100%;
  }
  .table02 {
    margin-left: 0;
    width: auto;
  }
  .table01 th,
  .table01 td {
    font-size: 14px;
    padding: 6px 8px;
  }
  .table01 td {
    font-size: 16px;
  }
  .table04 th,
  .table04 td {
    font-size: 13px;
    padding: 8px 6px;
  }

  /* planList：横並び → 縦並び */
  .planList {
    display: block;
  }
  .planList > li {
    display: block;
  }
  .planList > li:nth-child(2) {
    padding-left: 0;
    margin-top: 20px;
  }
  .planList dl {
    padding: 10px 0 0 10px;
  }

  /* osusume（スタンダードプラン比較）*/
  .osusume {
    display: block;
    margin: 20px auto;
  }
  .osusume .cell1,
  .osusume .cell2 {
    display: block;
    width: 100%;
    padding: 8px 0;
  }

  /* カード型レイアウト（osList）：2列 → 1列 */
  .osList {
    margin-top: 20px;
  }
  .osList li {
    float: none;
    width: 100%;
    margin-right: 0;
    margin-bottom: 15px;
  }
  .osList li:nth-child(even) {
    margin-right: 0;
  }

  /* 画像＋テキスト横並び（advBox / colBox / stBox）→ 縦並び */
  .advBox {
    display: block;
    margin: 15px 0 20px;
  }
  .advBox .ill,
  .advBox .txt {
    display: block;
    width: 100%;
  }
  .advBox .ill {
    padding-top: 0;
    margin-bottom: 10px;
    text-align: center;
  }

  .colBox {
    display: block;
  }
  .colBox .lCol,
  .colBox .rCol {
    display: block;
    padding-right: 0;
  }
  .colBox img {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  .colBox .rCol img {
    float: none;
  }

  .stBox {
    display: block;
  }
  .stBox > div {
    display: block;
    padding: 5px 0;
  }

  /* ブログ記事一覧（articleBlocl）*/
  #topics_list7 #wrap_contents.clearFix {
    width: 100%;
  }
  #topics_list7 #main_contents,
  #topics_list7 #side_contents_left {
    float: none;
    width: 100%;
  }
  .articleBlocl {
    display: block;
    overflow: hidden;
  }
  .articleBlocl .thumbnail,
  .articleBlocl .text {
    display: block;
    width: 100%;
  }
  #topics_list7 .articleBlocl .thumbnail {
    float: none;
    width: 100%;
    height: 180px;
    margin-bottom: 10px;
  }
  #topics_list7 .articleBlocl .text {
    float: none;
    width: 100%;
  }

  /* FAQ（faqBox）*/
  .faqBox {
    margin: 20px 0;
  }
  .faqBox dt {
    font-size: 15px;
    padding-top: 15px;
  }
  .faqBox dt:before {
    font-size: 26px;
    top: 10px;
  }
  .faqBox dd {
    padding-left: 30px !important;
  }
  .faqBox dd:before {
    font-size: 26px;
    top: 10px;
  }

  /* st01 / st02 / mvTxt サイズ縮小 */
  .st01 {
    font-size: 20px;
  }
  .st02 {
    font-size: 18px;
  }
  .mvTxt {
    margin-top: 30px;
    font-size: 20px;
  }
  .mvTxt2 {
    font-size: 16px;
  }

  /* 本文テキスト行間: PC の 2.14 を SP 向けに縮小・フォントサイズを明示 */
  #main_contents .txt01 {
    line-height: 1.8;
    font-size: 14px;
  }

  /* ユーティリティ余白クラス: SP では過大な余白を縮小 */
  .mt70 { margin-top: 35px !important; }
  .mt50 { margin-top: 25px !important; }

  /* ----------------------------------------------------------
     11. option-flex / option-card（オプションページ共通）
         PC: flex + min-width: 260px → SP: 1カラムに
  ---------------------------------------------------------- */
  .option-flex {
    flex-wrap: wrap;
  }
  .option-card {
    min-width: 0;
    width: 100%;
    flex: none;
  }

  /* ----------------------------------------------------------
     12. 電話秘書代行サービスページ固有
         スコープ: .secretary
         body class="layout1" / page_wrapper_id="common_page"
         URL: /secretary-service/
  ---------------------------------------------------------- */

  /* st01：リード文を SP サイズに縮小（section10 の 20px からさらに限定上書き） */
  .secretary .st01 {
    font-size: 18px;
    line-height: 1.5;
  }

  /* osList カード内部：left/right 余白を縮小 */
  .secretary .osList li {
    margin-bottom: 12px;
  }
  .secretary .osList li .inBox {
    padding: 12px 16px;
  }
  .secretary .osList li .head {
    font-size: 15px;
    padding: 4px 6px;
  }

  /* stBox のアイコン画像サイズを抑制 */
  .secretary .stBox .ill {
    text-align: center;
    margin-bottom: 6px;
  }
  .secretary .stBox .ill img {
    max-width: 60px;
    height: auto;
  }

  /* wrap01 の上余白を縮小（section10 の .wrap01 は全ページ対象のため限定上書き） */
  .secretary .wrap01 {
    margin-top: 20px;
  }

  /* ----------------------------------------------------------
     13. ハートフルコールセンターの特長ページ固有
         スコープ: .feature
         URL: /aboutus/
  ---------------------------------------------------------- */

  /* leadBox: PC の max-width/padding をリセットし #wrap_contents の余白に任せる */
  .feature .leadBox {
    max-width: 100%;
    padding: 0;
    margin: 0;
  }

  /* リード文（.catch）: SP サイズに縮小 */
  .feature .leadBox .catch {
    font-size: 14px;
    line-height: 1.8;
    margin: 10px 0 0;
  }

  /* ----------------------------------------------------------
     14. 電話代行サービスについてページ固有
         スコープ: .daiko
         URL: /denwa-daiko/
  ---------------------------------------------------------- */

  /* リード文（.daikoLead）: inline style で text-align/color は PC 維持、
     font-size だけ SP サイズへ（.st02 の 18px を 15px に限定上書き）*/
  .daiko .daikoLead {
    font-size: 15px;
    line-height: 1.8;
  }

  /*
   * POINT!バッジ共通 SP 対策
   *
   * .pointBox::after の仕様（全ページ共通）:
   *   position: absolute; top: -33px; height: 93px;
   *   → バッジ上端: ボックス上部 33px 上に飛び出す
   *   → バッジ下端: ボックス内 60px まで延びる（-33 + 93 = 60）
   *
   * margin-top: 60px
   *   上のコンテンツとの重なり防止。33px 飛び出しに対し 27px の余裕。
   *
   * padding-top: 80px の根拠:
   *   バッジ下端が padding-top の基点（ボックス上端）から 60px の位置にある。
   *   .pTit 自身にも padding-top: 5px があるため、
   *   テキスト実表示開始位置は padding-top + 5px となる。
   *   80px + 5px = 85px ＞ 60px（バッジ下端）→ 25px の余裕を確保。
   *
   * ▼ 他ページで値が合わない場合の個別対応手順:
   *   1. 対象ページの HTML で <div class="pointBox"> を探す
   *   2. class に任意の識別子を追加する
   *      例: <div class="pointBox pointBox--[ページ名]">
   *   3. この media query 内に専用ルールを追記する
   *      例: .pointBox--trial { margin-top: 70px; padding-top: 90px; }
   *   ※ .pointBox--shigyo（士業ページ）が既存の個別対応例として参照可能
   */
  /*
   * SP ではバッジ（::after, left:-35px）を非表示にし margin を対称化する。
   * PC の margin-left:40px（バッジのはみ出しスペース）がSP左右非対称の原因のため。
   */
  .pointBox {
    margin: 60px 0 30px;   /* PC の margin-left:40px をリセット → 左右対称 */
    padding: 20px 8px;     /* バッジ非表示により top を大幅縮小、左右・下も整理 */
  }

  /* POINT!バッジ: SP では margin 対称化・padding 縮小のため非表示 */
  .pointBox::after {
    display: none;
  }

  /* .pTit: SP フォント・余白縮小 */
  .pointBox .pTit {
    font-size: 16px;
    padding: 4px 8px 0;
  }

  /* pointBox: daiko ページ — margin-left を 0 に（SP 左右対称化） */
  .daiko .pointBox {
    margin: 60px 0 15px;
  }

  /* osList カード内部余白 */
  .daiko .osList li .inBox {
    padding: 12px 16px;
  }
  .daiko .osList li .head {
    font-size: 15px;
    padding: 4px 6px;
  }


  /* ----------------------------------------------------------
     15. 士業向け電話代行サービスページ固有
         スコープ: .shigyo
         URL: /professional/
  ---------------------------------------------------------- */

  /* リード文（.shigyoLead）: SP フォントサイズ */
  .shigyo .shigyoLead {
    font-size: 15px;
    line-height: 1.8;
  }

  /* メリットリスト: {literal} の 1fr 1fr を 1カラムへ上書き */
  .shigyo-merit-list {
    grid-template-columns: 1fr !important;
  }

  /* 対応業種カード: auto-fill minmax(200px) を1列に固定 */
  .shigyo-pro-grid {
    grid-template-columns: 1fr !important;
  }

  /* 特徴グリッド: 4col → 1col */
  .shigyo-feature-grid {
    grid-template-columns: 1fr !important;
  }

  /* 選ばれる理由グリッド: 2col → 1col */
  .shigyo-reason-grid {
    grid-template-columns: 1fr !important;
  }

  /*
   * POINT!バッジ重なり対策（士業ページ専用クラス: .pointBox--shigyo）
   *
   * .pointBox::after の仕様:
   *   position: absolute; top: -33px; left: -35px; width: 76px; height: 93px;
   *   → バッジはボックス上部33px上から始まり、内側60px下まで延びる
   *
   * margin-top: 50px → バッジ上端(33px飛び出し)が上のカードと重ならないよう 17px の余裕
   * padding-top: 70px → バッジ下端(60px)より下にテキストを逃がす（10px バッファ）
   *
   * 他ページで .pointBox を使う場合は別クラスを付与して個別に対応すること
   * 例: .pointBox--daiko は既に対応済み（margin: 20px 0 15px 20px）
   */
  .pointBox--shigyo {
    margin-top: 60px;
    /* padding-top・margin-left は .pointBox SP共通ルールを継承 */
  }

  /* ロゴ画像: flex-wrap で縦折り返し、inline margin 無効化 */
  .shigyo .logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
  }
  .shigyo .logos img {
    height: 36px;
    width: auto;
    max-width: 120px;
    margin: 0 !important;
  }

  /* ----------------------------------------------------------
     16. 30日間無料トライアルページ固有
         URL: /trial/
  ---------------------------------------------------------- */

  /* 2カラムリスト → 1カラム（{literal} の column-count: 2 を上書き） */
  .guideColWrap {
    column-count: 1 !important;
  }

  /* ----------------------------------------------------------
     17. 電話代行サービス利用実態調査ページ固有
         スコープ: .survey
         URL: /survey/report.html
  ---------------------------------------------------------- */

  /* 2カラム float → 縦積み
     .survey .box_report_01 ul { width: 305px } (specificity 0-2-1) に勝つため !important */
  .survey .fleft,
  .survey .fright {
    float: none;
    width: 100% !important;
  }

  /* box_report_01 の側面 padding を縮小（元値 30px → 15px）
     ul width: 305px + padding 60px = 365px > 335px → overflow 回避 */
  .survey .box_report_01 {
    padding: 10px 15px;
  }

  /* ボックス下マージン縮小（元値 80px → 40px） */
  .survey .box {
    margin-bottom: 40px;
  }


  /* ----------------------------------------------------------
     19. infoTable：案内系2カラム表をSPで縦積みカード型に
         適用: 会社概要・転送設定の方法のご案内
         スコープ: .infoTable（.table02 と併用）
         ※ 料金表・比較表（.table01/.table04）は横スクロールのまま維持
  ---------------------------------------------------------- */

  /* .table02 の横スクロール・width: auto を上書き */
  .infoTable {
    display: block;
    width: 100%;
    overflow-x: visible;
  }

  /* 行単位でブロック変換 */
  .infoTable tbody,
  .infoTable tr {
    display: block;
    width: 100%;
  }

  /* 各行をカード化 */
  .infoTable tr {
    margin-bottom: 12px;
    border: 1px solid #e8c8cc;
    border-radius: 6px;
    overflow: hidden;
  }

  /* th・td 共通: ブロック化・inline の width 指定を解放 */
  .infoTable th,
  .infoTable td {
    display: block;
    width: 100% !important;
    box-sizing: border-box;
    border: none;
  }

  /* 項目ラベル（th） */
  .infoTable th {
    background: #fff0f2;
    padding: 7px 12px;
    font-size: 13px;
    font-weight: bold;
    color: #333;
    text-align: left;
    border-bottom: 1px solid #e8c8cc;
  }

  /* 内容（td） */
  .infoTable td {
    padding: 10px 12px;
    font-size: 14px;
    line-height: 1.7;
    vertical-align: top;
  }

  /* th・td 内 <p> のマージンを縮小 */
  .infoTable th p,
  .infoTable td p {
    margin: 0 0 4px;
  }
  .infoTable th p:last-child,
  .infoTable td p:last-child {
    margin-bottom: 0;
  }

  /* ----------------------------------------------------------
     20. planCta：プランページのCTAボタン並列グループ
         flex-wrap:nowrap（inline style）を SP で折り返し許可に上書き
         適用: ベーシックプラン・プラスプラン
  ---------------------------------------------------------- */

  .planCta {
    flex-wrap: wrap !important;
    gap: 10px !important;
    justify-content: center !important;
  }
  .planCta .morebtn01 {
    flex: 0 0 auto;
  }

  /* ----------------------------------------------------------
     21. optionFlexSp / optionFlexItem：オプション有料ページのflexレイアウト
         min-width:260px による横溢れをSPで防ぐ
         適用: 通知番号振り分けサービス・メッセージ内容変更・オリジナル保留音
  ---------------------------------------------------------- */

  .optionFlexSp {
    display: block !important;
  }
  .optionFlexItem {
    width: 100% !important;
    min-width: 0 !important;
    margin-bottom: 14px;
  }
  .optionFlexItem:last-child {
    margin-bottom: 0;
  }

  /* ----------------------------------------------------------
     22. lawyerTable：弁護士・法律事務所対応ページ レイアウトtable
         横並び2カラム td をSPで縦積みに
         適用: 弁護士・法律事務所対応
  ---------------------------------------------------------- */

  .lawyerTable,
  .lawyerTable tbody,
  .lawyerTable tr,
  .lawyerTable td {
    display: block;
    width: 100% !important;
    box-sizing: border-box;
  }
  .lawyerTable td {
    padding-right: 0 !important;
    padding-left: 0 !important;
    margin-bottom: 14px;
  }
  .lawyerTable td:last-child {
    margin-bottom: 0;
  }

  /* PC で POINT!ボックスとの高さ差を吸収するための -40px をSPで打ち消す */
  .lawyer-table-section {
    margin-top: 0 !important;
  }

  /* ----------------------------------------------------------
     23. IVRページ SP調整
         旧 @media(max-width:600px) から移設・ブレークポイントを768pxに拡張
         適用: ハートフルIVRとは？
  ---------------------------------------------------------- */

  .ivr-page .comparison-table th,
  .ivr-page .comparison-table td {
    padding: 10px;
    font-size: 13px;
  }
  .ivr-page .comparison-table th:first-child,
  .ivr-page .comparison-table td:first-child {
    width: 30%;
  }
  .ivr-page .feature-label {
    flex: 0 0 120px;
    font-size: 13px;
  }
  .ivr-page .tool-banner-inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .ivr-page .tool-banner-title {
    white-space: normal;
  }
  .ivr-page .tool-banner-btns {
    flex-direction: column;
    width: 100%;
  }
  .ivr-page .tool-btn-primary,
  .ivr-page .tool-btn-secondary {
    text-align: center;
  }


  /* ----------------------------------------------------------
     24. よくあるご質問ページ（body#faq）固有
         スコープ: body#faq  URL: /faq/
  ---------------------------------------------------------- */

  /* 固定ヘッダー60px分のクリアランス（#container のない FAQ ページ専用） */
  #faq #contents {
    padding-top: 60px;
  }

  /* faqBox dd の底余白をSPで縮小（PC: margin 20px 0 50px 0 → SP: 底を25pxへ） */
  #faq .faqBox dd {
    margin-bottom: 25px;
  }

  /* ----------------------------------------------------------
     25. スタッフブログ一覧・アーカイブ（#topics_list7）固有
         URL: /blog/  /blog/category/xxx/  /blog/20xx/
  ---------------------------------------------------------- */

  /* h1バナー: PC の #topics_list7 スコープが高特異度のため、
     同スコープで SP の横パディングを上書き */
  #topics_list7 #top_contents h1.line {
    padding: 12px 10px 15px;
    line-height: 1.4;
  }

  /* 記事タイトルリンク: 19px → 16px（SP幅に最適化） */
  #topics_list7 #main_contents h3 a {
    font-size: 16px;
  }

  /* 記事カード間の余白（区切り線は .articleBlocl の既存 border-bottom を活用） */
  #topics_list7 .topics_list_digest ul li {
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
  #topics_list7 .topics_list_digest ul li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
  }

  /* ----------------------------------------------------------
     26. スタッフブログ記事詳細（#topics_detail7）固有
         URL: /blog/entry-xxxx/
  ---------------------------------------------------------- */

  /* 記事本文内画像の横溢れ防止 */
  #topics_detail7 #main_contents .entry img {
    max-width: 100%;
    height: auto;
  }

  /* 記事本文内テーブルの横スクロール対応 */
  #topics_detail7 #main_contents .entry table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }


  /* ----------------------------------------------------------
     27. プラン・料金ページ（#contents1000221）固有
         URL: /plan/
  ---------------------------------------------------------- */

  /* プラン比較表: table-layout:auto + min-width で横スクロール */
  #contents1000221 .plan-table {
    table-layout: auto;
    width: auto;
    min-width: 500px;
  }

  /* 通話料金テーブル: コンパクト固定（スクロールなし・カードなし） */
  #contents1000221 .rate-table th,
  #contents1000221 .rate-table td {
    font-size: 11px;
    padding: 5px 3px;
  }

  /* ----------------------------------------------------------
     28. オプション詳細ページ 下部余白調整
         .option-link の下マージンをSPで縮小
         適用: オプション詳細ページ全ページ共通
  ---------------------------------------------------------- */
  .option-link {
    margin: 15px 0 20px;
  }

  /* ----------------------------------------------------------
     28-2. オプション詳細ページ（#topics_detail2）下部余白追加調整
  ---------------------------------------------------------- */
  #topics_detail2 #wrap_contents {
    padding-bottom: 20px;
  }

  #topics_detail2 #contents {
    padding-bottom: 0;
  }

  /* ----------------------------------------------------------
     29. チャットツールロゴ行（.logo-row）SP 折り返し整列
         適用: 電話代行サービスについて・電話秘書代行サービスとは？
         PC は既存のインライン表示をそのまま維持
  ---------------------------------------------------------- */
  .logo-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 24px 0 12px !important;
  }
  .logo-row img {
    width: 100% !important;
    height: auto;
    object-fit: contain;
    display: block;
  }

} /* end @media (max-width: 768px) */

/* .logo-row PC 表示（余白・高さ統一） */
.logo-row {
  margin: 20px 0;
  line-height: 1;
}
.logo-row img {
  width: auto;
  max-height: 60px;
  margin-right: 24px;
}
.logo-row img:last-child {
  margin-right: 0;
}

/* 超小型端末（340px以下）補正 */
@media (max-width: 340px) {
  #header .head01 .logo img {
    max-height: 30px;
  }
}

/* ===========================================================
   31. プラン・料金ページ 料金表SP縦並び表示
       .sp-plan-table を使った縦積みレイアウト
       適用: プラン・料金ページ（#contents1000221 #plan）
=========================================================== */

/* SP縦並び表：デフォルト非表示 */
.sp-plan-table {
  display: none;
  width: 100%;
  border-collapse: collapse;
  margin-top: 12px;
}

@media (max-width: 768px) {

  /* PC版プラン表を非表示
     （#contents1000221 でスコープ限定） */
  #contents1000221 .tableWrap:has(.plan-table) { display: none !important; }

  /* SP縦並び表を表示 */
  .sp-plan-table { display: table; }

  .sp-plan-table th {
    display: block;
    width: 100%;
    box-sizing: border-box;
    background: #ebe9e9;
    padding: 8px 10px;
    font-size: 0.9em;
    font-weight: bold;
    border-bottom: none;
    text-align: left;
  }
  .sp-plan-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
    background: #ffffff;
    padding: 10px 10px 20px;
  }

  /* プラン行（ベーシック・プラスの2列グリッド） */
  .sp-plan-row {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 15px;
    align-items: start;
    margin-bottom: 5px;
  }
  .sp-plan-row:last-child { margin-bottom: 0; }

  /* プランバッジ */
  .sp-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: bold;
    padding: 3px 4px;
    border-radius: 3px;
    text-align: center;
    white-space: nowrap;
    margin-top: 1px;
  }
  .sp-badge-basic  { background: #e5f4ff; color: #1a5f8a; }
  .sp-badge-plus   { background: #ffe5e5; color: #a02020; }
  .sp-badge-common { background: #b7df8f; color: #333; }

  /* コールオーバー注記 */
  .sp-callover-note {
    font-size: 13px;
    color: #333;
    line-height: 1.5;
    margin: 0 0 4px;
  }

  /* セパレーター行（「提供サービスの一部」等） */
  .sp-plan-table tr.sp-separator > th {
    border-top: 3px double #999;
    background: #ffe5e5;
    text-align: center;
    color: #a02020;
    margin-bottom: 20px;
  }

  /* 共通行：thの右端にバッジを絶対配置 */
  tr.sp-common-row th {
    position: relative;
    padding-right: 52px;
  }
  tr.sp-common-row th .sp-badge-common {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
  }

  /* セパレーター直下の項目に上余白 */
  .sp-plan-table tr.sp-separator + tr th {
    padding-top: 14px;
  }

} /* end @media (max-width: 768px) */

/* SP縦並び表：PC幅では強制非表示 */
@media (min-width: 769px) {
  .sp-plan-table { display: none !important; }
}

/* ===========================================================
   32. IVRページ Before→After・おすすめリスト
=========================================================== */

/* Before→After テーブル */
.ivr-page .before-after {
  margin: 50px auto 0;
  max-width: 560px;
  /* background: #f8f8f8; */
  border-radius: 8px;
  padding: 8px 0;
}
.ivr-page .ba-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ff666685;
}
.ivr-page .ba-table th,
.ivr-page .ba-table td {
  padding: 14px 20px;
  font-size: 14px;
  text-align: left;
}
.ivr-page .ba-table thead tr {
  background: #fde8e8;
}
.ivr-page .ba-table thead th {
  font-weight: 700;
  border-bottom: 2px solid #ff666685;
}
.ivr-page .ba-table thead .ba-before {
  color: #2271c1;
}
.ivr-page .ba-table thead .ba-after {
  color: #c0392b;
}
.ivr-page .ba-table tbody tr {
  background: none;
  border-bottom: 1px solid #ff666685;
  color: #333;
}
.ivr-page .ba-table tbody td:last-child {
  color: #333;
  font-weight: 700;
}
.ivr-page .ba-table .ba-arrow {
  color: #333;
  text-align: center;
  width: 32px;
}

/* おすすめリスト（レチェック） */
.ivr-page .page-section h4.ivr-recommend-title {
  color: #ff6666;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  text-align: center;
  margin-bottom: 16px;
}
.ivr-page .page-section h4.ivr-recommend-title::before,
.ivr-page .page-section h4.ivr-recommend-title::after {
  content: "";
  flex: 0 0 40px;
  height: 1px;
  background: #ff6666;
  opacity: 0.6;
}
.ivr-page .page-section:has(.ivr-recommend-list) {
  text-align: center;
}
.ivr-page .ivr-recommend-list {
  display: inline-block;
  text-align: left;
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
}
.ivr-page .ivr-recommend-list li {
  padding: 4px 0 4px 24px;
  position: relative;
  font-size: 14px;
  color: #444;
}
.ivr-page .ivr-recommend-list li::before {
  content: "✔";
  position: absolute;
  left: 0;
  color: #ff4d6d;
}

/* ===========================================================
   33. IVRページ 他社比較表（CSS Grid）
       .ivr-ctable を使ったグリッドレイアウト
       適用: IVRページ（.ivr-page）
=========================================================== */

.ivr-page .ivr-comparison {
  max-width: 900px;
  margin: 0 auto;
  padding: 40px 20px;
}

.ivr-page .ivr-comparison-title {
  text-align: center;
  margin-bottom: 16px;
}

.ivr-page .ivr-comparison-title span {
  color: #ff4d6d;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.05em;
}

/* ivr-comparison-h3：SP版のみ表示 */
.ivr-page .ivr-comparison-h3 {
  display: none !important;
}

.ivr-page .ivr-comparison-lead {
  text-align: center;
  color: #666;
  font-size: 14px;
  margin-bottom: 32px;
}

.ivr-page .ivr-ctable {
  position: relative;
  display: grid;
  grid-template-columns: 200px repeat(3, 1fr);
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  overflow: hidden;
}

.ivr-page .ivr-cell {
  padding: 20px;
  border-right: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
  font-size: 14px;
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.ivr-page .ivr-cell:nth-child(4n) {
  border-right: none;
}

.ivr-page .ivr-head {
  background: #f8fafc;
  font-weight: 700;
  text-align: center;
}

.ivr-page .ivr-item {
  font-weight: 700;
  background: #fafafa;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}

.ivr-page .ivr-heartful {
  background: #fff7f8;
  color: #ff4d6d;
  font-weight: 700;
  text-align: center;
}

/* ハートフル列をピンク枠で囲む */
.ivr-page .ivr-cell.ivr-heartful {
  border-left: 2px solid #ff666685;
  border-right: 2px solid #ff666685;
}
.ivr-page .ivr-head.ivr-heartful {
  border-top: 2px solid #ff666685;
  border-left: 2px solid #ff666685;
  border-right: 2px solid #ff666685;
}
.ivr-page .ivr-ctable .ivr-cell.ivr-heartful:nth-last-child(3) {
  border-bottom: 2px solid #ff666685;
}

.ivr-page .ivr-price {
  font-size: 18px;
}

.ivr-page .ivr-small {
  font-size: 13px;
  line-height: 1.8;
}

.ivr-page .ivr-ctable .ivr-heartful.ivr-small {
  text-align: center;
  align-items: center;
}

.ivr-page .ivr-table-note {
  font-size: 12px;
  color: #999;
  margin-top: 12px;
  text-align: left;
}

/* SP版A社・B社カード：PC版では非表示 */
.ivr-page .ivr-sp-others {
  display: none;
}

/* SP対応：2カラムに折りたたむ */
@media (max-width: 768px) {

  /* グリッドを2列に変更・ハートフル列を広く */
  .ivr-page .ivr-ctable {
    grid-template-columns: 2fr 3fr;
    border: 2px solid #ff666685;
    border-radius: 16px;
  }

  /* SP版：グリッドのA社・B社ヘッダーとデータセルを非表示 */
  .ivr-page .ivr-ctable .ivr-head:nth-child(3),
  .ivr-page .ivr-ctable .ivr-head:nth-child(4),
  .ivr-page .ivr-ctable .ivr-cell:nth-child(4n+3),
  .ivr-page .ivr-ctable .ivr-cell:nth-child(4n+4) {
    display: none;
  }

  /* SP版：項目ヘッダーの「項目」テキストを非表示 */
  .ivr-page .ivr-ctable .ivr-head:first-child {
    font-size: 0;
    color: transparent;
  }

  /* 項目のセル列（項目ヘッダー以外の項目セル：白背景） */
  .ivr-page .ivr-item {
    background: #ffffff;
  }

  /* ハートフルセル：白背景 */
  .ivr-page .ivr-cell.ivr-heartful {
    background: #ffffff;
    border-left: none;
    border-right: none;
  }

  /* ハートフルヘッダー */
  .ivr-page .ivr-head.ivr-heartful {
    background: #fff7f8;
    border-top: none;
    border-left: none;
    border-right: none;
    border-radius: 0 14px 0 0;
  }

  /* ハートフル最終行 */
  .ivr-page .ivr-ctable .ivr-cell.ivr-heartful:nth-last-child(3) {
    border-bottom: none;
    border-radius: 0 0 14px 0;
  }

  /* 項目ヘッダー左上角丸 */
  .ivr-page .ivr-head:first-child {
    border-radius: 14px 0 0 0;
    background: #fff7f8;
  }

  /* 最終行の項目セル左下角丸 */
  .ivr-page .ivr-item:last-of-type {
    border-radius: 0 0 0 14px;
  }

  /* ivr-comparison-h3：SP版で表示 */
  .ivr-page .ivr-comparison-h3 {
    display: block !important;
    text-align: center !important;
    border-left: none !important;
    border-bottom: none !important;
    padding-left: 0 !important;
    padding-bottom: 0 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1a73e8;
    margin-bottom: 12px;
  }

  /* SP版：A社・B社アコーディオンカード */
  .ivr-page .ivr-sp-others {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 12px;
  }
  .ivr-page .ivr-sp-card {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
  }
  .ivr-page .ivr-sp-acc-btn {
    width: 100%;
    background: #f8fafc;
    border: none;
    padding: 14px 16px;
    font-size: 15px;
    font-weight: 700;
    color: #333;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
  }
  .ivr-page .ivr-sp-acc-icon {
    font-size: 20px;
    font-weight: 300;
    color: #ff666685;
  }

  /* A社ボタン */
  .ivr-page .ivr-sp-card:nth-child(1) .ivr-sp-acc-btn {
    background: #e8f0fe;
    color: #1a56db;
    justify-content: space-between;
  }

  /* B社ボタン */
  .ivr-page .ivr-sp-card:nth-child(2) .ivr-sp-acc-btn {
    background: #e8f5e9;
    color: #2e7d32;
    justify-content: space-between;
  }

  /* テキストを中央に見せるためのダミー幅（アイコン分のオフセット） */
  .ivr-page .ivr-sp-card:nth-child(1) .ivr-sp-acc-btn::before,
  .ivr-page .ivr-sp-card:nth-child(2) .ivr-sp-acc-btn::before {
    content: "";
    width: 24px;
  }

  /* A社・B社アイコン色 */
  .ivr-page .ivr-sp-card:nth-child(1) .ivr-sp-acc-icon {
    color: #1a56db;
  }
  .ivr-page .ivr-sp-card:nth-child(2) .ivr-sp-acc-icon {
    color: #2e7d32;
  }
  .ivr-page .ivr-sp-acc-body {
    padding: 0 16px 8px;
  }
  .ivr-page .ivr-sp-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
    gap: 8px;
    font-size: 13px;
  }
  .ivr-page .ivr-sp-row-last {
    border-bottom: none;
  }
  .ivr-page .ivr-sp-label {
    color: #666;
    flex-shrink: 0;
    max-width: 50%;
  }
  .ivr-page .ivr-sp-val {
    text-align: right;
    color: #333;
    font-weight: 700;
  }

} /* end @media (max-width: 768px) */

/* 比較表サブタイトル */
.ivr-page .ivr-table-title {
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #333 !important;
  margin: 32px 0 16px !important;
  padding-left: 12px !important;
  border-left: 3px solid #ff6b8a !important;
  border-bottom: none !important;
}

/* ===========================================================
   34. IVRページ コスト比較シミュレーション
       .ivr-cost-simulation
       適用: IVRページ（.ivr-page）
=========================================================== */

.ivr-page .ivr-cost-simulation {
  max-width: 900px;
  margin: 40px auto 0;
  padding: 0 20px 40px;
}

.ivr-page .ivr-cost-title {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  text-align: center !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1a73e8 !important;
  margin-bottom: 8px !important;
  border-left: none !important;
  border-bottom: none !important;
  padding-left: 0 !important;
}
.ivr-page .ivr-cost-title::before,
.ivr-page .ivr-cost-title::after {
  content: "";
  flex: 0 0 40px;
  height: 1px;
  background: #1a73e8;
  opacity: 0.4;
}

.ivr-page .ivr-cost-title-br {
  display: none;
}

.ivr-page .ivr-cost-lead {
  text-align: center;
  font-size: 14px;
  color: #666;
  margin-bottom: 24px;
}

/* グリッド：PC版4列 */
.ivr-page .ivr-cost-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

/* カード共通 */
.ivr-page .ivr-cost-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 0;
  overflow: hidden;
}

/* ハートフルカード */
.ivr-page .ivr-cost-heartful {
  border: 2px solid #ff666685;
}

/* カードタイトル */
.ivr-page .ivr-cost-card-title {
  font-size: 15px;
  font-weight: 700;
  color: #333;
  width: 100%;
  margin: 0;
  padding: 12px 20px;
  text-align: center;
  background: #f8fafc;
}
.ivr-page .ivr-cost-heartful .ivr-cost-card-title {
  background: #fff0f3;
  color: #ff4d6d;
}

/* A社タイトル背景 */
.ivr-page .ivr-cost-card:nth-child(2) .ivr-cost-card-title {
  background: #e8f0fe;
  color: #1a56db;
}
/* B社タイトル背景 */
.ivr-page .ivr-cost-card:nth-child(3) .ivr-cost-card-title {
  background: #e8f5e9;
  color: #2e7d32;
}

/* データ行ラッパー：伸縮して点線位置を揃える */
.ivr-page .ivr-cost-rows {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 16px 20px 0;
}

/* 行レイアウト */
.ivr-page .ivr-cost-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 12px;
  font-size: 13px;
  gap: 2px;
}
.ivr-page .ivr-cost-row span {
  color: #333;
}
.ivr-page .ivr-cost-row strong {
  color: #333;
  font-size: 15px;
}
.ivr-page .ivr-cost-heartful .ivr-cost-row strong {
  color: #ff4d6d;
}

/* 着信通話料：値と注釈の縦積み */
.ivr-page .ivr-cost-row-val {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
.ivr-page .ivr-cost-row-val strong {
  font-size: 15px;
  color: #333;
}
.ivr-page .ivr-cost-row-val small {
  font-size: 11px;
  color: #333;
}

/* 月間合計 */
.ivr-page .ivr-cost-total {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-top: 10px;
  margin-left: 20px;
  margin-right: 20px;
  margin-top: 4px;
  border-top: 1px dashed #e5e7eb;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 16px;
  gap: 2px;
}
.ivr-page .ivr-cost-heartful .ivr-cost-total strong {
  color: #ff4d6d;
}

/* ハートフル：ピンクの点線 */
.ivr-page .ivr-cost-heartful .ivr-cost-total {
  border-top-color: #ff666685;
}
/* A社：青の点線 */
.ivr-page .ivr-cost-card:nth-child(2) .ivr-cost-total {
  border-top-color: #2e6bf09a;
}
/* B社：緑の点線 */
.ivr-page .ivr-cost-card:nth-child(3) .ivr-cost-total {
  border-top-color: #2e7d32a4;
}

/* A社：青枠 */
.ivr-page .ivr-cost-card:nth-child(2) {
  border-color: #2e6bf09a;
}
/* B社：緑枠 */
.ivr-page .ivr-cost-card:nth-child(3) {
  border-color: #2e7d32a4;
}

/* カード内コンテンツを均等配置（上詰め解消） */
.ivr-page .ivr-cost-card {
  display: flex;
  flex-direction: column;
}

/* 年間合計ボックス */
.ivr-page .ivr-cost-year {
  background: #fff5f6;
  border-radius: 10px;
  padding: 14px;
  margin-left: 20px;
  margin-right: 20px;
  margin-bottom: 20px;
  text-align: center;
  font-size: 14px;
  color: #333;
  font-weight: 700;
}
.ivr-page .ivr-cost-year strong {
  display: block;
  font-size: 22px;
  color: #ff4d6d;
  margin: 4px 0;
}
/* A社・B社の年間合計テキスト色 */
.ivr-page .ivr-cost-card:nth-child(2) .ivr-cost-year strong,
.ivr-page .ivr-cost-card:nth-child(3) .ivr-cost-year strong {
  color: #333;
}
/* A社年間合計背景 */
.ivr-page .ivr-cost-card:nth-child(2) .ivr-cost-year {
  background: #e8f0fe;
}
/* B社年間合計背景 */
.ivr-page .ivr-cost-card:nth-child(3) .ivr-cost-year {
  background: #e8f5e9;
}
/* 年間計算根拠テキスト色を統一 */
.ivr-page .ivr-cost-year small {
  font-size: 11px;
  color: #333;
}

/* お得カード */
.ivr-page .ivr-cost-saving {
  background: #fff8e8;
  border: 1px solid #f8d56a;
  border-radius: 16px;
  padding: 24px 16px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ivr-page .ivr-cost-saving-title {
  font-size: 14px;
  font-weight: 700;
  color: #b8860b;
  margin-bottom: 12px;
}
.ivr-page .ivr-cost-saving-label {
  font-size: 13px;
  color: #666;
  margin: 8px 0 2px;
}
.ivr-page .ivr-cost-saving-val {
  display: block;
  font-size: 22px;
  font-weight: 700;
  color: #ff4d6d;
  margin-bottom: 8px;
}

.ivr-page .ivr-cost-coin {
  width: 80px;
  height: 80px;
  display: block;
  margin: 0 auto 12px;
}

/* PC版のみブレイク表示 */
.ivr-page .ivr-cost-val-br {
  display: inline;
}

/* SP版：1列縦並び */
@media (max-width: 768px) {
  .ivr-page .ivr-cost-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .ivr-page .ivr-cost-year strong {
    font-size: 20px;
  }
  .ivr-page .ivr-cost-saving-val {
    font-size: 20px;
  }
  .ivr-page .ivr-cost-title-br {
    display: inline;
  }
  .ivr-page .ivr-cost-val-br {
    display: none;
  }

  /* SP版タイトル：flexを解除してブロック中央寄せに */
  .ivr-page .ivr-cost-title {
    display: block !important;
    text-align: center !important;
  }
  .ivr-page .ivr-cost-title::before,
  .ivr-page .ivr-cost-title::after {
    display: none;
  }
  .ivr-page .ivr-cost-title {
    position: relative;
    padding-bottom: 4px;
  }
  .ivr-page .ivr-cost-title::after {
    display: block;
    width: 60px;
    height: 2px;
    background: #1a73e8;
    opacity: 0.4;
    margin: 6px auto 0;
    content: "";
  }

  /* SP版：データ行を横並びに */
  .ivr-page .ivr-cost-row {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    text-align: left;
  }
  .ivr-page .ivr-cost-row strong {
    text-align: right;
  }
  .ivr-page .ivr-cost-total {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    text-align: left;
  }
  /* 着信通話料の値部分は右寄せ縦積みのまま */
  .ivr-page .ivr-cost-row-val {
    align-items: flex-end;
  }
}

/* ===========================================================
   35. トライアルバナー PC/SP 切り替え
=========================================================== */

/* SP用バナーはデフォルト非表示 */
.trial-bnr-sp {
  display: none;
  width: 100%;
  height: auto;
}

/* PC用バナーは通常表示 */
.trial-bnr-pc {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .trial-bnr-pc {
    display: none !important;
  }
  .trial-bnr-sp {
    display: block;
  }
}