@charset "utf-8";blockquote,body,dd,div,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,html,input,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}table img{width:100%}fieldset,img{border:0;vertical-align:bottom}address,caption,cite,dfn,em,scode,strong,th,var{font-style:normal;font-weight:400}li,ol,ul{list-style:none;padding:0;margin:0}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}q:after,q:before{content:''}abbr,acronym{border:0}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}a,button,input[type=submit]{cursor:pointer}a:hover,button:hover,input[type=submit]:hover{opacity:.7}input[type=submit]{-webkit-appearance:none}

/*----------------
 ヘッダー追跡系
----------------*/
.fixedHeader {
	position: fixed!important;
	top:0!important;
	z-index: 99!important;
	width: 100%!important;
}
/*----------------
 ヘッダー以外の追従コンテンツ
----------------*/
.follow_fixed {
    position: fixed!important;
    width: 100%!important;
    left:0!important;
    z-index: 98!important;
}
/*----------------
 フォームフロー
----------------*/
.step_flow .visited {
    font-weight: 600;
}
.step_flow {
    display: flex;
    max-width: 400px;
    position: relative;
    margin: 20px auto;
    text-align: center;
}
.step_flow li {
    font-size: 14px;
    list-style: none;
    position: relative;
    width: 33.333%;
}
.step_flow li:first-of-type::after {
    content: none;
}
.step_flow li span {
    background: #CFC9BD;
    color: #ffffff;
    display: inline-block;
    height: 34px;
    margin-bottom: 5px;
    line-height: 34px;
    width: 34px;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
}
.step_flow .visited span, .step_flow .visited::after {
    background-color: #5F9A64;
}
.step_flow li:after {
    background: #CFC9BD;
    content: "";
    width: calc(100% - 34px);
    height: 4px;
    position: absolute;
    left: calc(-50% + 17px);
    top: 15px;
}
/*----------------
 margin
----------------*/
/* 左右marginをauto */
.m_auto {
	margin-left: auto;
	margin-right: auto;
}
/*----------------
 アライメント
----------------*/
.t_center {
	text-align: center;
}
.t_right {
	text-align: right;
}
.t_left {
	text-align: left;
}

/*----------------
 中の文字のみ左寄せ
----------------*/
.inline-block {
	text-align: center;
}
.inline-block p {
	text-align: left;
	display: inline-block;
}

/*----------------
 区切り線
----------------*/
/* 1px 実線 */
.sepa_1_s {
	height:1px;
	width: 100%;
	border-color: 1px solid #CDCDCD;	
}
/* 1px 点線 */
.sepa_1_d {
	height:1px;
	width: 100%;
	border-color: 1px dotted #CDCDCD;
}
/* 2px 実線 */
.sepa_2_s {
	height:1px;
	width: 100%;
	border-color: 2px solid #CDCDCD;
}
/* 2px 点線 */
.sepa_2_d {
	height:1px;
	width: 100%;
	border-color: 2px dotted #CDCDCD;
}

.sepa_30 {
	width:100%;
	height:30px;
}
/*----------------
 背景画像の基準位置
----------------*/
/* 上 */
.bg_top {
	background-position: top 0px;
}
/* 右 */
.bg_right {
	background-position: right 0px;
}
/* 下 */
.bg_bottom {
	background-position: bottom 0px;
}
/* 左 */
.bg_left {
	background-position: left 0px;
}
/* 右上 */
.bg_rightTop {
	background-position: right 0px top 0px;
}
/* 右下 */
.bg_rightBottom {
	background-position: right 0px bottom 0px;
}
/* 左上 */
.bg_leftTop {
	background-position: left 0px top 0px;
	
}
/* 左下 */
.bg_leftBotoom {
	background-position: left 0px bottom 0px;
	
}
/* 中央 */
.bg_center {
	background-position: center;
}

/*----------------
 文字色
----------------*/
/* 赤 */
.col_red{	
	color: #cc0000;
}
/* 青 */
.col_blue{
	color: #13448F;
}
/* 黒 */
.col_black{
	color: #000000;
}
/* 白 */
.col_white{
	color: #ffffff;
}

/*----------------
 文字サイズ
----------------*/
/* 小 */
.fz_small {
	font-size: 10px!important;
}
/* 11px */
.fz11 {
	font-size: 11px!important;
}
/* 12px */
.fz12 {
	font-size: 12px!important;
}
/* 13px */
.fz13 {
	font-size: 13px!important;
}
/* 14px */
.fz14 {
	font-size: 14px!important;
}
/* 15px */
.fz15 {
	font-size: 15px!important;
}
/* 16px */
.fz16 {
	font-size: 16px!important;
}
/* 17px */
.fz17 {
	font-size: 17px!important;
}
/* 18px */
.fz18 {
	font-size: 17px!important;
}
/* 20px */
.fz20 {
	font-size: 20px!important;
}
/* 25px */
.fz25 {
	font-size: 25px!important;
}
/* 30px */
.fz30 {
	font-size: 30px!important;
}
/* 35px */
.fz35 {
	font-size: 35px!important;
}
/* 40px */
.fz40 {
	font-size: 40px!important;
}
/* 45px */
.fz45 {
	font-size: 45px!important;
}
/* 50px */
.fz50 {
	font-size: 50px!important;
}
/* 55px */
.fz55 {
	font-size: 55px!important;
}
/* 60px */
.fz60 {
	font-size: 60px!important;
}
/* 太字 */
.strong {
	font-weight: 600;
}
/* 下線 */
.under {
	text-decoration: underline;
}

/*----------------
 見出し
----------------*/
/* 2色ボーダー見出し */
.midashi_2color {
    position: relative;
    border-bottom: 4px solid #ccc;
}
.midashi_2color:after {
    position: absolute;
    bottom: -4px;
    left: 0;
    z-index: 2;
    content: '';
    width: 20%;
    height: 4px;
    background-color: #0071BC;
}

.midashi_50to16 {
	font-size: 50px!important;
}
.midashi_50to18 {
	font-size: 50px!important;
}
.midashi_50to20 {
	font-size: 50px!important;
}
.midashi_50to22 {
	font-size: 50px!important;
}
.midashi_50to25 {
	font-size: 50px!important;
}
.midashi_50to30 {
	font-size: 50px!important;
}

.midashi_40to16 {
	font-size: 40px!important;
}
.midashi_40to18 {
	font-size: 40px!important;
}
.midashi_40to20 {
	font-size: 40px!important;
}
.midashi_40to22 {
	font-size: 40px!important;
}
.midashi_40to25 {
	font-size: 40px!important;
}
.midashi_35to18 {
	font-size: 35px!important;
}
.midashi_35to20 {
	font-size: 35px!important;
}
.midashi_35to22 {
	font-size: 35px!important;
}
.midashi_35to25 {
	font-size: 35px!important;
}
.midashi_30to16 {
	font-size: 30px!important;
}
.midashi_30to18 {
	font-size: 30px!important;
}
.midashi_30to20 {
	font-size: 30px!important;
}
.midashi_25to18 {
	font-size: 25px!important;
}
.midashi_25to16 {
	font-size: 25px!important;
}
.midashi_25to14 {
	font-size: 25px!important;
}

.midashi_22to14 {
	font-size: 22px!important;
}
.midashi_22to16 {
	font-size: 22px!important;
}
.midashi_18to11 {
	font-size: 18px!important;
}
.midashi_16to10 {
    font-size: 16px!important;
}
@media screen and (max-width: 1024px) {
	/*----------------
	 計算方法
	 1024p以上は最大として、
	 （最大 - 最小） / 649でパーセンテージを計算
      ※649は1024-375
	----------------*/
	.midashi_50to16 {
		font-size: calc(50px - (1024px - 100vw) * 0.0524 )!important;
	}
	.midashi_50to18 {
		font-size: calc(50px - (1024px - 100vw) * 0.0493 )!important;
	}
	.midashi_50to20 {
		font-size: calc(50px - (1024px - 100vw) * 0.0462 )!important;
	}
	.midashi_50to22 {
		font-size: calc(50px - (1024px - 100vw) * 0.0431 )!important;
	}
	.midashi_50to25 {
		font-size: calc(50px - (1024px - 100vw) * 0.0385 )!important;
	}
	.midashi_50to30 {
		font-size: calc(50px - (1024px - 100vw) * 0.0308 )!important;
	}
	.midashi_40to16 {
		font-size: calc(40px - (1024px - 100vw) * 0.0370 )!important;
	}
	.midashi_40to18 {
		font-size: calc(40px - (1024px - 100vw) * 0.0339 )!important;
	}
	.midashi_40to20 {
		font-size: calc(40px - (1024px - 100vw) * 0.0308 )!important;
	}
	.midashi_40to22 {
		font-size: calc(40px - (1024px - 100vw) * 0.0277 )!important;
	}
	.midashi_40to25 {
		font-size: calc(40px - (1024px - 100vw) * 0.0231 )!important;
	}
	.midashi_35to18 {
		font-size: calc(30px - (1024px - 100vw) * 0.0262 )!important;
	}
	.midashi_35to20 {
		font-size: calc(30px - (1024px - 100vw) * 0.0231 )!important;
	}
	.midashi_35to22 {
		font-size: calc(30px - (1024px - 100vw) * 0.0200 )!important;
	}
	.midashi_35to25 {
		font-size: calc(30px - (1024px - 100vw) * 0.0154 )!important;
	}
	.midashi_30to16 {
		font-size: calc(30px - (1024px - 100vw) * 0.0216 )!important;
	}
	.midashi_30to18 {
		font-size: calc(30px - (1024px - 100vw) * 0.0185 )!important;
	}
	.midashi_30to20 {
		font-size: calc(30px - (1024px - 100vw) * 0.0154 )!important;
	}
	.midashi_30to25 {
		font-size: calc(30px - (1024px - 100vw) * 0.0077 )!important;
	}
    .midashi_25to14 {
        font-size: calc(25px - (1024px - 100vw) * 0.0169 )!important;
    }
    .midashi_25to16 {
        font-size: calc(25px - (1024px - 100vw) * 0.0139 )!important;
    }
    .midashi_25to18 {
        font-size: calc(25px - (1024px - 100vw) * 0.0108 )!important;
    }
	.midashi_22to14 {
		font-size: calc(22px - (1024px - 100vw) * 0.0123 )!important;
	}
	.midashi_18to11 {
		font-size: calc(18px - (1024px - 100vw) * 0.0108 )!important;
	}
	.midashi_16to10 {
		font-size: calc(16px - (1024px - 100vw) * 0.0092 )!important;
	}
}

/* 箇条書き等、2行目以降をインデント */
.indent {
	padding-left: 1em;
	text-indent: -1em;
}

/*----------------
 フォームテーブル
----------------*/
input, select, textarea {
    font-size: 16px;
    padding: 5px;
}
input[type="email"], input[type="text"], input[type="tel"], textarea, select{
    width: 100%;
}
textarea {
    height: 170px;
}
/* 幅 */
table.formTable {
	width: 100%;
}
table.formTable th {
	background-color: #F4F5F7;
}
/* パディング */
table.formTable th, table.formTable td {
	padding:20px;
}
/* 必須マーク */
span.required, span.any {
	font-size: 13px;
	background-color: #E43F24;
	color: #ffffff;
	margin-left: 5px;
	padding:2px 5px;
    border-radius: 10px;
    display: inline-block;
    vertical-align: text-top;
}
span.any {
    background-color: #15B8CF;
}

/*----------------
 送信ボタン
----------------*/
.btn_back {
    background-color: #6C6A6A;
}
.btn_submit {
    background-color: #000!important;
}
.btn_back, .btn_submit {
    padding: 8px 20px;
    color: #fff;
    font-weight: 600;
    border: none;
    font-size: 22px;
    margin: auto;
    display: block;
    width: 270px;
}

#cv_btn_conf {
    margin: auto;
}
.contact_btnwrap {
	width:90%;
	padding:0 10%;
	margin: 25px auto;
}
#pagetop {
	opacity:1;
}

/*----------------
 NEWS内記事
----------------*/
.news_img_box.clearfix.t_center {
    float: left;
    margin-right: 8px;
	margin-bottom: 8px;
}
.imgexists {
    clear: both;
    margin-top: 15px;
}
.news_wrap .up_ymd {
	margin-bottom: 15px;
}

/*
    ヘッダーおよびFVに関してはこのファイルに記述、head内でincludeする
    公開時はminifierに掛ける
*/

/*----------------
 フォント
----------------*/
body {
    /* メイリオ
	font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', sans-serif; */
    
    /* 游ゴシック */
    font-family: "Noto Sans JP", sans-serif;
}
.mincho {
	font-family: "游明朝", YuMincho,Yu-Mincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;	
}

/* コンテンツ幅 */
.cont {
	margin-left:auto;
	margin-right: auto;
	max-width: 1024px;
}
.cont_max {
	margin-left:auto;
	margin-right: auto;
	max-width: 1600px;
}
.cont_mid {
	margin-left:auto;
	margin-right: auto;
	max-width: 1280px;
}
@media screen and (max-width:1310px) {
	.cont_mid {
		padding-left: 15px;
		padding-right: 15px;
	}
}
@media screen and (max-width:1630px) {
	.cont_max {
		padding-left: 15px;
		padding-right: 15px;
	}
}
.flex {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
}
.cl:after{
	content: "";
	clear: both;
	display: block;
}

/*---------------------------
 各余白
---------------------------*/
/*----------------
 マージン：上
----------------*/
/* 5px */
.mt5 {
	margin-top: 5px!important;
}
/* 10px */
.mt10 {
	margin-top: 10px!important;
}
/* 15px */
.mt15 {
	margin-top: 15px!important;
}
/* 20px */
.mt20 {
	margin-top: 20px!important;
}
/* 25px */
.mt25 {
	margin-top: 25px!important;
}
/* 30px */
.mt30 {
	margin-top: 30px!important;
}
/* 35px */
.mt35 {
	margin-top: 35px!important;
}
/* 40px */
.mt40 {
	margin-top: 40px!important;
}
/* 45px */
.mt45 {
	margin-top: 45px!important;
}
/* 50px */
.mt50 {
	margin-top: 50px!important;
}
/* 55px */
.mt55 {
	margin-top: 55px!important;
}
/* 60px */
.mt60 {
	margin-top: 60px!important;
}
/* 65px */
.mt65 {
	margin-top: 65px!important;
}
/* 70px */
.mt70 {
	margin-top: 70px!important;
}
/*----------------
 マージン：上（pc基準でレスポンシブ）
----------------*/
.mt_pc80 {
	margin-top: 80px;
}
.mt_pc70 {
	margin-top: 70px;
}
.mt_pc60 {
	margin-top: 60px;
}
.mt_pc50 {
	margin-top: 50px;
}
.mt_pc45 {
	margin-top: 45px;
}
.mt_pc40 {
	margin-top: 40px;
}
.mt_pc35 {
	margin-top: 35px;
}
.mt_pc30 {
	margin-top: 30px;
}
.mt_pc25 {
	margin-top: 25px;
}
@media screen and (max-width: 1024px) {
	.mt_pc80 {
	margin-top: calc(80px - (1024px - 100vw) * 0.0781 );
	}
	.mt_pc70 {
	margin-top: calc(70px - (1024px - 100vw) * 0.0684 );
	}
	.mt_pc60 {
	margin-top: calc(60px - (1024px - 100vw) * 0.0586 );
	}
	.mt_pc50 {
	margin-top: calc(50px - (1024px - 100vw) * 0.0488 );
	}
	.mt_pc45 {
		margin-top: calc(45px - (1024px - 100vw) * 0.0439 );
	}
	.mt_pc40 {
		margin-top: calc(40px - (1024px - 100vw) * 0.0391 );
	}
	.mt_pc35 {
		margin-top: calc(35px - (1024px - 100vw) * 0.0342 );
	}
	.mt_pc30 {
		margin-top: calc(30px - (1024px - 100vw) * 0.0293 );
	}
	.mt_pc25 {
		margin-top: calc(25px - (1024px - 100vw) * 0.0244 );
	}
}

/*----------------
 マージン：下
----------------*/
/* 5px */
.mb10 {
	margin-bottom: 5px!important;
}
/* 10px */
.mb10 {
	margin-bottom: 10px!important;
}

/* 15px */
.mb15 {
	margin-bottom: 15px!important;
}
/* 20px */
.mb20 {
	margin-bottom: 20px!important;
}
/* 25px */
.mb25 {
	margin-bottom: 25px!important;
}
/* 30px */
.mb30 {
	margin-bottom: 30px!important;
}
/* 35px */
.mb35 {
	margin-bottom: 35px!important;
}
/* 40px */
.mb40 {
	margin-bottom: 40px!important;
}
/* 45px */
.mb45 {
	margin-bottom: 45px!important;
}
/* 50px */
.mb50 {
	margin-bottom: 50px!important;
}
/* 55px */
.mb55 {
	margin-bottom: 55px!important;
}
/* 60px */
.mb60 {
	margin-bottom: 60px!important;
}
/* 65px */
.mb65 {
	margin-bottom: 65px!important;
}
/* 70px */
.mb70 {
	margin-bottom: 70px!important;
}

/*----------------
 マージン：下（pc基準でレスポンシブ）
----------------*/
.mb_pc80 {
	margin-bottom: 80px;
}
.mb_pc70 {
	margin-bottom: 70px;
}
.mb_pc60 {
	margin-bottom: 60px;
}
.mb_pc50 {
	margin-bottom: 50px;
}
.mb_pc45 {
	margin-bottom: 45px;
}
.mb_pc40 {
	margin-bottom: 40px;
}
.mb_pc35 {
	margin-bottom: 35px;
}
.mb_pc30 {
	margin-bottom: 30px;
}
.mb_pc25 {
	margin-bottom: 25px;
}
@media screen and (max-width: 1024px) {
	.mb_pc80 {
	margin-bottom: calc(80px - (1024px - 100vw) * 0.0781 );
	}
	.mb_pc70 {
	margin-bottom: calc(70px - (1024px - 100vw) * 0.0684 );
	}
	.mb_pc60 {
	margin-bottom: calc(60px - (1024px - 100vw) * 0.0586 );
	}
	.mb_pc50 {
	margin-bottom: calc(50px - (1024px - 100vw) * 0.0488 );
	}
	.mb_pc45 {
		margin-bottom: calc(45px - (1024px - 100vw) * 0.0439 );
	}
	.mb_pc40 {
		margin-bottom: calc(40px - (1024px - 100vw) * 0.0391 );
	}
	.mb_pc35 {
		margin-bottom: calc(35px - (1024px - 100vw) * 0.0342 );
	}
	.mb_pc30 {
		margin-bottom: calc(30px - (1024px - 100vw) * 0.0293 );
	}
	.mb_pc25 {
		margin-bottom: calc(25px - (1024px - 100vw) * 0.0244 );
	}
}

/*----------------
 パディング：上
----------------*/
/* 5px */
.pt5 {
	padding-top: 5px!important;
}
/* 10px */
.pt10 {
	padding-top: 10px!important;
}
/* 15px */
.pt15 {
	padding-top: 15px!important;
}
/* 20px */
.pt20 {
	padding-top: 20px!important;
}
/* 25px */
.pt25 {
	padding-top: 25px!important;
}
/* 30px */
.pt30 {
	padding-top: 30px!important;
}
/* 35px */
.pt35 {
	padding-top: 35px!important;
}
/* 40px */
.pt40 {
	padding-top: 40px!important;
}
/* 45px */
.pt45 {
	padding-top: 45px!important;
}
/* 50px */
.pt50 {
	padding-top: 50px!important;
}
/* 55px */
.pt55 {
	padding-top: 55px!important;
}
/* 60px */
.pt60 {
	padding-top: 60px!important;
}
/* 65px */
.pt65 {
	padding-top: 65px!important;
}
/* 70px */
.pt70 {
	padding-top: 70px!important;
}
/*----------------
 パディング：上（pc基準でレスポンシブ）
----------------*/
.pt_pc80 {
	padding-top: 80px;
}
.pt_pc70 {
	padding-top: 70px;
}
.pt_pc60 {
	padding-top: 60px;
}
.pt_pc50 {
	padding-top: 50px;
}
.pt_pc45 {
	padding-top: 45px;
}
.pt_pc40 {
	padding-top: 40px;
}
.pt_pc35 {
	padding-top: 35px;
}
.pt_pc30 {
	padding-top: 30px;
}
.pt_pc25 {
	padding-top: 25px;
}
@media screen and (max-width: 1024px) {
	.pt_pc80 {
	padding-top: calc(80px - (1024px - 100vw) * 0.0781 );
	}
	.pt_pc70 {
	padding-top: calc(70px - (1024px - 100vw) * 0.0684 );
	}
	.pt_pc60 {
	padding-top: calc(60px - (1024px - 100vw) * 0.0586 );
	}
	.pt_pc50 {
	padding-top: calc(50px - (1024px - 100vw) * 0.0488 );
	}
	.pt_pc45 {
		padding-top: calc(45px - (1024px - 100vw) * 0.0439 );
	}
	.pt_pc40 {
		padding-top: calc(40px - (1024px - 100vw) * 0.0391 );
	}
	.pt_pc35 {
		padding-top: calc(35px - (1024px - 100vw) * 0.0342 );
	}
	.pt_pc30 {
		padding-top: calc(30px - (1024px - 100vw) * 0.0293 );
	}
	.pt_pc25 {
		padding-top: calc(25px - (1024px - 100vw) * 0.0244 );
	}
}

/*----------------
 パディング：下
----------------*/
/* 5px */
.pb5 {
	padding-bottom: 5px!important;
}
/* 10px */
.pb10 {
	padding-bottom: 10px!important;
}
/* 15px */
.pb15 {
	padding-bottom: 15px!important;
}
/* 20px */
.pb20 {
	padding-bottom: 20px!important;
}
/* 25px */
.pb25 {
	padding-bottom: 25px!important;
}
/* 30px */
.pb30 {
	padding-bottom: 30px!important;
}
/* 35px */
.pb35 {
	padding-bottom: 35px!important;
}
/* 40px */
.pb40 {
	padding-bottom: 40px!important;
}
/* 45px */
.pb45 {
	padding-bottom: 45px!important;
}
/* 50px */
.pb50 {
	padding-bottom: 50px!important;
}
/* 55px */
.pb55 {
	padding-bottom: 55px!important;
}
/* 60px */
.pb60 {
	padding-bottom: 60px!important;
}
/* 65px */
.pb65 {
	padding-bottom: 65px!important;
}
/* 70px */
.pb70 {
	padding-bottom: 70px!important;
}
/*----------------
 パディング：下（pc基準でレスポンシブ）
----------------*/
.pb_pc80 {
	padding-bottom: 80px;
}
.pb_pc70 {
	padding-bottom: 70px;
}
.pb_pc60 {
	padding-bottom: 60px;
}
.pb_pc50 {
	padding-bottom: 50px;
}
.pb_pc45 {
	padding-bottom: 45px;
}
.pb_pc40 {
	padding-bottom: 40px;
}
.pb_pc35 {
	padding-bottom: 35px;
}
.pb_pc30 {
	padding-bottom: 30px;
}
.pb_pc25 {
	padding-bottom: 25px;
}
@media screen and (max-width: 1024px) {
	.pb_pc80 {
	padding-bottom: calc(80px - (1024px - 100vw) * 0.0781 );
	}
	.pb_pc70 {
	padding-bottom: calc(70px - (1024px - 100vw) * 0.0684 );
	}
	.pb_pc60 {
	padding-bottom: calc(60px - (1024px - 100vw) * 0.0586 );
	}
	.pb_pc50 {
	padding-bottom: calc(50px - (1024px - 100vw) * 0.0488 );
	}
	.pb_pc45 {
		padding-bottom: calc(45px - (1024px - 100vw) * 0.0439 );
	}
	.pb_pc40 {
		padding-bottom: calc(40px - (1024px - 100vw) * 0.0391 );
	}
	.pb_pc35 {
		padding-bottom: calc(35px - (1024px - 100vw) * 0.0342 );
	}
	.pb_pc30 {
		padding-bottom: calc(30px - (1024px - 100vw) * 0.0293 );
	}
	.pb_pc25 {
		padding-bottom: calc(25px - (1024px - 100vw) * 0.0244 );
	}
}

h1 {
	background-color: #00A351;
	color: #fff;
	text-align: center;
	padding-top: 0.2em;
	padding-bottom: 0.2em;
	font-size: 13px;
}

/* =====================
	  header（PC）
	  ===================== */
.site_header {
	background: #fff;
	color: #111;
}

.header_top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 18px 0 14px;
}

/* brand */
.header_brand {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 520px;
}

.header_logo_link {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.header_logo {
	display: block;
	height: auto;
	max-width: 520px;
}

.header_catch {
	margin: 0;
	font-size: 14px;
	color: #444;
	letter-spacing: 0.02em;
}

/* actions */
.header_actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 22px;
}

.header_telbox {
	text-align: left;
}

.header_telrow {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.header_tel {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: #111;
	line-height: 1;
}

.header_tel:focus-visible,
.header_cta:focus-visible,
.header_nav_item a:focus-visible {
	outline: 3px solid rgba(255, 140, 0, 0.35);
	outline-offset: 3px;
	border-radius: 6px;
}

.header_tel_icon {
	width: 30px;
	height: 30px;
	border-radius: 6px;
	background: #17b454;
	position: relative;
	flex: 0 0 30px;
}

/* 電話アイコン（CSSで簡易表現） */
.header_tel_icon::before {
	content: "☎";
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: #fff;
	font-size: 16px;
	transform: translateY(-1px);
}

.header_tel_num {
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.02em;
	width: 45%;
}

.header_telnote img {
	display: block;
	margin-top: 6px;
	height: auto;
	max-width: 340px;
}

.header_cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	width: 50%;
}

.header_cta img {
	display: block;
	height: auto;
	max-width: 360px;
	width: 100%;
}

/* =====================
	  MV
	  ===================== */
.mv_area {
	background: #fff;
}

.mv_inner {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.mv_picture,
.mv_picture source,
.mv_img {
	display: block;
	width: 100%;
}

.mv_img {
	height: auto;
}

.cta {
	position: relative;
	display: block;
}
/* CTA位置：デザインに寄せて右寄り中央 */
.mv_cta {
	position: absolute;
	left: 66%;
	bottom: 5%;
	transform: translateX(-50%);
	width: 34%;
	z-index: 2;
}
.cta .sub {
	position: absolute;
    width: 78.57%;
    left: 50%;
    transform: translate(-50%, -73%);
    top: 0;
}

.mv_cta_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	text-decoration: none;
	filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.18));
}

.mv_cta_btn img {
	display: block;
	width: 100%;
	height: auto;
}

/* =====================
	  campaign（乗換割）
	  ===================== */
.campaign_area {
	background: #e9e9e9;
}

.campaign_bg {
	padding: clamp(9px, 5.4688vw, 70px) 0 clamp(9px, 6.875vw, 88px);
	background: url(../img/bg_norikae.jpg");
	background-size: cover;
}

.campaign_head {
	text-align: center;
	margin-bottom: 7vw;
}

.campaign_logo {
	display: inline-block;
	width: clamp(9px, 67.5vw, 864px);
	height: auto;
}

.campaign_card {
	margin: 0 auto;
	border: 3px solid #12a84c;
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.06);
}

.campaign_card_top {
	background: #e7ffd9;
	text-align: center;
	font-size: clamp(9px, 2.3438vw, 30px);
	padding-top: 1.6em;
	padding-bottom: 1.6em;
}

.campaign_lead {
	margin-bottom: 1em;
	font-weight: 900;
	font-size: 1em;
	color: #222;
	letter-spacing: 0.02em;
	line-height: 1;
}


.campaign_maincopy_text {
	display: inline;
	font-weight: 900;
	color: #e10000;
	letter-spacing: 0.02em;
	font-size: 2em;
	line-height: 1;
	padding: 0 10px;
}

.campaign_card_body {
	padding: clamp(9px, 3.125vw, 40px) 0;
	background: #fff;
}

.campaign_cols {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 18px;
	align-items: start;
	max-width: 80%;
	margin-left: auto;
	margin-right: auto;
}

.campaign_list {
	margin: 0;
}

.campaign_row {
	margin-bottom: 2em;
}

.campaign_row:last-child {
	margin-bottom: 0;
}

.campaign_tag {
	display: inline-block;
	background: #61c15a;
	color: #fff;
	font-weight: 800;
	font-size: clamp(9px, 1.9531vw, 25px);
	line-height: 1;
	padding: 0.3em 0.8em;
	border-radius: 8px;
	letter-spacing: 0.02em;
	margin-bottom: 0.5em;
}

.campaign_desc {
	margin: 0;
	color: #222;
	font-weight: 700;
	font-size: clamp(9px, 1.4063vw, 18px);
	line-height: 1.6;
}

.campaign_illust {
	margin: 0;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
}

.campaign_illust img {
	width: min(420px, 100%);
	height: auto;
}

/* =====================
	  表示切替
	  ===================== */
.pc_only {
	display: block;
}

.sp_only {
	display: none;
}

/* =====================
	  onayami（全体）
	  ===================== */
.onayami_area {
	padding-top: 7vw;
	background: #fff;
	background: #fff;
	background-image: radial-gradient(#EAFCDE 0.225rem, transparent 0.225rem);
	background-size: 3.125rem 3.125rem;
	padding: 0 0 clamp(1.75rem, 3.4vw, 2.75rem);
	position: relative;
	overflow: hidden;
}


.onayami_inner {
	position: relative;
	z-index: 1;
}

.onayami_head {
	text-align: center;
	position: relative;
}

.onayami_title {
	margin: 0;
	font-weight: 900;
	font-size: clamp(9px, 3.9063vw, 50px);
	color: #333;
	letter-spacing: .02em;
	margin-bottom: 1em;
}

.onayami_title_em {
	color: #11a34a;
	font-size: 1.2em;
}

.onayami_slash {
	position: absolute;
	top: -6px;
	width: 72px;
	height: 36px;
	background-repeat: no-repeat;
	background-size: contain;
}

.onayami_slash-left {
	left: 8px;
	background-image: url("../img/icon_slash_bold.svg");
}

.onayami_slash-right {
	right: 8px;
	background-image: url("../img/icon_slash_right.svg");
}

.onayami_em {
	color: #11a34a;
	font-weight: 900;
}

/* =====================
	  PC：レイアウト（ここが崩れていたので全面修正）
	  ===================== */
.onayami_pc_box {
	margin: 0 auto;
}

.onayami_pc_box .inner {
	position: absolute;
	top: 4%;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	padding-left: clamp(9px, calc(90px - (1280px - 100vw) * 0.07813), 90px);
}

/* 吹き出し：SVG（fukidashi_left/right）を背景にして「丸い点」も再現 */
.onayami_bub {
	background-color: #fff;
}

.onayami_bub_in {
	position: relative;
	width: auto;
	padding: 1.8em 1.4em;
	display: flex;
	align-items: center;
	font-size: clamp(9px, 1.5vw, 24px);
}

.onayami_bub_in p {
	margin: 0;
	font-size: 1em;
	line-height: 1.6;
	font-weight: 800;
	color: #333;
}
/* チェック：左は左外、右は右外（添付2どおり） */
.onayami_check {
	position: absolute;
	width: clamp(9px, 3.5375vw, 56.6px);
	height: clamp(9px, 3.5375vw, 56.6px);
	display: block;
	z-index: 2;
	transform: translate(-50%, -50%);
}

.onayami_check img {
	width: 100%;
	height: auto;
	display: block;
}

/* 中央人物 */
.onayami_people {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%, -50%);
	margin: 0;
	width: clamp(9px, 17.875vw, 286px);
	z-index: 1;
}

.onayami_people img {
	width: 100%;
	height: auto;
	display: block;
}

/* 下矢印 */
.onayami_scroll {
	text-align: center;
	display: block;
	margin-top: clamp(9px, 3.125vw, 40px);
	margin-bottom: clamp(9px, 5.4688vw, 70px);

}

.onayami_scroll img {
	width: clamp(9px, 9.4531vw, 121px);
	height: auto;
}

/* =====================
	  SP（前回どおり）
	  ===================== */

.kaiketsu_head_area {
	background-image: url(../img/bg_wave_1_bottom.jpg), linear-gradient(#F4F4C1);
	background-position: top 415px center, top center;
	background-size: contain, 100% 416px;
	background-repeat: no-repeat;
}

/* =====================
		disp_tb_over / disp_tb_miman（共通クラス運用）
		===================== */
.disp_tb_over {
	display: block;
}

.disp_tb_miman {
	display: none;
}

/* =====================
		reason
		===================== */
.reason_area {
	background-image: url(../img/bg_wave_1_top.jpg), linear-gradient(#F4F4C1);
	background-position: bottom clamp(9px, 41.4063vw, 530px) center, bottom center;
	background-size: contain, 100% clamp(9px, 43.75vw, 560px);
	background-repeat: no-repeat;
}

.reason_bg {
	padding: 0 0 clamp(0.5rem, 1.2vw, 0.75rem);
}

.reason_card {
	background: #F9FFF8;
	border: 4px solid #12a84c;
	border-radius: 1rem;
	box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.14);
	padding: clamp(9px, 5.4688vw, 70px) clamp(0.875rem, 2.2vw, 2.25rem) clamp(9px, 7.8125vw, 100px);
	position: relative;
}

.reason_block+.reason_block {
	margin-top: clamp(9px, 8.9844vw, 115px)
}

.reason_block_icon {
	margin: 0 0 clamp(0.5rem, 1vw, 0.75rem);
	display: flex;
	justify-content: center;
}

.reason_block_icon img {
	width: 11.5625%;
	height: auto;
	display: block;
}

.reason_title {
	text-align: center;
	margin-bottom: 1em;
	font-weight: 900;
	color: #333;
	letter-spacing: 0.02em;
	line-height: 1.25;
	font-size: clamp(9px, 3.125vw, 40px);
}

.reason_title_top {
	display: inline-block;
	margin-bottom: clamp(0.25rem, 0.6vw, 0.375rem);
}

.reason_title_line {
	font-size: 1.25em;
	display: inline;
	padding: 0 0.625rem;
	color: #00A351;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.reason_title_line {
	font-size: 1.25em;
	display: inline;
	padding: 0 0.625rem;
	color: #00A351;
}
.yellow_marker {
-webkit-box-decoration-break: clone;
	box-decoration-break: clone;

	background-image: linear-gradient(
		transparent 62%,
		#ffe100 62%,
		#ffe100 92%,
		transparent 92%
	);
	background-repeat: no-repeat;
	background-size: 0% 100%;
	background-position: left top;
}

html.js-lp-motion-ready .yellow_marker.is-marker-inview {
	animation: lpMarkerDraw 1.1s cubic-bezier(.22,.61,.36,1) forwards;
}

@keyframes lpMarkerDraw {
	0% {
		background-size: 0% 100%;
	}
	100% {
		background-size: 100% 100%;
	}
}

/* =====================
		吹き出し（PC：SVG）共通
		===================== */
.reason_bubble_wrap {
	position: relative;
	max-width: 47.5rem;
	margin: 0 auto clamp(0.75rem, 1.6vw, 1.125rem);
	min-height: clamp(9px, 32.0313vw, 410px);
}

.reason_bubble_svg {
	position: absolute;
	margin: 0;
}

.reason_bubble_svg img {
	width: 100%;
	height: auto;
	display: block;
}

/* Block1（3個）配置 */
.reason_bubble_svg-1 {
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	width: clamp(12rem, 22vw, 16rem);
}

.reason_bubble_svg-2 {
	left: 6%;
	top: 32%;
	width: clamp(12rem, 22vw, 16rem);
}

.reason_bubble_svg-3 {
	right: 6%;
	top: 35%;
	width: clamp(12rem, 22vw, 16rem);
}

/* 人物（共通） */
.reason_people {
	margin: 0;
	position: absolute;
	left: 50%;
	top: 35%;
	transform: translate(-50%, -10%);
	width: clamp(8.5rem, 12vw, 10.75rem);
	display: flex;
	justify-content: center;
}

.reason_people img {
	width: 100%;
	height: auto;
	display: block;
}

/* =====================
		吹き出し（SP：一体化＋テキスト）共通
		===================== */
.reason_bubble_sp {
	margin: 0 auto clamp(0.75rem, 2.2vw, 1rem);
}

.reason_bubble_sp_box {
	position: relative;
	background: #ffffff;
	border: 0.125rem solid rgba(18, 168, 76, 0.55);
	border-radius: 0.875rem;
	padding: 1rem 1rem 1.125rem;
	box-shadow: 0 0.75rem 1.25rem rgba(0, 0, 0, 0.08);
}

.reason_bubble_sp_box::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -0.75rem;
	transform: translateX(-50%) rotate(45deg);
	width: 1rem;
	height: 1rem;
	background: #ffffff;
	border-right: 0.125rem solid rgba(18, 168, 76, 0.55);
	border-bottom: 0.125rem solid rgba(18, 168, 76, 0.55);
}

.reason_bubble_sp_list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.75rem;
}

.reason_bubble_sp_list li {
	position: relative;
	padding-left: 1.25rem;
	font-weight: 900;
	color: #333;
	line-height: 1.5;
	font-size: 1rem;
}

.reason_bubble_sp_list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.75em;
	transform: translateY(-50%);
	width: 0.7rem;
	height: 0.7rem;
	background: #12a84c;
}

.reason_people_sp {
	margin: 0.875rem auto 0;
	display: flex;
	justify-content: center;
	width: clamp(8.75rem, 46vw, 11.5rem);
}

.reason_people_sp img {
	width: 100%;
	height: auto;
	display: block;
}

/* =====================
		解説枠（斜め角）
		===================== */
.reason_note {
	font-size: clamp(9px, 2.9156vw, 37.32px);
	border: 3px solid #2DA061;
	border-radius: 0.75rem;
	padding: clamp(0.875rem, 1.6vw, 1.125rem) clamp(0.875rem, 1.6vw, 1.25rem);
	background: #ffffff;
	position: relative;
	padding: 1em;
}

.reason_note::before,
.reason_note::after {
	content: "";
	position: absolute;
	width: clamp(9px, 2.3438vw, 30px);
	height: clamp(9px, 2.3438vw, 30px);
	background: rgba(18, 168, 76, 0.18);
	clip-path: polygon(0 0, 100% 0, 0 100%);
}

.reason_note::before {
	left: 0.625rem;
	top: 0.625rem;
}

.reason_note::after {
	right: 0.625rem;
	bottom: 0.625rem;
	transform: rotate(180deg);
}

.reason_note_title {
	font-size: 1em;
	display: inline-block;
	font-weight: 900;
	color: #333;
	border-bottom: 0.125rem solid #00A351;
	padding-bottom: 0.625rem;
	padding-right: 1.5em;
	position: relative;
	margin-bottom: 0.5em;
}

.reason_note_sub {
	font-weight: 900;
	color: #333;
	font-size: 0.739em;
	margin-bottom: .5em;
}

.reason_note_text {
	margin: 0;
	color: #333;
	font-size: 0.571275em;
	line-height: 1.5;
	font-weight: 600;
}

.reason_em {
	color: #00A351;
}

.reason_yellow {
	display: inline-block;
	padding: 0 0.375rem;
	font-weight: 900;
}

/* =====================
		IVR（Block2）
		===================== */

/* 4個配置（必要ならここだけ微調整） */
.reason_bubble_iv_svg-1 {
	left: 22%;
	top: 8%;
	width: clamp(12rem, 22vw, 16.5rem);
	transform: translateX(-50%);
}

.reason_bubble_iv_svg-2 {
	left: 14%;
	top: 53%;
	width: clamp(12rem, 22vw, 16.5rem);
	transform: translateX(-50%);
}

.reason_bubble_iv_svg-3 {
	right: 29%;
	top: 1%;
	width: clamp(12rem, 22vw, 16.5rem);
	transform: translateX(50%);
}

.reason_bubble_iv_svg-4 {
	right: 14%;
	top: 52%;
	width: clamp(12rem, 22vw, 16.5rem);
	transform: translateX(50%);
}

/* IVR人物の位置（中央下寄せ） */
.reason_people-iv {
	top: auto;
	bottom: 12%;
	left: 50%;
	transform: translateX(-50%);
	width: clamp(7.5rem, 10vw, 9.5rem);
}

/* =====================
		下ドット矢印
		===================== */
.reason_scroll {
	margin: clamp(9px, 7.0313vw, 90px) 0 clamp(9px, 11.7188vw, 150px);
	display: flex;
	justify-content: center;
}

.reason_scroll img {
	width: clamp(9px, 6.0156vw, 77px);
	height: auto;
	display: block;
}

/* =====================
		解決見出し（画像）
		===================== */
.kaiketsu_head_bg {
	padding: clamp(0.375rem, 1.2vw, 0.75rem) 0 clamp(1rem, 2vw, 1.75rem);
}

.kaiketsu_head_img {
	margin: 0;
	text-align: center;
}

.kaiketsu_head_img img {
	width: 100%;
	max-width: 87.5rem;
	height: auto;
	display: inline-block;
}

/* =====================
	  POINT
	  ルール：px不使用（rem / % / vw / em / clamp）
	  ===================== */


.point_bg {
	position: relative;
	overflow: hidden;
	padding: clamp(1.25rem, 2.6vw, 2.25rem) 0 clamp(9px, 21.875vw, 280px);
	background-image: url(../img/bg_wave_2_top.svg);
	background-position: bottom;
	background-size: contain;
	background-repeat: no-repeat;
}

.point_list {
	position: relative;
	z-index: 1;
	display: grid;
	gap: clamp(1.75rem, 3.8vw, 3.25rem);
}

.point_item {
	margin: 0;
}

/* 2カラム（PC） */
.point_grid {
	display: grid;
	grid-template-columns: 39fr 58fr;
	align-items: center;
	column-gap: clamp(1rem, 2.6vw, 2.25rem);
}

/* イラスト＋背面の丸背景 */
.point_illust {
	margin: 0;
	position: relative;
	display: grid;
	place-items: center;
	width: 100%;
}

.point_illust img {
	position: relative;
	z-index: 1;
	width: min(26rem, 100%);
	height: auto;
	display: block;
}

/* テキストBOX（薄い水色の角丸） */
.point_text {
	background: #eaf7f2;
	font-size: clamp(9px, 1.9531vw, 25px);
	border-radius: 0.75rem;
	padding: 0 2em 2em;
	color: #333;
}

.point_no {
	color: #00A351;
	font-weight: 900;
	display: inline-block;
}

.point_no_label {
	font-style: italic;
	display: block;
	font-size: clamp(9px, 1.5438vw, 19.76px);
}

.point_no_num {
	font-style: italic;
	font-size: clamp(9px, 6.2711vw, 80.27px);
	display: inline-block;
	border-bottom: 1px solid #00A351;
	line-height: 0.65;
	padding-bottom: 0.2em;
}

.h_row {
	display: flex;
	align-items: center;
	gap: 15px;
	transform: translateY(-50%);
}

.point_title {
	font-size: clamp(9px, 2.9vw, 40px);
	font-weight: 900;
	color: #00A351;
	display: inline-block;
}

.point_lead {
	margin: 0;
	font-size: 1em;
	font-weight: 800;
	line-height: 1.65;
}

.point_body {
	margin: 0.75em 0 0;
	font-size: clamp(9px, 1.5625vw, 20px);
	font-weight: 600;
	line-height: 1.85;
	color: #333;
}

.txt_green {
	color: #00A351;
	font-weight: 900;
}

/* SP：縦並び（上＝イラスト、下＝テキスト） */

/* =====================
	  SCB
	  ルール：px不使用（rem / % / vw / em / clamp）
	  disp_tb_over / disp_tb_miman は既存定義を使用
	  ===================== */

.scb_area {
	background: #F4F4C1;
}

.scb_bg {
	position: relative;
	overflow: hidden;
	padding: 0 0 clamp(2rem, 4vw, 3.25rem);
	background-image: url(../img/bg_wave_2_bottom.jpg);
	background-position: bottom;
	background-size: contain;
	background-repeat: no-repeat;
}

.scb_head {
	position: relative;
	z-index: 1;
	margin-bottom: clamp(9px, 5.4688vw, 70px);
}

.scb_head_img {
	margin: 0;
	text-align: center;
}

.scb_head_img img {
	width: 100%;

	max-width: 90rem;
	height: auto;
	display: inline-block;
}

.scb_lead {
	position: relative;
	z-index: 1;
	text-align: center;
	margin-bottom: clamp(9px, 8.9844vw, 115px);
}

.scb_lead_text {
	margin: 0;
	font-size: clamp(9px, 1.6406vw, 21px);
	line-height: 1.9;
	color: #333;
	letter-spacing: 0.02em;
	font-weight: 700;
}

.scb_lead_text-sub {
	margin-top: 1.1em;
}

.txt_green {
	color: #0f9f45;
	font-weight: 900;
}

/* 3カード */
.scb_cards {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.75rem, 1.6vw, 1.25rem);
	margin: 0 auto clamp(1.5rem, 3vw, 2.25rem);
}

.scb_card {
	background: #ffffff;
	border: 0.1875rem solid #12a84c;
	border-radius: 0.9rem;
	padding: clamp(1rem, 2vw, 1.5rem);
	box-shadow: 0 0.75rem 1.25rem rgba(0, 0, 0, 0.08);
	text-align: center;
	aspect-ratio: 1/1;
}

.scb_card_img {
	margin-top: 7%;
	width: auto;
	height: 49%;
	display: block;
}

.scb_card_img img {
	width: auto;
	height: 100%;
	display: inline-block;
}

.scb_card_title {
	margin: 0 0 0.5em;
	color: #0f9f45;
	font-weight: 900;
	font-size: clamp(9px, 1.9531vw, 25px);
	letter-spacing: 0.02em;
}

.scb_card_text {
	margin: 0;
	color: #333;
	font-weight: 700;
	line-height: 1.75;
	font-size: clamp(9px, 1.4625vw, 20px);
}

/* 結果表示 */
.scb_result {
	position: relative;
	z-index: 1;
	text-align: center;
}

.scb_result_line {
	margin: 0;
	font-weight: 900;
	letter-spacing: 0.02em;
	font-size: clamp(9px, 4.4531vw, 57px);
	position: relative;
	display: inline-block;
}

.scb_result_line::after {
	content: "";
	position: absolute;
	left: -10px;
	right: -10px;
	bottom: 5px;
	height: 20px;
	background: #FFFFFF;
	/* ここがエッジ */
	clip-path: polygon(30px 0, 100% 0, calc(100% - 30px) 100%, 0 100%);
	z-index: -1;
}

.scb_result_line-sub {
	margin-top: 0.35em;
}

.scb_result_num {
	color: #0f9f45;
	font-size: clamp(9px, 6.25vw, 80px);
	line-height: 1;
}

.scb_people {
	margin: 0.75rem auto 0;
	width: clamp(9px, 43.2813vw, 554px);
	display: flex;
	justify-content: center;
}

.scb_people img {
	width: 100%;
	height: auto;
	display: block;
}

/* CTA */
.scb_cta {
	position: relative;
	z-index: 1;
	text-align: center;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	transform: translateY(50%)
}

.scb_cta {
	width: clamp(9px, 49.2188vw, 630px);
	height: auto;
}

/* =====================
	  voice
	  px不使用（rem / % / vw / em / clamp）
	  ===================== */
.voice_area {
	background: #fff;
}

.voice_bg {
	padding: clamp(9px, 10.8125vw, 140px) 0 clamp(1.75rem, 3.4vw, 3rem);
}

.voice_head {
	text-align: center;
	margin: 0 0 clamp(1rem, 2.4vw, 1.5rem);
}

.voice_title {
	margin: 0;
	color: #0f9f45;
	font-weight: 900;
	letter-spacing: 0.02em;
	font-size: clamp(9px, 4.2969vw, 55px);
	margin-bottom: 3em;
}

.title_bottom_icons {
	padding-bottom: 1em;
	background-image: url("../img/title_under.svg");
	background-size: 3em;
	background-position: bottom center;
	background-repeat: no-repeat;
}

.voice_deco {
	margin: 0.5em 0 0;
	display: inline-flex;
	gap: 0.5em;
}

.voice_deco span {
	width: 0.65em;
	height: 0.18em;
	border-radius: 999em;
	background: linear-gradient(90deg, #9bd82e, #0f9f45);
	transform: skewX(-18deg);
	opacity: 0.9;
}

/* slickの余白 */
.voice_slider {
	position: relative;
	margin: 0 auto;
}

.voice_slider .slick-list {
	padding: 0.75rem 0;
	/* 影の逃げ */
}

.voice_slider .slick-track {
	display: flex;
	align-items: stretch;
}

.voice_slider .slick-slide {
	height: auto;
}

/* card */
.voice_card {
	height: 100%;
	border-radius: 0.85rem;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3), 5px 5px 5px rgba(0, 0, 0, 0.3);
	overflow: hidden;
	border: 0.0625rem solid rgba(0, 0, 0, 0.06);
	margin: 0 clamp(0.5rem, 1vw, 0.75rem);
	background: #f3f3f3;
	position: relative;
}

.voice_card_top {
	background: #fff;
}

.voice_media {
	margin: 0;
	width: 100%;
	aspect-ratio: 16 / 9;
	display: grid;
	place-items: center;
	background: #ffffff;
}

.voice_media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.voice_card_body {
	padding: 25px 15px 80px;
}

.voice_card_title {
	margin: 0;
	font-weight: 900;
	color: #333;
	line-height: 1.6;
	font-size: clamp(9px, 1.4625vw, 18px);
}

.voice_line {
	margin: 0.9em 0 0.75em;
	height: 0.18em;
	background: #0f9f45;
	border-radius: 999em;
}

.voice_company {
	margin: 0 0 0.9em;
	font-weight: 400;
	font-size: clamp(9px, 1.4063vw, 18px);
}

.voice_points {
	background: #fff;
	border-radius: 0.75rem;
	padding: clamp(0.9rem, 1.3vw, 1.1rem);
}

.voice_list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.7em;
}

.voice_list li {
	position: relative;
	padding-left: 1.9em;
	line-height: 1.7;
	font-weight: 500;
	color: #333;
	font-size: clamp(9px, 1.25vw, 16px);
}

.voice_list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.1em;
	width: 1.35em;
	height: 1.35em;
	background: url("../img/icon_check_circle.svg");
	-webkit-background-size: contain;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.voice_more {
	margin-top: 1.1em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6em;
	text-decoration: none;
	color: #0f9f45;
	font-weight: 900;
	letter-spacing: 0.02em;
	width: 100%;
	padding: 0.9em 0;
	font-size: clamp(9px, 1.4063vw, 18px);
	position: absolute;
	bottom: 1em;
	left: 50%;
	transform: translateX(-50%);
}

.voice_more:hover {
	background: rgba(15, 159, 69, 0.06);
}

/* arrows（PCのみ出す想定：slickのresponsiveで切替） */
.voice_slider .slick-prev,
.voice_slider .slick-next {
	width: 50px;
	height: 50px;
	border-radius: 999px;
	background: #0f9f45;
	z-index: 2;
}

.voice_slider .slick-prev {
	left: -4vw;
}

.voice_slider .slick-next {
	right: -4vw;
}

.voice_slider .slick-prev:before,
.voice_slider .slick-next:before {
	content: "";
	display: block;
	width: 0.85em;
	height: 0.85em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	margin: 0 auto;
	opacity: 1;
}

.voice_slider .slick-prev:before {
	transform: rotate(-135deg) translate(-3px, 2px);
}

.voice_slider .slick-next:before {
	transform: rotate(45deg) translate(-2px, 3px);
}

/* dots */
.voice_slider .slick-dots {
	position: static;
	margin: clamp(0.75rem, 2vw, 1.25rem) 0 0;
	padding: 0;
}

.voice_slider .slick-dots li {
	margin: 0 0.35em;
}

.slick-dots li.slick-active button:before {
	color: #0F9F45;
}
.voice_slider .slick-dots button:before {
	font-size: 21px;
	/* slick既定を消す */
}

.voice_slider .slick-dots button {
	width: 1em;
	height: 1em;
	border-radius: 999em;
	border: none;
	background: rgba(15, 159, 69, 0.25);
	padding: 0;
}

.voice_slider .slick-dots .slick-active button {
	background: #0f9f45;
}

/* 全ての事例を見る */
.voice_all {
	display: flex;
	justify-content: center;
	margin-top: clamp(1.25rem, 3vw, 1.75rem);
}

.voice_all_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	background: #0f9f45;
	color: #fff;
	font-weight: 900;
	max-width: 100%;
	letter-spacing: 0.02em;
	border-radius: 0.85rem;
	padding: 1.05em 7.5em;
	box-shadow: 0 0.9rem 1.6rem rgba(0, 0, 0, 0.16);
	font-size: clamp(1.05rem, 1.2vw, 1.2rem);
}

.voice_all_btn:hover {
	filter: brightness(0.98);
}

.voice_all_btn:focus-visible {
	outline: 0.25rem solid rgba(15, 159, 69, 0.25);
	outline-offset: 0.25rem;
}

/* SP：矢印は邪魔なので非表示（JS側もfalseにする） */

/* =====================
	  case / result 共通
	  px不使用
	  ===================== */
.txt_green {
	color: #0f9f45;
	font-weight: 900;
}

/* dot背景（上の対応業態パート） */
.case_bg {
	background-image: radial-gradient(#EAFCDE 0.225rem, transparent 0.225rem);
	background-size: 3.125rem 3.125rem;
	padding: clamp(1.75rem, 3.4vw, 2.75rem) 0 clamp(1.75rem, 3.4vw, 2.75rem);
	position: relative;
	overflow: hidden;
}

.case_head {
	text-align: center;
	position: relative;
	z-index: 1;
	margin-bottom: clamp(9px, 7.8125vw, 100px);
}

.case_title {
	margin: 0;
	font-weight: 900;
	letter-spacing: .02em;
	font-size: clamp(9px, 4.2969vw, 55px);
	line-height: 1.35;
}

.case_title span {
	color: #0f9f45;
}

.case_list {
	position: relative;
	z-index: 1;
	display: grid;
	gap: clamp(9px, 10.9375vw, 140px);
}

.case_item {
	background: transparent;
}

.case_row {
	display: grid;
	grid-template-columns: clamp(9px, 14.375vw, 184px) 1fr;
	align-items: center;
	gap: clamp(.9rem, 2.2vw, 1.6rem);
	position: relative;
}

.case_no {
	margin: 0 0 .35em;
	display: inline-flex;
	align-items: baseline;
	gap: .55em;
	color: #0f9f45;
	font-weight: 900;
	letter-spacing: .02em;
}
.case_no img {
	width: 100%;
	height: auto;
}
.case_no_label {
	font-style: italic;
	opacity: .55;
	font-size: .9em;
}

.case_no_num {
	font-size: clamp(2.2rem, 3.2vw, 3rem);
	line-height: 1;
}

.case_item_title {
	margin: 0 0 .25em;
	color: #0f9f45;
	font-weight: 900;
	letter-spacing: .02em;
	font-size: clamp(9px, 2.9167vw, 35px);
}

.case_line {
	height: clamp(9px, 0.625vw, 8px);
	width: 100%;
	max-width: 100%;
	background: linear-gradient(90deg,
			#66bc80 0%,
			#c8d624 42%,
			#d7da07 52%,
			#00bc1f 92%,
			#64d677 100%);
	border-radius: 999em;
	margin: .35em 0 .75em;
}

.case_desc {
	margin: 0;
	color: #333;
	font-weight: 700;
	line-height: 1.9;
	letter-spacing: .02em;
	font-size: clamp(9px, 1.6406vw, 21px);
}

.case_illust {
	margin: 0;
	width: clamp(9px, 23.4375vw, 300px);
	display: grid;
	place-items: center;
	top: 0;
	position: absolute;
	right: clamp(9px, 22.6563vw, 290px);
	transform: translateX(50%);
}

.case_illust img {
	width: 100%;
	height: auto;
	display: block;
}

/* SP：縦並び */

/* =====================
	  result
	  ===================== */
.result_bg {
	background: #fff;
	padding: clamp(1.75rem, 3.4vw, 2.75rem) 0 clamp(9px, 19.5313vw, 250px);
	position: relative;
	overflow: hidden;
}

.result_head {
	text-align: center;
	position: relative;
	z-index: 1;
	margin: 0 0 clamp(9px, 7.4219vw, 95px);
}

.result_title {
	margin: 0;
	color: #0f9f45;
	font-weight: 900;
	letter-spacing: .02em;
	font-size: clamp(9px, 4.2969vw, 55px);
}

.result_deco {
	margin: .6em 0 0;
	display: inline-flex;
	gap: .5em;
}

.result_deco span {
	width: .65em;
	height: .18em;
	border-radius: 999em;
	background: linear-gradient(90deg, #9bd82e, #0f9f45);
	transform: skewX(-18deg);
}

.result_sub {
	margin: 1.1em 0 0;
	color: #333;
	font-weight: 900;
	letter-spacing: .02em;
	line-height: 1.6;
	font-size: clamp(9px, 2.1875vw, 28px);
	background-image: url("../img/achievement_plus.svg");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	display: block;
	width: 85%;
	margin-left: auto;
	margin-right: auto;
	padding: 2.5em;
}

.result_sub .txt_green {
	font-size: 1.25em;
}

.result_people {
	margin-top: clamp(.9rem, 2vw, 1.4rem);
	display: flex;
	justify-content: center;
}

.result_people_dummy {
	width: clamp(14rem, 40vw, 26rem);
	height: clamp(3.5rem, 10vw, 5.5rem);
	border-radius: 999em;
	background: rgba(15, 159, 69, .06);
	border: .125rem dashed rgba(15, 159, 69, .25);
	display: block;
}

.result_stats {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(.9rem, 2.2vw, 1.6rem);
	align-items: start;
	margin: 0 auto clamp(1.1rem, 2.6vw, 1.75rem);
}

.result_stats img {
	width: 100%;
	height: auto;
}

.result_stat {
	text-align: center;
}

.result_stat_label {
	margin: 0 0 .35em;
	color: #0f9f45;
	font-weight: 900;
	letter-spacing: .02em;
}

.result_stat_num {
	margin: 0;
	color: #0f9f45;
	font-weight: 900;
	letter-spacing: .02em;
	font-size: clamp(1.6rem, 2.6vw, 2.25rem);
	line-height: 1.1;
	position: relative;
	display: inline-flex;
	align-items: baseline;
	gap: .25em;
}

.result_stat_num em {
	font-style: normal;
	font-size: .7em;
	opacity: .95;
}

/* 月桂冠（CSS） */
.result_stat_num::before,
.result_stat_num::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 2.4em;
	height: 2.4em;
	border-radius: 999em;
	border: .18em solid rgba(155, 216, 46, .9);
	border-top-color: transparent;
	border-bottom-color: transparent;
	opacity: .9;
}

.result_stat_num::before {
	left: -2.9em;
	transform: translateY(-50%) rotate(20deg);
}

.result_stat_num::after {

	right: -2.9em;
	transform: translateY(-50%) rotate(-20deg);
}

/* =====================
	ロゴ：無限スクロール
===================== */
.logo_marquee {
	position: relative;
	z-index: 1;
	overflow: hidden;
}

.logo_track {
	display: flex;
	align-items: center;
	width: max-content;
	will-change: transform;
	animation-name: logoMarqueeLoop;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	animation-duration: var(--logo-duration, 24s);
}

.logo_list {
	display: flex;
	align-items: center;
	gap: clamp(.75rem, 2vw, 1.5rem);
	list-style: none;
	margin: 0;
	padding: 0;
	margin-right: clamp(.75rem, 2vw, 1.5rem);
	flex: 0 0 auto;
}

.logo_item {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	padding: .35rem .55rem;
	background: #fff;
	border-radius: .6rem;
	border: 1px solid #000;
}

.logo_item img {
	height: clamp(1.6rem, 2.8vw, 2.25rem);
	width: auto;
	display: block;
}

@keyframes logoMarqueeLoop {
	0% {
		transform: translate3d(0, 0, 0);
	}
	100% {
		transform: translate3d(calc(-1 * var(--logo-loop-width, 0px)), 0, 0);
	}
}

/* ホバー時に止めたい場合 */
.logo_marquee:hover .logo_track {
	animation-play-state: paused;
}

/* 念のため */
@media (prefers-reduced-motion: reduce) {
	.logo_track {
		animation: none;
		transform: none;
	}
}

/* =====================
	  他社比較
	  px不使用
	  ===================== */
.hikaku_area {
	background: #fff;
	overflow: hidden;
}

.hikaku_bg {
	background-image: url(../img/bg_wave_3_top.jpg), url(../img/bg_wave_3_bottom.jpg);
	background-repeat: no-repeat, no-repeat;
	background-size: 100%, 100%;
	background-position: top center, bottom center;
	background-color: #F4F4C1;
	position: relative;
	padding: 0 0 clamp(9px, 34.7656vw, 445px);
}

.hikaku_head {
	position: relative;
	z-index: 1;
	text-align: center;
	margin: 0 0 clamp(9px, 6.6406vw, 85px);
}

.plan_head_bg .flex {
	justify-content: space-between;
	align-items: center;
}

.plan_head_bg .flex figure {
	width: 20.7813%;
	text-align: center;
	margin: 0;
}

.plan_head_bg .flex figure img {
	width: clamp(9px, 17.2656vw, 221px);
	height: auto;
}

.hikaku_title {
	margin: 0;
	color: #0f9f45;
	font-weight: 900;
	letter-spacing: .02em;
	font-size: clamp(9px, 4.2969vw, 55px);
	margin-bottom: clamp(9px, 5.4688vw, 70px);
}

.hikaku_deco {
	margin: .6em 0 0;
	display: inline-flex;
	gap: .5em;
}

.hikaku_deco span {
	width: .65em;
	height: .18em;
	border-radius: 999em;
	background: linear-gradient(90deg, #9bd82e, #0f9f45);
	transform: skewX(-18deg);
}

.hikaku_copy {
	margin: 1.1em 0 0;
	color: #0f9f45;
	font-weight: 900;
	letter-spacing: .02em;
	line-height: 1.45;
	font-size: clamp(9px, 2.7344vw, 35px);
}

.hikaku_copy_sub {
	margin: .4em 0 0;
	color: #333;
	font-weight: 900;
	letter-spacing: .02em;
	font-size: clamp(9px, 2.7344vw, 35px);
}

.hikaku_table_wrap {
	position: relative;
	z-index: 1;
	margin-top: clamp(1rem, 2.4vw, 1.5rem);
}

.hikaku_table_wrap::after {
	position: absolute;
	bottom: 0;
	transform: translateY(calc(100% - clamp(9px, 4.6875vw, 60px)));
	width: 100%;
	height: clamp(9px, 37.5vw, 480px);
	content: "";
	display: block;
	background-image: url(../img/hikaku_woman.svg), url(../img/hikaku_men.svg);
	background-size: clamp(9px, 15.3906vw, 197px), clamp(9px, 15.3906vw, 197px);
	background-position: top right 20px, bottom clamp(9px, 12.8125vw, 164px) left 20px;
	background-repeat: no-repeat, no-repeat;
}
.hikaku_table_wrap  {
	overflow: visible!important;
}
.hikaku_table_scroll {
	position: relative;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border-radius: 1rem;
}

/* テーブル */
.hikaku_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 5px;
	min-width: 44rem;
	/* SPで横スクロールさせるため（px禁止→rem） */
	background: transparent;
	position: relative;
}

.hikaku_table::after {
	content: '';
	display: block;
	height: calc(100% - 6px);
	width: 23%;
	border: 5px solid #00A351;
	position: absolute;
	top: 0;
	border-collapse: collapse;
	box-sizing: border-box;
	left: 19%;
	border-radius: 12px;
}


.hikaku_th,
.hikaku_td,
.hikaku_rowhead {
	padding: clamp(.75rem, 1.2vw, 1rem) clamp(.6rem, 1.1vw, .9rem);
	text-align: center;
	vertical-align: middle;
	font-size: clamp(9px, 1.75vw, 21px);
	border-radius: 8px;
}

.hikaku_th {
	font-weight: 900;
	letter-spacing: .02em;
	background: #efefef;
	color: #0f9f45;
	border: .125rem solid rgba(0, 0, 0, .12);
	font-size: clamp(9px, 1.75vw, 21px);
}

.hikaku_th-rowhead {
	background: transparent;
	border: none;
	width: 19%;
}

.hikaku_th-main {
	background: #0f9f45;
	color: #fff;
	border-color: rgba(15, 159, 69, .9);
	font-size: clamp(9px, 2.5vw, 30px);
	width: 23%;
	border-radius: 0;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
}

.hikaku_rowhead {
	text-align: center;
	font-weight: 900;
	color: #0f9f45;
	background: #dff6ea;
	border: .125rem solid rgba(15, 159, 69, .35);
	white-space: nowrap;
}

.hikaku_td {
	background: #fff;
	border: .125rem solid rgba(0, 0, 0, .12);
	font-weight: 900;
	color: #333;
}

.hikaku_price {
	color: #ff2d8d;
	font-size: clamp(1.3rem, 2.2vw, 2rem);
	font-weight: 900;
	letter-spacing: .02em;
	font-size: clamp(9px, 2.9167vw, 35px);
}

.hikaku_price_sub {
	font-size: clamp(9px, 1.75vw, 21px);
	font-weight: 900;
}

.hikaku_strong {
	color: #ff2d8d;
	font-size: clamp(1.05rem, 1.6vw, 1.35rem);
}

.hikaku_mark {
	font-size: 2em;
}

/* スクロール案内（SP） */
.hikaku_scroll_hint {
	position: absolute;
	left: 50%;
	top: 46%;
	transform: translate(-50%, -50%);
	width: min(26rem, 86%);
	background: rgba(255, 255, 255, .85);
	border: .125rem solid rgba(0, 0, 0, .12);
	border-radius: 1rem;
	padding: 1rem 1.1rem;
	text-align: center;
	box-shadow: 0 .9rem 1.6rem rgba(0, 0, 0, .18);
	backdrop-filter: blur(.25rem);
	z-index: 3;
}

.hikaku_hint_icon {
	display: block;
	width: 3.2rem;
	height: 3.2rem;
	margin: 0 auto .5rem;
	border-radius: 999em;
	background: rgba(0, 0, 0, .06);
	position: relative;
}

.hikaku_hint_icon::before {
	content: "↔";
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: #666;
	font-weight: 900;
	font-size: 1.5rem;
}

.hikaku_hint_txt {
	display: block;
	font-weight: 900;
	color: #333;
	letter-spacing: .02em;
}

.hikaku_hint_sub {
	display: block;
	margin-top: .2em;
	font-weight: 900;
	color: #ff2d8d;
	letter-spacing: .02em;
	font-size: clamp(1.05rem, 4.2vw, 1.4rem);
}

.hikaku_note {
	margin-top: clamp(.75rem, 1.8vw, 1.1rem);
	color: #333;
	font-weight: 700;
	letter-spacing: .02em;
	font-size: clamp(9px, 1.6667vw, 20px);
	line-height: 1.8;
}

.hikaku_note p {
	margin: 0;
}

.hikaku_people {
	margin: clamp(1.25rem, 2.8vw, 1.75rem) 0 0;
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 1;
}

.hikaku_people_dummy {
	width: min(34rem, 92%);
	height: clamp(5rem, 16vw, 7.5rem);
	border-radius: 1.2rem;
	background: rgba(0, 0, 0, .04);
	border: .125rem dashed rgba(0, 0, 0, .15);
	display: block;
}

/* =====================
	  料金プラン見出し＋特長
	  ===================== */
.plan_head_bg {
	background: #fff;
	padding: clamp(1.75rem, 3.4vw, 2.75rem) 0 clamp(2rem, 4vw, 3.25rem);
}

.plan_head {
	text-align: center;
	margin: 0 0 clamp(9px, 7.0313vw, 90px);
}

.plan_title {
	margin: 0;
	font-weight: 900;
	letter-spacing: .02em;
	font-size: clamp(9px, 4.2969vw, 55px);
	line-height: 1.3;
}

.plan_title span {
	color: #0f9f45;
}

.plan_deco {
	margin: .6em 0 0;
	display: inline-flex;
	gap: .5em;
}

.plan_deco span {
	width: .65em;
	height: .18em;
	border-radius: 999em;
	background: linear-gradient(90deg, #9bd82e, #0f9f45);
	transform: skewX(-18deg);
}

.tokucho_head {
	text-align: center;
	margin: 0 0 clamp(1rem, 2.2vw, 1.4rem);
}

.tokucho_title {
	color: #0f9f45;
	font-weight: 900;
	letter-spacing: .02em;
	font-size: clamp(9px, 2.7344vw, 35px);
	padding-top: 0.4em;
	padding-bottom: 0.4em;
	line-height: 1;
	border-top: 2px solid #C3F9B2;
	border-bottom: 2px solid #C3F9B2;
}

.tokucho_balloon {
	width: 76%;
	border: 3px solid #244700;
	background: #fff;
	position: relative;
	box-shadow: 0 .9rem 1.6rem rgba(0, 0, 0, .10);
}

.tokucho_balloon::after {
	content: "";
	position: absolute;
	left: -2px;
	top: 50%;
	transform: translate(-50%, -50%) rotate(135deg);
	width: 2.1rem;
	height: 2.1rem;
	background: #fff;
	border-right: 3px solid #244700;
	border-bottom: 3px solid #244700;
}

.tokucho_balloon_in {
	padding: clamp(1rem, 2vw, 1.5rem) clamp(1rem, 2.2vw, 1.6rem);
}

.tokucho_lead {
	margin: 0 0 2em;
	text-align: center;
	font-weight: 600;
	font-size: clamp(9px, 1.9531vw, 25px);
}

.tokucho_text {
	margin: 0 0 1em;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.95;
	font-size: clamp(9px, 1.6406vw, 21px);
}

.tokucho_text:last-child {
	margin-bottom: 0;
}

.tokucho_em {
	color: #0f9f45;
	font-weight: 900;
	padding: 0 .15em;
}

/* =====================
	  plan
	  px不使用（rem / % / vw / em / clamp）
	  ===================== */
.plan_area {
	background: #fff;
}

.plan_bg {
	padding: 0 0 clamp(2rem, 4vw, 3.25rem);
}

.plan_accordion {
	border: none;
	margin: 0;
}

.plan_accordion+.plan_accordion {
	margin-top: clamp(1.25rem, 2.6vw, 1.75rem);
}

.plan_summary {
	list-style: none;
	cursor: pointer;
	background: #0f9f45;
	color: #fff;
	padding: .95em 1.1em;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	font-weight: 900;
	letter-spacing: .02em;
	font-size: clamp(9px, 2.4414vw, 25px);
}

.plan_summary::-webkit-details-marker {
	display: none;
}

.plan_summary_icon {
	position: absolute;
	right: 1em;
	width: 0;
	height: 0;
	border-left: .55em solid transparent;
	border-right: .55em solid transparent;
	border-top: .75em solid #fff;
	/* closed = down */
	transition: transform .2s ease;
}

details[open] .plan_summary_icon {
	transform: rotate(180deg);
	/* open = up */
}


.plan_table_wrap {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

.plan_table {
	width: 100%;
	border-collapse: collapse;
	min-width: 50rem;
	/* SPで横スクロールさせるため（rem） */
	background: #fff;
}

.plan_th,
.plan_td,
.plan_rowhead {
	border: .0625rem solid rgba(0, 0, 0, .35);
	padding: clamp(.65rem, 1.1vw, .9rem) clamp(.6rem, 1vw, .8rem);
	text-align: center;
	vertical-align: middle;
	font-size: clamp(9px, 1.9531vw, 20px);
	line-height: 1.5;
	color: #333;
	font-weight: 800;
}

.plan_th {
	background: #e9fff2;
	color: #0f9f45;
	font-weight: 900;
}

.plan_th-left {
	width: 28%;
}

.plan_rowhead {
	text-align: left;
	padding-left: 1em;
	font-weight: 900;
	background: #fff;
}

.plan_row_popular th,
.plan_row_popular td {
	background: #fff6d9;
}

.plan_pop_time {
	display: inline-block;
	color: #ff7a00;
	font-weight: 900;
}

.plan_pop_tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: .8em;
	padding: .35em .9em;
	border-radius: .2rem;
	background: #ff8c00;
	color: #fff;
	font-weight: 900;
	font-size: .85em;
	letter-spacing: .02em;
}

.plan_note {
	margin: .8em 0 0;
	text-align: right;
	color: rgba(0, 0, 0, .65);
	font-size: clamp(.8rem, .9vw, .9rem);
	line-height: 1.6;
}

.plan_common {
	margin-top: clamp(1.25rem, 2.6vw, 1.75rem);
	border: .0625rem solid rgba(0, 0, 0, .35);
	background: #fff;
	padding: clamp(1rem, 2vw, 1.25rem);
}

.plan_common_title {
	margin: 0 0 .75em;
	color: #0f9f45;
	font-weight: 900;
	letter-spacing: .02em;
	font-size: clamp(9px, 1.9531vw, 20px);
}

.plan_common_list {
	margin: 0;
	padding-left: 1.2em;
	color: #333;
	font-weight: 700;
	line-height: 1.8;
	font-size: clamp(9px, 1.7578vw, 18px);
}

.plan_placeholder {
	margin: 0;
	color: rgba(0, 0, 0, .65);
	font-weight: 700;
}

/* =====================
	  share_option
	  px不使用（rem / % / vw / em / clamp）
	  ===================== */

/* 共通見出し装飾 */
.share_deco,
.option_deco {
	margin: .6em 0 0;
	display: inline-flex;
	gap: .5em;
}

.share_deco span,
.option_deco span {
	width: .65em;
	height: .18em;
	border-radius: 999em;
	background: linear-gradient(90deg, #9bd82e, #0f9f45);
	transform: skewX(-18deg);
}

/* =====================
	  情報共有
	  ===================== */
.share_bg {
	background: #ffffff;
	position: relative;
	overflow: hidden;
	padding: clamp(1.75rem, 3.4vw, 2.75rem) 0 0;
	margin-bottom: clamp(9px, 9.375vw, 120px);
}

.share_title {
	margin: 0;
	color: #0f9f45;
	font-weight: 900;
	letter-spacing: .02em;
	font-size: clamp(9px, 3.5969vw, 55px);
}

.share_main {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: clamp(1.25rem, 3vw, 2.25rem);
	align-items: center;
	padding-bottom: clamp(1.25rem, 2.8vw, 2rem);
}

.share_lead {
	margin: 0 0 .7em;
	font-weight: 900;
	letter-spacing: .02em;
	font-size: clamp(9px, 2.3438vw, 30px);
	line-height: 1.55;
}

.share_lead span {
	color: #0f9f45;
}

.share_body {
	margin: 0 0 .9em;
	color: #333;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.9;
	font-size: clamp(9px, 1.6406vw, 21px);
}

.share_note {
	margin: .9em 0 0;
	color: rgba(0, 0, 0, .65);
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.8;
	font-size: clamp(.85rem, .95vw, .95rem);
}

.share_logos {
	display: flex;
	justify-content: center;
}

.share_logo_list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: clamp(.75rem, 1.6vw, 1rem);
	justify-items: center;
}

.share_logo_item {
	display: inline-flex;
	align-items: center;
	gap: .7em;
	background: rgba(255, 255, 255, .7);
	border: .0625rem solid rgba(0, 0, 0, .08);
	border-radius: 999em;
	padding: .6em 1em;
	box-shadow: 0 .6rem 1.1rem rgba(0, 0, 0, .08);
	min-width: min(18rem, 92%);
	justify-content: flex-start;
}

.share_logo_badge {
	width: 2.2em;
	height: 2.2em;
	border-radius: 999em;
	display: grid;
	place-items: center;
	color: #fff;
	font-weight: 900;
	letter-spacing: .02em;
	flex: 0 0 auto;
}

.share_logo_name {
	font-weight: 900;
	color: #333;
	letter-spacing: .02em;
	font-size: clamp(.95rem, 1.05vw, 1.05rem);
}

.share_logo_badge-gmail {
	background: #ea4335;
}

.share_logo_badge-teams {
	background: #5b5fc7;
}

.share_logo_badge-slack {
	background: #111;
}

.share_logo_badge-chatwork {
	background: #ff4d4d;
}

.share_logo_badge-lineworks {
	background: #00c65a;
}

/* 街並み（簡易） */
.share_city {
	background: url(../img/bg_tool.svg);
	-webkit-background-size: contain;
	background-size: contain;
	background-repeat: no-repeat;
	aspect-ratio: 1920 / 190;
	width: 100%;
	height: auto;
}

/* SP */

/* =====================
	  オプションサービス
	  ===================== */
.option_bg {
	background-image :url(../img/option_board.svg), url(../img/bg_wave_4_top.jpg), url(../img/bg_wave_4_bottom.jpg);
	background-repeat: no-repeat, no-repeat, no-repeat;
	background-size: 12vw, 100%, 100%;
	background-position: top 16% right 5%, top center, bottom center;
	background-color: #F4F4C1;
	position: relative;
	overflow: hidden;
	padding: 0;
	padding-bottom: 55px;
	margin-bottom: clamp(9px, 7.8125vw, 100px);
}

.option_head {
	position: relative;
	z-index: 1;
	text-align: center;
	margin-bottom: clamp(9px, 9.375vw, 120px);
}

.option_title {
	margin: 0;
	color: #0f9f45;
	font-weight: 900;
	letter-spacing: .02em;
	font-size: clamp(9px, 4.2969vw, 55px);
	margin-bottom: clamp(9px, 7.0313vw, 90px);
}

.option_sub {
	margin: 1.1em auto 0;
	max-width: 56rem;
	font-weight: 800;
	letter-spacing: .02em;
	line-height: 1.9;
	font-size: clamp(9px, 1.6406vw, 21px);
}

.option_list {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(9px, 7.4219vw, 95px) clamp(9px, 3.9063vw, 50px);
}

.option_card {
	background: #fff;
	border: clamp(1px, 0.3906vw, 5px) solid rgba(15, 159, 69, .85);
	border-radius: clamp(9px, 2.3438vw, 30px) / clamp(9px, 4.6875vw, 60px);
	position: relative;
}

.option_tag {
	margin: 0;
	position: absolute;
	top: 0;
	left: clamp(9px, 2.3438vw, 30px);
	z-index: 2;
	transform: translateY(calc(-100% - 1px));
}

.option_tag span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	/* background: #0f9f45; */
	color: #fff;
	font-weight: 900;
	letter-spacing: .02em;
	border-radius: .25rem;
	padding: .35em .85em;
	font-size: .85rem;
	background-image: url(../img/option_flag.svg);
	background-size: cover;
	padding: 0.3em 2em 1em;
}

.option_card_in {
	padding: clamp(9px, 2.3438vw, 30px);
	display: grid;
	grid-template-columns: 18% 1fr;
	gap: clamp(9px, 2.1094vw, 27px);
	align-items: center;
}

.option_icon {
	width: 100%;
	height: auto;
}

.option_card_title {
	margin: 0 0 .35em;
	color: #00A351;
	font-weight: 900;
	letter-spacing: .02em;
	font-size: clamp(9px, 2.0833vw, 25px);
	/* border-bottom: 3px dashed #0f9f45; */
	position: relative;
	padding-bottom: 0.6em;
}

.option_card_title::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	height: 6px;
	width: 100%;
	background: linear-gradient(to right, #004C24 clamp(9px, 1.3281vw, 17px), transparent 3px);
	background-size: clamp(9px, 2.1875vw, 28px) 4px;
	background-repeat: repeat-x;
}

.option_card_desc {
	margin: 0;
	color: #333;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.75;
	font-size: clamp(9px, 1.75vw, 21px);
}

/* CTA */
.option_bg .scb_cta {
	margin-top: clamp(9px, 6.25vw, 80px);
}

/* =====================
	  FAQ
	  px不使用（rem / % / vw / em / clamp）
	  ===================== */
.faq_area {
	background: #fff;
}

.faq_bg {
	background: #F9FFF8;
	padding: clamp(9px, 10.1563vw, 130px) 0 clamp(9px, 7.8125vw, 100px);
	position: relative;
	overflow: hidden;
}

.faq_head {
	text-align: center;
	margin-bottom: clamp(9px, 3.9063vw, 50px);
}

.faq_head-sub {
	margin-top: clamp(9px, 7.8125vw, 80px);
}

.faq_title {
	margin: 0;
	color: #333;
	font-weight: 900;
	letter-spacing: .02em;
	line-height: 1.35;
	font-size: clamp(9px, 4.2969vw, 55px);
}

.faq_title-sub {
	color: #0f9f45;
	font-style: italic;
}

.faq_deco {
	margin: .6em 0 0;
	display: inline-flex;
	gap: .5em;
}

.faq_deco span {
	width: .65em;
	height: .18em;
	border-radius: 999em;
	background: linear-gradient(90deg, #9bd82e, #0f9f45);
	transform: skewX(-18deg);
}

.faq_list {
	margin: 0 auto;
	display: grid;
	gap: clamp(9px, 4.3945vw, 45px);
}

.faq_item {
	border: none;
	background: transparent;
}

.faq_q {
	list-style: none;
	cursor: pointer;
	background: #00A351;
	color: #fff;
	padding: .9em 1em;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: .8em;
	font-weight: 900;
}

.faq_q::-webkit-details-marker {
	display: none;
}

.faq_q_badge {
	width: 1.5em;
	height: 1.5em;
	border-radius: 999em;
	background: #fff;
	color: #00A351;
	display: flex;
	justify-content: center;
	font-weight: 900;
	font-size: 26px;
	line-height: 1;
	align-items: center;
	text-align: center;
	padding-bottom: 0.25em;
}

.faq_q_text {
	font-size: clamp(9px, 2.2461vw, 23px);
	line-height: 1.4;
}

.faq_icon {
	width: 0;
	height: 0;
	border-left: clamp(9px, 1.4648vw, 15px) solid transparent;
	border-right: clamp(9px, 1.4648vw, 15px) solid transparent;
	border-top: clamp(9px, 2.4414vw, 25px) solid #fff;
	/* closed: down */
	transition: transform .2s ease;
}

details[open]>.faq_q .faq_icon {
	transform: rotate(180deg);
	/* open: up */
}

.faq_a {
	background: #EDEDED;
	padding: 1em 2em 1em 1.5em;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: .8em;
	align-items: start;
}

.faq_a_badge {
	width: 1.5em;
	height: 1.5em;
	border-radius: 999em;
	background: #00A351;
	color: #fff;
	display: flex;
	justify-content: center;
	font-weight: 900;
	font-size: clamp(9px, 2.2461vw, 23px);
	line-height: 1;
	align-items: center;
	text-align: center;
	padding-bottom: 0.05em;
}

.faq_a_text {
	margin: 0;
	color: #333;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.85;
	font-size: clamp(9px, 2.2461vw, 23px);
}

/* SP：文字の詰まり対策 */

/* =====================
	  共通：sr_only
	  ===================== */
.sr_only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* =====================
	  お問い合わせ
	  ===================== */
.contact_bg {
	background: #fff;
	padding: clamp(1.75rem, 3.4vw, 2.75rem) 0 clamp(2.25rem, 4vw, 3.25rem);
}

.contact_head {
	text-align: center;
	margin: 0 0 clamp(1.25rem, 2.6vw, 1.75rem);
}

.contact_title {
	margin: 0;
	color: #0f9f45;
	font-weight: 900;
	letter-spacing: .02em;
	font-size: clamp(1.6rem, 2.6vw, 2.4rem);
}

.contact_deco {
	margin: .6em 0 0;
	display: inline-flex;
	gap: .5em;
}

.contact_deco span {
	width: .65em;
	height: .18em;
	border-radius: 999em;
	background: linear-gradient(90deg, #9bd82e, #0f9f45);
	transform: skewX(-18deg);
}

.contact_table_wrap {
	border: .0625rem solid rgba(0, 0, 0, .2);
	overflow: hidden;
	background: #fff;
}

.contact_table {
	width: 100%;
	border-collapse: collapse;
}

.contact_th_label,
.contact_th_field {
	padding: 0;
	border: none;
}

.contact_label {
	width: 34%;
	background: #0f9f45;
	color: #fff;
	font-weight: 900;
	letter-spacing: .02em;
	padding: 1.05em 1em;
	border-bottom: .0625rem solid rgba(255, 255, 255, .22);
	vertical-align: middle;
	text-align: left;
	font-size: clamp(.95rem, 1.05vw, 1.05rem);
}

.contact_label_textarea {
	vertical-align: top;
	padding-top: 1.2em;
}

.contact_required {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: .7em;
	padding: .25em .6em;
	border-radius: .2rem;
	background: #ff3b30;
	color: #fff;
	font-size: .8em;
	font-weight: 900;
}

.contact_field {
	background: #fff;
	padding: 1.05em 1.1em;
	border-bottom: .0625rem solid rgba(0, 0, 0, .12);
}

.contact_checks {
	display: grid;
	gap: .55em;
}

.contact_check {
	display: flex;
	align-items: center;
	gap: .6em;
	font-weight: 800;
	color: #333;
}

.contact_check input {
	width: 1.1em;
	height: 1.1em;
	accent-color: #0f9f45;
}

.contact_input,
.contact_textarea {
	width: 100%;
	border: .0625rem solid rgba(0, 0, 0, .22);
	border-radius: .15rem;
	padding: .75em .85em;
	font-size: 1rem;
	font-weight: 700;
	outline: none;
}

.contact_textarea {
	resize: vertical;
	min-height: clamp(9rem, 18vw, 13rem);
}

.contact_input:focus,
.contact_textarea:focus {
	border-color: rgba(15, 159, 69, .75);
	box-shadow: 0 0 0 .2rem rgba(15, 159, 69, .15);
}

.contact_agree {
	margin-top: clamp(1.25rem, 2.6vw, 1.75rem);
	border: .125rem solid rgba(15, 159, 69, .85);
	padding: clamp(1rem, 2vw, 1.4rem);
	text-align: center;
	background: #fff;
}

.contact_agree_text {
	margin: 0 0 .9em;
	color: #333;
	font-weight: 800;
	letter-spacing: .02em;
	line-height: 1.7;
	font-size: clamp(.9rem, 1vw, .98rem);
}

.contact_agree_check {
	display: inline-flex;
	align-items: center;
	gap: .6em;
	color: #333;
	font-weight: 800;
}

.contact_agree_check input {
	width: 1.1em;
	height: 1.1em;
	accent-color: #0f9f45;
}

.contact_submit {
	margin-top: clamp(1.25rem, 2.6vw, 1.75rem);
	display: flex;
	justify-content: center;
}

.contact_btn {
	appearance: none;
	border: none;
	cursor: pointer;
	background: #0f9f45;
	color: #fff;
	font-weight: 900;
	letter-spacing: .02em;
	border-radius: .5rem;
	padding: 1.05em 2.2em;
	width: min(28rem, 100%);
	box-shadow: 0 .9rem 1.6rem rgba(0, 0, 0, .16);
	font-size: clamp(1.05rem, 1.2vw, 1.2rem);
}

.contact_btn:focus-visible {
	outline: .25rem solid rgba(15, 159, 69, .25);
	outline-offset: .25rem;
}

/* =====================
	  フッター前（WBS）
	  ===================== */
.footpromo_bg {
	position: relative;
	overflow: hidden;
	background: url("../img/bg_footer.png");
	-webkit-background-size: cover;
	background-size: cover;
	padding: clamp(9px, 7.0313vw, 90px) 0 clamp(9px, 7.0313vw, 90px);
}

.footpromo_box {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1.16fr .6fr;
	gap: clamp(9px, 5.4688vw, 70px);
	align-items: center;
}

.footpromo_title {
	margin-bottom: 0.4em;
	font-weight: 900;
	letter-spacing: .02em;
	line-height: 1.35;
	font-size: clamp(9px, 3.9063vw, 50px);
}

.footpromo_body {
	margin: 0 0 .9em;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.85;
	font-size: clamp(9px, 1.7969vw, 23px);
}

.footpromo_body:last-child {
	margin-bottom: 0;
}

.footpromo_bg .case_line {
	width: 51%;
	height: clamp(9px, 0.3125vw, 4px);
}

.footpromo_media {
	margin: 0;
}

.footpromo_media img {
	width: 100%;
	height: auto;
	display: block;
}

/* =====================
	  footer
	  ===================== */
.footer_bg {
	background: #fff;
	padding: clamp(1.25rem, 3vw, 2rem) 0;
}

.footer_inner {
	max-width: 900px;
	padding-left: 15px;
	padding-right: 15px;
	margin-left: auto;
	margin-right: auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(9px, 3.9063vw, 40px);
	align-items: center;
}

.footer_logo {
	margin: 0;
}

.footer_logo img {
	width: 100%;
	height: auto;
}

.footer_access {
	padding-top: 5px;
	padding-bottom: 5px;
	border-left: 3px solid #00A351;
	padding-left: clamp(9px, 3.9063vw, 40px);
}

.footer_access_title {
	margin: 0 0 .6em;
	font-weight: 900;
	color: #0f9f45;
	font-style: italic;
	letter-spacing: .02em;
	font-size: clamp(9px, 2.4414vw, 25px);
}

.footer_access_text {
	margin: 0;
	color: #333;
	font-weight: 500;
	letter-spacing: .02em;
	line-height: 1.85;
	font-size: clamp(9px, 1.7578vw, 18px);
}

footer small {
	display: block;
	background-color: #00A351;
	text-align: center;
	color: #fff;
	font-size: 15px;
	padding-top: 0.3em;
	padding-bottom: 0.3em;
}
.scb_result, .case_bg, .result_bg, .hikaku_bg {
	position: relative;
}
.onayami_pc_box::before, .onayami_pc_box::after, .point_bg::after, .scb_result::after, .scb_result::before, .case_bg::before, .case_bg::after, .result_bg::after, .hikaku_bg::before, .hikaku_bg::after, .share_bg::after, .option_bg::before, .option_bg::after, .faq_bg::before, .faq_bg::after {
	content: "";
	position: absolute;
	display: block;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	aspect-ratio: 118 / 75;
	width: clamp(9px, 18.75vw, 300px);
}
/* スラッシュアイコン */
.onayami_pc_box::before {
	background-image: url(../img/icon_slash_left.svg);
	left: clamp(-30px, -1.875vw, 9px);
	top: clamp(-53px, -3.3125vw, 9px);

}
/* スラッシュアイコン */
.onayami_pc_box::after {
	background-image: url(../img/icon_slash_right.svg);
	bottom: 13%;
	right: clamp(-53px, -3.3125vw, 9px);
}

.point_bg::after {
	background-image: url("../img/icon_slash_bold.svg");
	bottom: clamp(9px, 3.125vw, 50px);
	right: clamp(-80px, -5vw, 9px);
}

.scb_result::before {
	background-image: url(../img/icon_slash_left.svg);
	left: 0;
	top: 0;
	transform: translateX(-50%);
}
.scb_result::after {
	background-image: url(../img/icon_slash_right.svg);
	right: 0;
	top: 0;
	transform: translateX(50%);
}
.case_bg::before, .case_bg::after {
	background-image: url(../img/icon_slash_left.svg);
}
.case_bg::before {
	right: -80px;
	top: 360px;
}
.case_bg::after {
	left: -120px;
	bottom: 130px;
}
.result_bg::after {
	background-image: url("../img/icon_slash_bold.svg");
	top: clamp(9px, 7.8125vw, 100px);
	right: 0;
	transform: translateX(35%);
}
.hikaku_bg::before {
	background-image: url(../img/icon_slash_bold.svg);
	right: -80px;
	top: 20%;
	z-index: 1;
	width: 360px;
}
.hikaku_bg::after {
	background-image: url(../img/icon_slash_bold.svg);
	left: -100px;
	transform: translate(-20px, 100%);
	z-index: 1;
	width: clamp(9px, 37vw, 400px);
}
.share_bg::after {
	background-image: url(../img/icon_slash_left.svg);
	right: 0;
	top: 55%;
	transform: translateX(40%)
}
.option_bg::before, .option_bg::after {
	background-image: url(../img/icon_slash_right.svg);
}
.option_bg::before {
	left: 0;
	top: 38%;
	transform: translateX(-10%);
}
.option_bg::after {
	right: 0;
	bottom: 10%;
	transform: translateX(50%);
}
.faq_bg::before {
	background-image: url(../img/icon_slash_right.svg);
	top: 33%;
	left: 70px;
}
.faq_bg::after {
	background-image: url(../img/icon_slash_bold.svg);
	top: 50%;
	right: 0;
	transform: translateX(45%);
	width: 430px;
}
.tel_wrap {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.contact_input_tel {
	width: 6em!important;
}

[class^="err_"] {
	display: none;
	margin-top: 0.5rem;
	font-size: 0.875rem;
	color: #d00;
	font-weight: 600;
}
[class^="err_"].error-visible {
	display: block;
}
/* allsize end */
/*===========================================
 以下、メディアクエリ
===========================================*/
/*===========================
 【1024px以下】
 ★タブレット横以下に適用されるCSS
===========================*/
@media screen and (max-width:1024px){
    .cont {
        padding-left :15px;
        padding-right :15px;
    }
	/* 1024down end */
}
/*===========================
【1023px以下】
 ★PC未満に適用されるCSS
===========================*/
@media screen and (max-width:1023px){
	/* メニューバー */
    .cont_pc_miman {
        padding-left: 15px;
        padding-right: 15px;
    }
	.sp_mail {
		right: 125px;
	}
	.sp_tel {
		right: 80px;
	}
	.header_link_sp, .link_img {
		display: block;
		position: fixed;
		top: 0px;
		height: 55px;
		z-index: 99;
		text-decoration: none;
		color: #ffffff;
	}
	.sp_mail img, .sp_tel img, .sp_insta img, .sp_facebook img {
		height: 28px!important;
		margin-top: 8.5px;
	}

	.header_link_sp img {
		height: 38px;
		width: auto!important;
		line-height: 45px;
	}
	
	/* ロゴ部のリンク */
	.header_link_sp {
		display:block;
		position: fixed;
		left:8px;
		top:3px;
		height: 38px;
		z-index: 99;
	}
	
	.header_link_sp a {
		text-decoration: none;
		color: #ffffff;
	}
	.header_link_sp span {
		font-size: 20px;
		line-height: 45px;
	}
	.header_link_sp img {
		width: 100%;
	}

	/*---------------
	 スマホメニュー ドアタイプ
	 ※展開時にロゴが消える仕様にする場合、drawer-menuとclose-menuのtopを0に変更し、heightを100vhに変更
	 　header_link_spにtransitionを付与し、また、.checked:checked  ~ .header_link_spに対してopacityを0でふわっと消える
	----------------*/
    #header_sp {
    background-color: #000000;
    position: fixed;
    top: 0;
    z-index: 99;
    height: 55px;
    width: 100%;
    border-bottom: 1px solid gray;
    }
    .drawer-menu p {
        transform: translateX(-800px)
    }
    .check:checked ~ .drawer-menu p {
        color: #fff;
        display: block;
        position: absolute;
        top:30px;
        left:30px;
        font-size: 20px;
        border-bottom: 1px solid #fff;
        -webkit-transition-delay: .6s;
        transition-delay: .6s;
        transform: translateX(0);
        transition-property: all;
		-webkit-transition-property: all;
        transition-duration: .5s;
        -webkit-transition-duration: .5s;
    }
    .drawer-menu {
    	overflow-y: scroll;
        box-sizing: border-box;
        position: absolute;
        top: 55px;
        right: 0;
        width: 300px;
        height: calc(100vh - 55px);
        padding: 100px 0;
        background: #222;
        -webkit-transition-delay: 0s;
        transition-delay: 0s;
        -webkit-transform-origin: right center;
        -ms-transform-origin: right center;
        transform-origin: right center;
        -webkit-transform: perspective(500px) rotateY(-90deg);
        transform: perspective(500px) rotateY(-90deg);
        transform-style: preserve-3d;
        transition-property: rotate,perspective,opacity,transform;
        opacity: 0;
    }

    .drawer-menu li {
        text-align: center;
    }
    .drawer-menu li a {
        display: block;
        height: 50px;
        line-height: 50px;
        font-size: 14px;
        color: #fff;
        -webkit-transition: all .8s;
        transition: all .8s;
        border-bottom: 1px solid #666666;
        text-decoration: none;
    }
    .drawer-menu li:first-child {
        border-top: 1px solid #666666;
    }
    .drawer-menu li a:hover {
        color: #1a1e24;
        background: #fff;
    }

    .check {
        display: none;
    }

    .menu-btn {
        position: relative;
        display: block;
        top: 0;
        right: 0;
        width: 60px;
        height: 55px;
        font-size: 10px;
        text-align: center;
        cursor: pointer;
        background-color: #fff;
        z-index: 101;
    }

    .bar {
        position: absolute;
        top: 10px;
        left: 10px;
        display: block;
        width: 40px;
        height: 2px;
        background: #5B5B5B;
        -webkit-transition: all .5s;
        transition: all .5s;
        -webkit-transform-origin: left top;
        -ms-transform-origin: left top;
        transform-origin: left top;
        z-index: 4;
    }

    .bar.middle {
        top: 20px;
        opacity: 1;
        z-index: 4;
    }

    .bar.bottom {
        top: 30px;
        -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
        transform-origin: left bottom;
        z-index: 4;
    }

    .menu-btn__text {
        position: absolute;
        bottom: 0px;
        left: 0;
        right: 0;
        margin: auto;
        color: #5B5B5B;
        -webkit-transition: all .5s;
        transition: all .5s;
        display: block;
        visibility: visible;
        opacity: 1;
        z-index: 4;
    }

    .close-menu {
        position: absolute;
        top: 55px;
        right: 300px;
        width: 100%;
        height: calc(100vh - 55px);
        background: rgba(0,0,0,0);
        -webkit-transition-duration: .3s;
        transition-duration: .3s;
        -webkit-transition-delay: 0s;
        transition-delay: 0s;
        visibility: hidden;
        opacity: 0;
        z-index: 4;
        -webkit-transition-property: rotate,perspective,opacity,transform;
        transition-property: rotate,perspective,opacity,transform;
    }

    .check:checked ~ .drawer-menu {
        -webkit-transition-delay: .3s;
        transition-delay: .3s;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
        opacity: 1;
        z-index: 100;
        -webkit-backface-visibility:visible;
        backface-visibility:visible;
        -webkit-transition-duration: .6s;
        transition-duration: .6s;
    }

    .check:checked ~ .contents {
        -webkit-transition-delay: 0s;
        transition-delay: 0s;
        -webkit-transform: translateX(-300px);
        -ms-transform: translateX(-300px);
        transform: translateX(-300px);
    }

    .check:checked ~ .menu-btn .menu-btn__text {
        visibility: hidden;
        opacity: 0;
    }

    .check:checked ~ .menu-btn .bar.top {
        width: 55px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .check:checked ~ .menu-btn .bar.middle {
        opacity: 0;
    }

    .check:checked ~ .menu-btn .bar.bottom {
        width: 55px;
        top: 50px;
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
    .check:checked ~ .close-menu {
        -webkit-transition-duration: .3s;
        transition-duration: .3s;
        -webkit-transition-delay: .3s;
        transition-delay: .3s;
        background: rgba(0,0,0,.5);
        visibility: visible;
        opacity: 1;
        z-index: 100;
    }

	/*----------------
	 スマホメニュー ドアタイプここまで
	----------------*/
	
	header .right {
		max-width: 60%;
		width: 510px;
		display: flex;
		justify-content: flex-end;
	}

	header .box {
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-left: auto;
	}

	.spheader_cta {
		display: inline-flex;
		align-items: center;
		text-decoration: none;
		color: #fff;
		font-weight: 600;
		background-color: #FF8B00;
		padding: 0 1.5em;
		font-size: 3.5vw;
	}
	.result_bg::after,.option_bg::before, .option_bg::after, .faq_bg::before, .faq_bg::after {
		content: none;
	}
	/* 1023down end */
}

/*===========================
【800px以下】
★タブレット以下に適用されるCSS
===========================*/
@media screen and (max-width:800px){
	/* 800down end */
}

@media screen and (max-width:1279px) {
	.case_bg::before, .case_bg::after {
		content: none;
	}
}

/*===========================
【767px以下】
★タブレット未満に適用されるCSS
===========================*/
@media screen and (max-width:767px){
	.cont_tb_miman {
		padding-left: 15px;
		padding-right: 15px;
	}
	/*----------------
	 テーブル
	----------------*/
	table.formTable th {
		text-align: center;
	}
	table.formTable th , table.formTable td {
		display: block;
		width: 100%;
        border: 1px solid #ddd;
		border-bottom: none;
	}
    table.formTable tr:last-of-type td {
        border-bottom: 1px solid #ddd;
    }

	/*---------------------------
	 お問い合わせ
	---------------------------*/
    .btn_back, .btn_submit {
        display: block;
        width: 250px;
        margin-bottom: 20px;
    }
	/* SPは中央下寄せ */
	.header_logo {
		max-width: 180px;
	}

	.mv_cta {
		left: 50%;
		top: 83%;
		transform: translate(-50%, 0);
		width: min(92vw, 520px);
	}

	.campaign_bg {
		padding: 10vw 0 34px;
	}

	.campaign_card_top {
		padding: 2.5em;
	}

	.campaign_lead {
		font-size: 4.5vw;
		line-height: 1.4;
	}

	.campaign_maincopy_text {
		font-size: 7vw;
		line-height: 1.4;
	}

	.campaign_card_body {
		padding: 18px 16px 22px;
	}

	.campaign_cols {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.campaign_illust {
		justify-content: center;
	}

	.campaign_logo {
		width: 100%;
	}

	.campaign_cols {
		display: flex;
		flex-direction: column-reverse;
		max-width: 100%;
	}

	.campaign_illust img {
		width: 58%;
	}

	.pc_only {
		display: none;
	}

	.sp_only {
		display: block;
	}
	.onayami_pc_box {
		margin-left: -15px;
		margin-right: -15px;
		position: relative;
	}

	.onayami_bg::before {
		top: 110px;
		width: 92vw;
		height: 560px;
		clip-path: polygon(0 0, 100% 0, 100% 86%, 50% 100%, 0 86%);
	}

	.onayami_title {
		font-size: 7vw;
	}

	.onayami_slash {
		width: 54px;
		height: 28px;
		top: -8px;
	}

	.onayami_list {
		list-style: none;
		margin: 18px 0 0;
		padding: 0;
		display: grid;
		gap: 18px;
	}

	.onayami_item {
		display: grid;
		grid-template-columns: 38px 1fr;
		gap: 12px;
		align-items: center;
		background: #fff;
		border-radius: 10px;
		padding: 18px 16px;
		box-shadow: 0 10px 18px rgba(0, 0, 0, .07);
		border: 1px solid rgba(0, 0, 0, .05);
	}

	.onayami_item_icon {
		width: 34px;
		height: 34px;
		display: grid;
		place-items: center;
	}

	.onayami_item_icon img {
		width: 100%;
		height: auto;
		display: block;
	}

	.onayami_item p {
		margin: 0;
		font-size: 18px;
		font-weight: 900;
		line-height: 1.55;
		color: #333;
	}

	.disp_tb_over {
		display: none;
	}

	.disp_tb_miman {
		display: block;
	}

	.point_bg {
		padding: clamp(1.25rem, 5vw, 1.75rem) 0 clamp(1.75rem, 6vw, 2.25rem);
	}

	.point_bg::before {
		top: 18%;
		height: 68%;
		transform: skewY(-3deg);
		border-radius: 40em;
	}

	.point_grid {
		grid-template-columns: 1fr;
		row-gap: clamp(0.75rem, 4vw, 1.25rem);
	}

	.point_item-rev .point_illust {
		order: 1;
	}

	.point_item-rev .point_text {
		order: 2;
	}

	.point_illust img {
		width: 66%;
		margin-left: auto;
		padding-right: 13%;
	}

	.point_text {
		border-radius: 0.85rem;
	}

	.point_no_num {
		font-size: clamp(2.25rem, 10vw, 3.1rem);
	}

	.scb_bg {
		padding: 0 0 clamp(2rem, 6vw, 2.75rem);
	}

	.scb_lead {
		text-align: left;
	}

	.scb_cards {
		grid-template-columns: 1fr;
	}

	.scb_card_img img {
		width: min(12.5rem, 58%);
	}

	.scb_people {
		width: min(26rem, 92%);
	}

	.voice_slider .slick-prev,
	.voice_slider .slick-next {
		display: none !important;
	}

	.case_bg::before {
		left: -10%;
		top: 8%;
	}

	.case_bg::after {
		right: -12%;
		top: 84%;
	}

	.case_row {
		grid-template-columns: 1fr;
		gap: clamp(.75rem, 3.6vw, 1.1rem);
	}

	.case_illust {
		width: clamp(6.5rem, 30vw, 9rem);
		justify-self: center;
	}

	.case_text {
		max-width: none;
	}

	.result_bg::before {
		left: -10%;
		top: 8%;
	}

	.result_bg::after {
		right: -12%;
		top: 86%;
	}

	.result_stats {
		grid-template-columns: 1fr;
		gap: clamp(1rem, 3.6vw, 1.35rem);
	}

	.result_people_dummy {
		width: min(26rem, 92%);
	}

	.hikaku_table {
		min-width: 40rem;
	}

	.share_main {
		grid-template-columns: 1fr;
		gap: clamp(1rem, 4vw, 1.5rem);
	}

	.share_logo_item {
		min-width: min(22rem, 100%);
	}

	.option_list {
		grid-template-columns: 1fr;
	}

	.option_tag {
		top: .75rem;
		left: .75rem;
	}

	.faq_q {
		padding: .9em .9em;
		gap: .7em;
	}

	.faq_a {
		padding: 1em .9em 1.05em;
	}

	.contact_table {
		display: block;
	}

	.contact_table thead {
		display: none;
	}

	.contact_table tbody,
	.contact_table tr,
	.contact_table th,
	.contact_table td {
		display: block;
		width: 100%;
	}

	.contact_label {
		width: 100%;
	}

	.contact_field {
		border-bottom: .0625rem solid rgba(0, 0, 0, .12);
	}

	.footpromo_box {
		grid-template-columns: 1fr;
		padding: clamp(1.75rem, 6vw, 2.25rem) 0;
	}

	.footer_inner {
		grid-template-columns: 1fr;
	}

	.footer_access {
		text-align: left;
	}
	.campaign_tag {
		font-size: 5vw;
	}
	.campaign_desc {
		font-size: 4.5vw;
	}
	.campaign_illust {
		width: 100%;
	}
	.onayami_check {
		height: auto;
		transform: translate(0,-50%);
		width: 7vw;
	}
	.onayami_pc_box .inner {
		padding-left: 15px;
		padding-top: 5vw;
		top: 0;
	}
	.bub_box {
		margin-bottom: calc(8.8vw - (768px - 100vw) * 0.00509);
	}
	.onayami_bub_in {
		justify-content: center
	}
	.onayami_bub_in p {
		font-size: 3.8vw;
		text-align: left;
		display: block;
	}
	.onayami_people {
		width: 40%;
		transform: translate(-50%, 0);
	}
	.onayami_scroll img {
		width: 23vw;
	}
	.onayami_scroll {
		margin-top: 30px;
		margin-bottom: 0;
	}
	.reason_block_icon img {
		width: clamp(9px, 27.2464vw, 209px);
	}
	.reason_title {
		font-size: clamp(9px, 6.2464vw, 55.6px);
		margin-bottom: 1.5em;
	}
	.reason_title_line {
		font-size: 1em;
		line-height: 1.6;
	}
	.reason_bubble_sp_box {
		border-width: 1px;
		border-color: #2DA061;
		border-radius: 0.875rem;
		padding: 1.5em 2em;
	}
	.reason_people_sp img {
		width: 20vw;
	}
	.reason_note {
		font-size: clamp(9px, 4.6377vw, 35.6px);
	}
	.reason_note_title {
		display: block;
		text-align: center;
		padding-bottom: 0.2em;
		border-bottom: 1px solid #00A351;
		font-size: clamp(9px, 4.557971vw, 44.5px);
		padding-right: 0;
	}
	.reason_note_sub {
		font-size: clamp(9px, 4.8vw, 36.8px);
	}
	.reason_note_text {
		font-size: clamp(9px, 4.2667vw, 32.7px);
	}
	.reason_note::before, .reason_note::after {
		width: 6vw;
		height: 7vw;
	}
	.reason_block+.reason_block {
		margin-top: 20vw;
	}
	.reason_block-iv .reason_bubble_sp_box {
		padding: 1.5em 1em;
	}
	.reason_block-iv .reason_bubble_sp_list li {
		font-size: clamp(9px, 4vw, 30.7px);
	}
	.reason_scroll img {
		width: 12%;
	}
	.kaiketsu_head_bg .cont_mid {
		padding-left: 0;
		padding-right: 0;
	}
	.h_row {
		display: block;
		transform: none;
		margin-top: -18vw;
	}
	.point_title {
		font-size: 6.2vw;
		display: block;
	}
	.point_list {
		gap: 14vw
	}
	.point_text {
		margin-top: 6vw;
	}
	.point_lead {
		margin-top: 1em;
		font-size: clamp(9px, 4.8vw, 36.8px);
	}
	.point_body {
		font-size: clamp(9px, 4.2667vw, 32.7px);
	}
	.scb_area .charas {
		display: flex;
		justify-content: center;
		align-items: flex-end;
		gap: 20vw
	}
	.scb_area .charas img {
		width: 17vw;
	}
	.scb_lead {
		border: 2px solid #FF666E;
		padding: 1.5em 0.7em;
		background-color: #fff;
		font-size: clamp(9px, 3.8107vw, 29.2px);
	}
	.scb_lead_text {
		font-size: 1em;
	}
	.scb_cards {
		display: block;
	}
	.scb_card {
		aspect-ratio: auto;
		margin-bottom: clamp(9px, 8.9844vw, 115px);
	}
	.scb_card_title {
		font-size: clamp(9px, 5.3333vw, 40.9px)
	}
	.scb_card_text {
		font-size: clamp(9px, 4.8vw, 36.8px)
	}
	.scb_card_img {
		margin-top: 0;
		height: 31%;
	}
	.scb_card_img img {
		width: 41%;
	}
	.scb_result_line {
		padding-left: 1em;
		padding-right: 1em;
		font-size: 8vw;
	}
	.scb_result_num {
		font-size: 10vw;
	}
	.scb_cta {
		width: 100%;
	}
	.scb_people img {
		width: 68%;
	}
	.voice_title {
		font-size: 6.7vw;
		margin-bottom: 1.5em;
	}
	.voice_all_btn {
		width: 90%;
		padding-left: 0;
		padding-right: 0;
	}
	.case_title,.result_title ,.hikaku_title,.plan_title,.option_title{
		font-size: 6.7vw;
	}
	.faq_title {
		font-size: 6vw;
	}
	.case_row {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 0
	}
	.case_no {
		width: 21%;
	}
	.case_text {
		width: 77%;
		margin-left: 2%;
	}
	.case_item_title {
		font-size: clamp(9px, 4.9vw, 40.9px);
	}
	.case_illust {
		width: 30vw;
		position: static;
		transform: none;
	}
	.case_desc {
		font-size: clamp(9px, 4.2667vw, 32.7px);
		margin-top: 5vw;
	}
	.case_line {
		height: 2px;
	}
	.case_list {
		gap: 18vw
	}
	.result_stats {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	.result_stat {
		width: 47%;
	}
	.result_stat:first-of-type {
		width: 70%;
	}
	.result_stat img {
		width: 43vw;
	}
	.result_sub {
		background-image: url(../img/achievement_plus_sp.svg);
		padding: 2.7em 0px;
		font-size: 4.5vw;
		width: 100%;
	}
	.hikaku_copy, .hikaku_copy_sub, .hikaku_price {
		font-size: clamp(9px,4.5vw,20px);
	}
	.hikaku_th-main, .hikaku_th {
		font-size: clamp(9px,3.4vw,18px);
	}
	.hikaku_th, .hikaku_td, .hikaku_rowhead {
		font-size: clamp(9px,3.4vw,18px);
	}
	.hikaku_price_sub {
		font-size: clamp(9px,3.4vw,18px)
	}
	.hikaku_table_wrap {
		margin-right: -15px;
	}
	.hikaku_note {
		font-size: 3.15vw;
	}
	.hikaku_table_wrap::after {
		transform: translateY(45vw);
		background-size: 25vw, 25vw;
	}
	.tokucho_title {
		font-size: 7vw;
		padding-top: 0.85em;
		padding-bottom: 0.85em;
	}
	.plan_head_bg {
		padding-top: 33vw;
	}
	.plan_head_bg .flex {
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}
	.tokucho_balloon, .plan_head_bg .flex figure {
		width: 100%;
	}
	.tokucho_lead {
		font-size: 4.3vw;
		margin-bottom: 1.3em;
	}
	.tokucho_balloon::after {
		top: auto;
		left: 50%;
		bottom: 0;
		transform: translate(-50%, calc(50% + 2px)) rotate(45deg);
	}
	.plan_head_bg .flex figure img {
		width: 27vw;
		height: auto;
		margin-top: 12vw;
	}
	.tokucho_balloon {
		padding: 1em;
	}
	.tokucho_balloon_in {
		padding: 0;
	}
	.tokucho_text {
		font-size: 3.5vw;
	}
	.plan_summary {
		font-size: 5vw;
		padding: 0.5em;
	}
	.plan_th, .plan_td, .plan_rowhead {
		font-size: 4vw;
		text-align: center;
	}
	.plan_note {
		text-align: left;
		font-size: 3.2vw;
	}
	.plan_common_title {
		font-size: 4vw;
	}
	.plan_common_list {
		font-size: 4vw;
	}
	.share_title {
		font-size: 6vw;
		text-align: center;
		margin-top: 0.25em;
	}
	.share_lead {
		font-size: 5vw;
	}
	.share_logos img {
		width: 100%;
		height: auto;
	}
	.share_body {
		font-size: 4vw;
	}
	.option_sub {
		font-size: 4.6vw;
		text-align: left;
	}
	.option_card_in {
		display: block;
	}
	.option_icon {
		text-align: center;
	}
	.option_icon img {
		width: 20%;
	}
	.option_card {
		border-width: 3px;
	}
	.option_card_title {
		text-align: center;
		font-size: 5vw;
		padding-bottom: 0.75em;
		padding-top: 0.5em;
		margin-bottom: 1em;
	}
	.option_card_title::after {
		height: 3px;
		background: linear-gradient(to right, #004C24 clamp(9px, 1.3281vw, 17px), transparent 3px);
		background-size: 21px 4px;
	}
	.option_card_desc {
		font-size: 4.15vw;
	}
	.option_card_in {
		display: block;
		padding: 5vw 5vw 8vw;
	}
	.option_tag {
		top: 0;
	}
	.option_list {
		gap: 20vw;
	}
	.option_head {
		margin-bottom: 21vw;
	}
	.faq_q_text {
		font-size: 4.15vw;
	}
	.faq_q_badge {
		font-size: 1em;
	}
	.faq_q {
		align-items: center;
	}
	.faq_a_badge {
		font-size: 1em;
	}
	.faq_a_text {
		font-size: 4.3vw;
	}
	.faq_list {
		gap: 12vw;
	}
	.faq_head-sub {
		margin-top: 20vw;
		margin-bottom: 8vw;
	}
	.faq_bg {
		padding-bottom: 15vw;
		padding-top: 25vw;
	}
	.footpromo_title {
		text-align: center;
		font-size: 5.5vw;
	}
	.footpromo_bg .case_line {
		width: 100%;
		height: 3px;
	}
	.footpromo_box {
		padding-top: 5vw;
		display: flex;
		flex-direction: column-reverse;
		padding-bottom: clamp(1.75rem, 6vw, 2.25rem) 0 15vw;
	}
	.footpromo_body {
		font-size: 4.2vw;
	}
	.footer_logo img {
		width: 65%;
		margin-left: auto;
		margin-right: auto;
		display: block;
	}

	/* スラッシュアイコン */

	.onayami_pc_box::before, .onayami_pc_box::after, .point_bg::after, .scb_result::after, .scb_result::before, .case_bg::before, .case_bg::after, .result_bg::after, .hikaku_bg::before, .hikaku_bg::after, .share_bg::after, .option_bg::before, .option_bg::after, .faq_bg::before, .faq_bg::after {
		width: 24vw;
	}
	.onayami_pc_box::before {
		background-image: url(../img/icon_slash_left.svg);
		left: -9vw;
		top: 4vw;
		width: 28vw;
	}
	.onayami_pc_box::after {
		bottom: 6%;
		right: -6vw;
		width: 24vw;
	}
	.reason_note_sub {
		margin: 1em 0;
	}

	.point_bg {
		background-image: url(../img/bg_wave_2_top_sp.jpg);
		padding-bottom: 25vw;
	}
	.kaiketsu_head_area {
		background-image: url(../img/bg_wave_1_bottom_sp.jpg), linear-gradient(#F4F4C1);
	}

	.reason_area {
		background-image: url(../img/bg_wave_1_top_sp.jpg), linear-gradient(#F4F4C1);
	}

	.scb_bg {
		background-image: url(../img/bg_wave_2_bottom_sp.jpg);
	}

	.hikaku_bg {
		background-image: url(../img/bg_wave_3_top_sp.jpg), url(../img/bg_wave_3_bottom_sp.jpg);
	}

	.option_bg {
		background-image :url(../img/option_board.svg), url(../img/bg_wave_4_top_sp.jpg), url(../img/bg_wave_4_bottom_sp.jpg);
	}
	.scb_area {
		padding-top: 12vw;
	}
	.scb_result::before, .scb_result::after {
		content: none
	}
	.scb_bg {
		background-image: url(../img/bg_wave_2_bottom_sp.jpg), linear-gradient(#fff);
		background-size: contain, 100% 29vw;
		background-position: bottom 29vw center, bottom center;
	}
	.case_bg {
		padding-top: 14vw;
	}
	.logo_item img {
		height: 15vw;
	}
	.hikaku_bg {
		padding-bottom: 7vw;
	}
	.hikaku_title {
		transform: translateY(-17vw);
		margin-bottom: 0;
	}
	.hikaku_area {
		padding-top: 15vw;
	}
	.hikaku_copy {
		margin-top: 0;
	}
	.tokucho_head {
		margin-bottom: 11vw;
	}
	.share_head {
		margin-bottom: 8vw;
	}
	.option_bg {
		padding-top: 19vw;
		overflow: visible;
	}
	.option_bg .scb_cta {
		height: 6vw;
	}
	.footpromo_bg {
		background-position: center;
	}
	.voice_card_title, .voice_company {
		font-size:3.5vw;
	}
	.voice_list li {
		font-size:3.2vw;
	}
	.voice_more {
		font-size: 4vw;
	}
	.option_bg {
		padding-bottom: 0;
	}
	.option_bg .scb_cta {
		margin-top: 15vw;
	}
	.footer_access_title {
		font-size: 4vw;
	}

	.footer_access_text {
		font-size: 3.5vw;
	}
	/* 767down end */
}
/*===========================
 【666px以下】
 ★iPhone6以降の横未満に適用されるCSS
===========================*/
@media screen and (max-width:666px) {
	/* 666down end */
}
/*===========================
 【567px以下】
★iPhone5横未満まで適用されるCSS
===========================*/
@media screen and (max-width:567px){
	/* 567down end */
}
/*===========================
 【414px以下】
★iPhone6PLUS縦まで適用されるCSS
===========================*/
@media screen and (max-width:414px){
	/* 414down end */
}
/*===========================
 【375px以下】
★iPhone6,7縦まで適用されるCSS
===========================*/
@media screen and (max-width:375px){
	/* 375down end */
}
/*===========================
 【360px以下】
 ★Xperia AX SO-01E以下に適用されるCSS
===========================*/
@media screen and (max-width:360px){
	/* 360down end */
}
/*===========================
 【359px以下】
 ★iphone初期にのみ適用されるCSS
===========================*/
@media screen and (max-width:359px){
	/* 359down end */
}
/*===========================
 【568px以上】
 ★iPhone5横以上から表示されるCSS
===========================*/
@media screen and (min-width:568px) {
	/* 568over end */
}
/*===========================
 【667px以上】
 ★iPhone6以降の横以上に適用されるCSS
===========================*/
@media screen and (min-width:667px){
	/* 667over end */
}
/*===========================
【768px以上】 
★タブレット(最小)以上に適用されるCSS
===========================*/
@media screen and (min-width:768px){
   .flex_tb_over {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        -o-flex-wrap: wrap;
        flex-wrap: wrap;
    }
	.onayami_pc_box {
		position: relative;
	}
	/* 位置（添付2の並びに寄せ） */
	.onayami_bub-1 {
		top: clamp(9px, 4.3125vw, 69px);
	}

	.onayami_bub-2 {
		left: clamp(9px, 2.1875vw, 35px);
		top: clamp(9px, 6vw, 96px);
	}

	.onayami_bub-3 {
		left: clamp(9px, 3.125vw, 50px);
		top: clamp(9px, 1.875vw, 30px);
	}

	.onayami_bub-4 {
		left: clamp(9px, 3.9375vw, 63px);
		top: 0;
	}

	.onayami_bub-5 {
		left: 0;
		top: 0;
	}

	.onayami_bub-6 {
		left: clamp(9px, 5vw, 80px);
		top: clamp(9px, 0.5625vw, 9px);
	}

	.onayami_bub-1 .onayami_bub_in::after {
		right: clamp(-41px, -2.5625vw, 9px);
	}

	.onayami_bub-4 .onayami_bub_in::after {
		right: clamp(9px, 18.125vw, 290px);
	}

	.onayami_bub-2 .onayami_bub_in::after {
		right: 0;
	}

	.onayami_bub-5 .onayami_bub_in::after {
		right: clamp(9px, 18.125vw, 290px);
	}

	.onayami_bub-3 .onayami_bub_in::after {
		right: clamp(-41px, -2.5625vw, 9px);
	}

	.onayami_bub-6 .onayami_bub_in::after {
		right: clamp(9px, 12.5vw, 200px);
	}
	.bobs {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.bobs .bub_box {
		width: 50%;
		text-align: left;
	}

	/* 左吹き出し */
	.onayami_bub_in::after {
		padding-right: 32px;
		display: block;
		height: clamp(9px, 6.25vw, 100px);
		width: clamp(9px, 6.25vw, 100px);
		content: '';
		position: absolute;
		bottom: 0;
		background-repeat: no-repeat;
		transform: translateY(100%);
	}

	.onayami_bub-left .onayami_bub_in::after {
		background-image: url("../img/fukidashi_left.svg");
	}

	/* 右吹き出し */
	.onayami_bub-right .onayami_bub_in::after {
		background-image: url("../img/fukidashi_right.svg");
	}
	.onayami_bub {
		position: relative;
		display: inline-block;
		margin-bottom: clamp(9px, 9.375vw, 150px);
	}
	.reason_note_title::after {
		content: "";
		display: block;
		width: 1em;
		height: 0.125rem;
		background: #00A351;
		position: absolute;
		right: calc(-0.5em + 0.125rem);
		bottom: 0;
		transform: rotate(45deg) translate(calc(-50% + 0.125rem), 0);
	}
	.point_item-rev .point_grid {
		grid-template-columns: 56% 44%;
	}

	.point_item-rev .point_illust {
		order: 2;
	}

	.point_item-rev .point_text {
		order: 1;
	}
	.case_item:nth-of-type(2) .case_illust {
		width: clamp(9px, 22.6563vw, 290px);
	}

	.case_item:nth-of-type(3) .case_illust {
		width: clamp(9px, 22.5vw, 288px);
	}

	.case_item:nth-of-type(4) .case_illust {
		width: clamp(9px, 15.2344vw, 195px);
	}
	.share_head {
		text-align: center;
		margin: 0 0 clamp(1.25rem, 2.4vw, 1.75rem);
		padding: clamp(9px, 12.6563vw, 162px) 0;
		background-image: url(../img/tool_headng.svg);
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
	}
	.onayami_bg {
		padding-top: clamp(9px, 11.7188vw, 150px);
	}
	/* 768over end */
}
/*===========================
【801px以上】 
★タブレット縦(最大)より大きい場合に適用されるCSS
===========================*/
@media screen and (min-width:801px){
	/* 801over end */
}
/*===========================
【667px】～【800px】  
★iPhone6以降の横以上かつ、タブレット縦以下まで表示されるCSS
===========================*/
@media screen and (min-width:667px) and (max-width:800px){
	/* 667~800 end */
}
/*===========================
 【667px】～【1023px】
 ★iphone6横～PC未満まで適用されるCSS
===========================*/
@media screen and (min-width:667px) and (max-width:1023px){
	/* 667~1023 over end */
}
/*===========================
 【415px】～【800px】 
 ★スマホ縦より大、かつ、タブレット以下まで表示されるCSS
===========================*/
@media screen and (min-width:415px) and (max-width:800px){
	/* 415~800 end */
}
/*===========================
 【768px】～【1023px】 
 ★タブレット以上、かつ、PC以下に適用されるCSS
===========================*/
@media screen and (min-width:768px) and (max-width:1023px){
	.header_logo {
		max-width: 190px;
	}
	.voice_slider .slick-prev, .voice_slider .slick-next {
		width: 30px;
		height: 30px;
	}
	.spheader_cta {
		font-size: 2vw;
	}
	/* 768~1023 end */
}
/*===========================
 【768px】～【1599px】 
 ★タブレット以上、かつ、PC以下に適用されるCSS
===========================*/
@media screen and (min-width:768px) and (max-width:1599px){
	.voice_slider .slick-prev {
		left: -1vw;
	}
	.voice_slider .slick-next {
		right: -1vw;
	}
	.voice_slider .slick-prev:before, .voice_slider .slick-next:before {
		width: 0.5em;
		height: 0.5em;
	}
	/* 768~1023 end */
}
/*===========================
 【1024px以上】
 ★PC以上に適用されるCSS
===========================*/
@media screen and (min-width:1024px){
	.flex_pc_over {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        -o-flex-wrap: wrap;
        flex-wrap: wrap;
	}
	
	/* nav */
	.header_nav {
		border-top: 1px solid #d8d8d8;
		border-bottom: 1px solid #d8d8d8;
		background: #fff;
	}

	.header_nav_list {
		margin: 0;
		padding: 0;
		list-style: none;
		display: grid;
		grid-template-columns: repeat(9, 1fr);
		min-height: 72px;
	}

	.header_nav_item {
		display: grid;
		place-items: center;
		text-align: center;
		border-left: 1px solid #d8d8d8;
	}

	.header_nav_item:last-child {
		border-right: 1px solid #d8d8d8;
	}

	.header_nav_item a {
		display: grid;
		place-items: center;
		width: 100%;
		height: 100%;
		padding: 10px 8px;
		text-decoration: none;
		color: #111;
		font-size: 14px;
		line-height: 1.35;
		letter-spacing: 0.02em;
	}

	.header_nav_item a:hover {
		background: #f7f7f7;
	}
	.logo_item img {
		height: 94px;
	}
	/* 1024over end */
}
/*===========================
 【1280px以上】
 ★PC(1280px）以上に適用されるCSS
===========================*/
@media screen and (min-width:1280px){
	/* 1280over end */
}
/*===========================
 【1400px以上】
 ★PC(1400px）以上に適用されるCSS
===========================*/
@media screen and (min-width:1400px){
	/* 1400over end */
}
@media (prefers-reduced-motion: reduce) {
	.logo_track {
		animation: none;
	}

	.plan_summary_icon {
		transition: none;
	}

	.faq_icon {
		transition: none;
	}
}

@media screen and (min-width:1600px) {
	.onayami_pc_box .inner {
		padding-left: 0;
	}
	/* 1600over end */
}
/*======================================================*/
/* これより下は編集しないこと							   */
/*======================================================*/
/*===========================
 ★表示切替
===========================*/
/*----------------
 360px以下のみ表示
----------------*/
@media screen and (min-width:361px){
	.disp_360ika {
		display: none!important;
	}
}
/*----------------
 450px以下のみ表示
----------------*/
@media screen and (min-width:451px){
	.disp_450ika {
		display: none!important;
	}
}
/*----------------
 タブレット未満で表示
----------------*/
@media screen and (min-width:768px){
	.disp_tb_miman {
		display: none!important;
	}
}

/*----------------
 タブレット以下で表示
----------------*/
@media screen and (min-width:835px){
	.disp_tb_ika {
		display: none!important;
	}
}
/*----------------
 タブレット縦以上で表示 
----------------*/
@media screen and (max-width:767px){
	.disp_tb_over {
		display: none!important;
	}
}
/*----------------
 タブレット縦を超す幅で表示 
----------------*/
@media screen and (max-width:834px){
	.disp_tb_835over {
		display: none!important;
	}
}
/*----------------
 タブレットのみで表示
----------------*/
@media screen and (min-width:835px) and (max-width:767px) {
    .disp_tb_only {
        display: none!important;        
    }
}
/*----------------
 PC未満で表示 
----------------*/
@media screen and (min-width:1024px){
	.disp_pc_miman {
		display: none!important;
	}
}

/*----------------
 pc以上で表示 
----------------*/
@media screen and (max-width:1023px){
	.disp_pc_over {
		display: none!important;
	}
}