@charset "utf-8";
/*================================================
	640以下
==================================================*/
@media screen and (max-width: 640px) {
	body {
		font-size: 85%;
	}
	.dsp_smt {
		display: block;
	}
	.dsp_hp {
		display: none;
	}
	.container p {
		font-size: 4.3vw;
	}
	.pt {
		padding-top: 40px;
	}
	.pb {
		padding-bottom: 40px;
	}
	.f-s,
	.f-sb,
	.f-sc {
		-webkit-flex-flow: column;
		        flex-flow: column;
	}
	.bg_wide::before {
		width: calc(100% + 50px);
		margin-left: -25px;
		margin-right: 0;
	}
	.main {
		margin-left: 15px;
		margin-right: 15px;
	}
	.container h3.sub {
		font-size: 19px;
	}
	/* フォント */
	.t_23 {
		font-size: 6.09vw;
	}
	.t_25 {
		font-size: 5.46vw;
	}
	.t_28 {
		font-size: 4.3vw;
	}
	.t_29 {
		font-size: 5.31vw;
	}
	.t_45 {
		font-size: 7.81vw;
	}


	/* ヘッダー */
	#header h1 {
		font-size: 4.5vw;
	}
	/* フッター */
	#footer ul {
		-webkit-flex-wrap: wrap;
		        flex-wrap: wrap;
	}
	#footer ul li a {
		font-size: 3.43vw;
		line-height: 1.5em;
		margin-bottom: 5px;
	}
	#copyright  {
		font-size: 3.43vw;
	}
	/* メインタイトル */
	#main_title .in {
		background: url(../img/smart/title_bg.jpg) no-repeat bottom;
		background-size: cover;
	}
	#main_title .btn a {
		position: static;
		max-width: none;
	}
	#main_title .txt a {
		font-size: 3.9vw;
		position: static;
		margin-bottom: 60px;
		width: auto;
	}
	/* お悩みありませんか */
	#nayami h3 {
		text-align: center;
		margin-bottom: 15px;
	}
	#nayami .sp {
		display: none;
	}
	#nayami .main {
		background-size: 40%;
		background-position: top 30% right;
	}
	#nayami ul li {
		background-position: left top 5px;
	}
	#nayami ul li span:first-of-type {
		font-size: 5vw;
	}
	#nayami ul li span.ab_rit {
		position: static;
	}
	#nayami ul li span:last-of-type {
		font-size: 7.5vw;
	}
	/* 3つのポイント */
	#three_point .box h3 {
		font-size: 9.2vw;
	}
	#three_point .box .note {
		font-size: 3.9vw;
		line-height: 1.43em;
	}
	#three_point .box .txt {
		font-size: 4.3vw;
	}
	#three_point .box .txt1 {
		margin-top: 35px;
	}
	#three_point .box .txt2 {
		margin-top: 25px;
	}
	#three_point .box:last-of-type {
		padding-bottom: 40px;
	}
	/* コンテンツ */
	#top_contents h4 {
		font-size: 4.3vw;
	}
	#top_contents h4 .big {
		font-size: 7.8vw;
	}
	#top_contents dl {
		padding: 33px 15px;
	}
	#top_contents dl:nth-of-type(2),
	#top_contents dl:nth-of-type(3) {
		padding: 33px 15px;
	}
	#top_contents dl dt {
		margin-bottom: 22px;
	}
	#top_contents dl dt .element img {
		width: 35%;
	}
	#top_contents dl dt .title {
		font-size: 8.59vw;
		margin-left: 15px;
	}
	#top_contents dl dd p {
		margin-bottom: 0;
	}
	/* まずは内部対策を */
	#taisaku {
		padding-top: 65px;
		padding-bottom: 50px;
	}
	#taisaku h3 {
		font-size: 7.6vw;
		color: #023586;
		line-height: 1.4em;
		padding-bottom: 17px;
	}
	#taisaku h3 span {
		font-size: 11vw;
	}
	#taisaku .txt {
		text-align: left;
		line-height: 1.7em;
	}
	#taisaku .txt .big {
		font-size: 5.46vw;
	}
	#taisaku .txt2 {
		margin-bottom: 35px;
	}
	/* 被リンクサービス */
	#service {
		padding-bottom: 60px;
	}
	#service h3.line_w {
		font-size: 7.65vw;
		padding-bottom: 20px;
	}
	#service .in {
		padding: 0;
	}
	#service .txt4 {
		line-height: 1.7em;
	}
	#service .box:nth-of-type(2) h3.line_w {
		margin-top: 56px;
	}
	#service .box p .mark {
		background-size: auto 38px;
	}
	#service .memo ul li {
		font-size: 4.3vw;
		background-position: top 17px left;
	}
	#service .t_30,
	#service .t_25 {
		font-size: 5.46vw;
		line-height: 1.42em;
	}
	#service .t_30 {
		background: none;
	}
	#service .sp2,
	#service .sp3 {
		background: url(../img/line_nami.png) no-repeat bottom;
		display: inline-block;
		padding-bottom: 3px;
	}
	#service .sp4 {
		display: block;
		margin-top: 35px;
	}
	#service .what {
		padding: 20px 14px;
	}
	#service .what h4 {
		font-size: 6.25vw;
	}
	#service .box .img2 {
		position: static;
		width: 183px;
		margin: 0 auto 15px;
	}
	#service .txt3 {
		line-height: 1.7em;
	}
	/* 三つのポイント */
	#point h3 {
		margin-bottom: 69px;
	}
	#three_point .reason {
		font-size: 35px;
		top: -14px;
		left: calc(50% - 90px);
		width: 180px;
		height: 62px;
	}
	#three_point .box .note {
		margin-top: 0;
	}
	#three_point .box {
		padding-top: 60px;
	}
	#three_point .box:nth-of-type(2) {
		padding-top: 47px;
	}
	/* 三つのポイント */
	#point .txt {
		line-height: 1.7em;
	}
	#point .txt6 {
		margin-top: 35px;
	}
	#point h3 .middle {
		font-size: 5.625vw;
		line-height: 1.2em;
	}
	#point h3::before {
		left: calc(50% - 14px);
	}
	#point h3 .big .num ,
	#point h3 .big {
		font-size: 8.75vw;
	}
	#point .box h4 {
		font-size: 6.2vw;
		text-align: center;
	}
	#point .box,
	#point .box:nth-of-type(2) {
		position: relative;
		padding: 64px 15px 30px;
	}
	#point .box + .box {
		margin-top: 80px;
	}
	#point .box h4 .point {
 		position: absolute;
		width: 118px;
		height: auto;
		top: -60px;
		left:calc(50% - 59px);
	}
	#point .box h4 span:last-of-type {
		display: block;
		width: 100%;
	}
	#point .box h4 span + span {
		margin-left: 0;
	}
	#point .box .sp {
		margin-top: 25px;
	}
	#point .box .sp1 {
		display: block;
		margin-top: 25px;
	}
	#point .box .txt6 {
		display: block;
		margin-top: 35px;
		margin-bottom: 40px;
	}
	#point .box .mark {
		background-size: auto 30px;
	}
	#point .in h5 {
		font-size: 5.46vw;
		line-height: 1.2em;
		padding: 15px 0;
		margin-left: -15px;
		margin-right: -15px;
	}
	#point .in dl dt {
		font-size: 5.46vw;
		margin-bottom: 10px;
	}
	#point .in dl dd {
		font-size: 4.3vw;
		line-height: 1.7em;
	}
	/* 10の特徴 */
	#feature h3 {
		font-size: 7.82vw;
		line-height: 1.2em;
	}
	#feature h3 .sm {
		font-size: 5vw;
	}
	#feature h3 .num {
		font-size: 10.93vw;
		line-height: 1.2em;
	}
	#feature h3 .red {
		font-size: 9.53vw;
		line-height: 1.2em;
	}
	#feature h3 .middle2 {
		font-size: 8.43vw;
	}
	#feature .in .box {
		width: 90%;
		margin:  0 auto 20px;
		padding-bottom: 20px;
	}
	#feature .in .box h4 {
		font-size: 6vw;
		line-height: 1.2em;
		padding-top: 27px;
	}
	#feature .txt {
		font-size: 4vw;
		line-height: 1.7em;
	}
	#feature .txt .mark {
		background-size: auto 30px;
	}
	#feature .txt2 {
		display: block;
		margin-top: 35px;
	}
	#feature .txt3 {
		margin-top: 25px;
	}
	/* ご推薦の声 */
	#recommend {
		background: url(../img/smart/recommend_bg.png) no-repeat;
		background-size: 100% auto;
	}
	#recommend .main {
		background: none;
	}
	#recommend .box {
		padding-top: 20px;
		padding-bottom: 40px;
	}
	#recommend h4 {
		font-size: 7.18vw;
	}
	#recommend .txt {
		line-height: 1.7em;
	}
	#recommend figure figcaption {
		font-size: 3.9vw;
	}
	/* よくある質問 */
	#qanda .main {
		margin: 0;
	}
	#qanda .in h3 img {
		top: -7px;
		left: -133px;
		width: 120px;
	}
	#qanda .in h3,
	#price .in h3 {
		font-size: 7.81vw;
	}
	#qanda .question {
		font-size: 5vw;
		height: 93px;
	}
	#qanda .question span {
		position: absolute;
		top: 5px;
		left: 15px;
	}
	#qanda .show p {
		font-size: 4.21vw;
		line-height: 1.7em;
	}
	#qanda .question:nth-of-type(11),
	#qanda .question:nth-of-type(12),
	#qanda .question:nth-of-type(14)  {
		height: 76px;
	}
	#qanda .question:nth-of-type(11) span,
	#qanda .question:nth-of-type(12) span,
	#qanda .question:nth-of-type(14) span {
		top: 16px;
	}
	/* 料金 */
	#price .in {
		margin-bottom: 40px;
	}
	#price table+table {
		margin-top: 55px;
		margin-bottom: 65px;
	}
	#price table {
		width: 90%;
		margin: auto;
	}
	#price table th {
		font-size: 6.25vw;
	}
	#price table td:first-of-type {
		font-size: 3.59vw;
	}
	#price table .big {
		font-size: 9.06vw;
		color: #E85A24;
		font-weight: 900;
	}
	#price dl {
		display: block;
		font-size: 3.9vw;
	}
	#price dl .pay {
		margin-right: 0;
		display: inline-block;
		padding: 2px 10px 5px;
	}
	#price .free {
		font-size: 5.15vw;
		display: inline-block;
		padding-left: 30px;
	}
}
/*---------------------------------
	スマホ調節
---------------------------------*/
@media screen and (max-width: 375px) {
	.container p {
		font-size: 14px;
	}
	/* メインタイトル */
	#main_title .txt a {
		margin-bottom: 40px;
	}
	#main_title .txt a {
		font-size: 16px;
	}
	/* お悩みありませんか */
	#nayami {
		position: relative;
	}
	#nayami::before {
		background-size: auto 26%;
	}
	#nayami .main {
		background: none;
	}
	#nayami .sp {
		display: block;
	}
	#nayami h3 {
		margin-bottom: 10px;
	}
	#nayami .sp {
		width: 94px;
		position: absolute;
		top: 22%;
		right: 0;
	}
	#nayami ul li {
		background-size: 36px;
		padding-left: 45px;
	}
	#three_point .box .note {
		font-size: 14px;
	}
	/* 3つのポイント */
	#three_point .box:nth-of-type(2) h3 {
		padding-top: 0;
	}
	#three_point .box {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	#three_point .box .img img {
		max-width: 250px;
	}
	#three_point .reason {
		font-size: 27px;
		top: -11px;
		left: calc(50% - 64px);
		width: 128px;
		height: 52px;
	}
	/* コンテンツ */
	#top_contents dl,
	#top_contents dl:nth-of-type(2),
	#top_contents dl:nth-of-type(3) {
		padding: 20px 7px;
	}
	#top_contents dl dt {
		margin-bottom: 13px;
	}
	#top_contents h4 .big {
		font-size: 7.8vw;
	}
	/* まずは内部対策を */
	#taisaku {
		padding-top: 40px;
	}
	#taisaku .txt {
		margin-bottom: 25px;
	}
	#taisaku .txt1 {
		margin-bottom: 25px;
	}
	/* 被リンクサービス */
	#service h3.line_w {
		font-size: 7.5vw;
		padding-bottom: 15px;
	}
	#service .box .img2 {
		width: 140px;
	}
	#service .box:nth-of-type(2) h3.line_w {
		margin-top: 40px;
	}
	#service .memo ul li {
		background-position: top 9px left 6px;
		background-size: 10px auto;
	}
	#service h3.line_w {
		margin-bottom: 20px;
	}
	#service .txt {
		margin-bottom: 25px;
	}
	#service .t_30 {
		margin-bottom: 25px;
	}
	#service .sp4 {
		margin-top: 25px;
	}
	#service .what h4 img {
		top: -6px;
		left: -56px;
		width: 54px;
	}
	/*ポイント*/
	#point h3 .memo {
		font-size: 16px;
		width: 290px;
		padding: 27px 15px;
		left: calc(50% - 145px);
	}
	#point h3 {
		margin-bottom: 40px;
	}
	#point .box h4 .point {
		position: absolute;
		width: 92px;
		height: auto;
		top: -35px;
		left: calc(50% - 46px);
	}
	#point .box:first-of-type h4 {
		margin-left: -7px;
		margin-right: -7px;
	}
	#point .box + .box {
		margin-top: 60px;
	}
	#point .box,
	#point .box:nth-of-type(2) {

		padding: 64px 13px 20px;
	}
	#point .in h5 {
		padding: 13px 0;
		margin-left: -13px;
		margin-right: -13px;
	}
	#point .txt {
		margin-bottom: 25px;
	}
	#point .txt6,
	#point .box .sp {
		margin-top: 25px;
	}
	#point .in dl + dl {
		margin-top: 25px;
	}
	/* 10の特徴 */
	#feature h3 .sm {
		font-size: 15px;
	}
	#feature .in .box h4 {
		margin-top: 0;
		padding-top: 10px;
	}
	#feature .txt {
		margin-bottom: 25px;
	}
	#feature .txt2 {
		margin-top: 25px;
	}
	/* 推薦 */
	#recommend .box:first-of-type figure img {
		max-width: 222px;
		margin: auto;
	}
	#recommend .box:nth-of-type(2) figure img {
		max-width: 150px;
		margin: auto;
	}
	#recommend figure {
		margin-bottom: 25px;
	}
	#recommend figure figcaption {
		font-size: 15px;
	}
	#recommend .box:nth-of-type(2) figcaption {
		margin-top: 15px;
	}
	#recommend .txt {
		margin-bottom: 25px;
	}
	/* 質問 */
	#qanda .in h3 img {
		top: -8px;
		left: -76px;
		width: 74px;
	}
	#qanda .question {
		font-size: 5vw;
		height: auto;
		padding: 12px 10px 13px 35px;
	}
	#qanda .question:nth-of-type(2), #qanda .question:nth-of-type(3), #qanda .question:nth-of-type(4), #qanda .question:nth-of-type(6),
	#qanda .question:nth-of-type(11), #qanda .question:nth-of-type(12), #qanda .question:nth-of-type(14) {
		height: auto;
	}
	#qanda .question span {
		position: absolute;
		top: 11px;
		left: 13px;
	}
	#qanda .question:nth-of-type(11) span, #qanda .question:nth-of-type(12) span, #qanda .question:nth-of-type(14) span {
		top: 11px;
	}
	#qanda .show p .answer {
		font-size: 16px;
	}
	#qanda .show p {
		padding-left: 25px;
	}
	/* 料金 */
	#qanda .in h3,
	#price .in h3 {
		font-size: 22px;
	}
	#price .in {
		margin-bottom: 30px;
	}
	#price .in h3 img {
		position: absolute;
		top: 0px;
		left: -97px;
	}
	#price table {
		width: 100%;
	}
	#price table+table {
		margin-top: 30px;
		margin-bottom: 30px;
	}
	#price table .t_28 {
		font-size: 18px;
	}
	#price table th,
	#price table td {
		padding: 13px 7px;
		height: auto;
	}
	#price table tr:nth-of-type(5) td, #price table tr:last-of-type td {
		height: auto;
		padding: 20px 7px;
	}
	#price dl {
		margin-bottom: 25px;
		font-size: 18px;
	}
	#price table td:first-of-type {
		font-size: 14px;
	}
	#price ul li {
		font-size: 18px;
	}
	#price dl .pay {
		font-size: 20px;
	}
	#price .free {
		font-size: 28px;
		padding-left: 20px;
	}

}
