@charset "shift_JIS";

/*
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
*/


.inner:after, ul:after, dl:after, .wrap:after {
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    clear: both;
    visibility: hidden;
}

#wrapper {
	margin:0 auto;
}
.section {
	clear: both;
	width:100%;
}
.inner {
	width: 976px;
	margin: 0 auto;
}


/* ヘッダー
----------------------------------------------------------- */

.head_bg {
    position: relative;
    width: 100%;
    height: 680px;

}

/* 画像loopスライド */

.loop {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    overflow: hidden;
    width: 100%;
}

.loop:before {
    background-color: rgb(23 66 99 / 78%);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: ' ';
    z-index: 2;
}
.loop__box {
    display: flex;
    width: 100%;
}

.loop__box img:first-child {
    animation: loop 100s -50s linear infinite;
}
.loop__box img:last-child {
    animation: loop2 100s linear infinite;
}


@keyframes loop {
    0% {
        transform: translateX(100%);
    }
    to {
        transform: translateX(-100%);
    }
}

@keyframes loop2 {
    0% {
        transform: translateX(0);
    }
    to {
        transform: translateX(-200%);
    }
}


.head_bg .inner {
	position: relative;
	width: 860px;
}
#logo {
	position: absolute;
	top: 30px;
	left: 30px;
}

.head_bg .main_ct {
    font-weight: bold;
    color: #fff;
    letter-spacing: 10px;
    padding-top: 126px;
}
.main_ct .sub p{
    font-weight: bold;
    color: #fff;
	font-size: 18px;
} 
.head_bg .l_tl {
      font-size: 22px;
    background: #111;
    display: inline-block;
    padding: 5px 15px;
    margin-bottom: 10px;
    letter-spacing: 0.2em;
}
.head_bg h1 {
    margin: 12px 0px 12px;
    font-size: 46px;
    letter-spacing: .7px;
    line-height: 1.4;
    text-align: left;
    text-shadow: 2px 1px 1px #00335e;
}
.head_bg h1 .color_yellow {
    color: #ffe631 !important;
	font-size: 56px;
	margin-right: 3px;
}
.head_bg .frm_btn a {
    width: 420px;
    display: block;
     margin: 30px 0px 0px;
}
.frm_btn a {
    padding: 14px 0px;
    font-size: 16px;
    letter-spacing: 2.0px;
    font-weight: bold;
}
.popup {
    position: absolute;
    top: 120px;
    right: 65px;
}

.thomatsu p {
    font-size: 10px;
	color: #fff;
    margin-top: 14px;
}


/* 基本タイトル
----------------------------------------------------*/

section h1,
section h2 {
    font-size: 24px;
    letter-spacing: 4px;
    line-height: 1.4;
    font-weight: bold;
    text-align: center;
}
section.base h3 {
	font-size: 21px;
    letter-spacing: 4px;
    line-height: 1.4;
    font-weight: bold;
    color: #1d6e9e;
    margin-bottom: 20px;
}
section.base p {
	font-size: 14px;
    line-height: 1.8;
}
.imp_title {
    position: relative;
    margin-bottom: 60px;
}
.imp_title:before {
    display: block;
    content: ' ';
    width: 84px;
    height: 3px;
    background: #0d6192;
    background: linear-gradient(90deg,#0662b1 0,#b12b82 100%);
    position: absolute;
    left: 50%;
    bottom: -15px;
    margin-left: -42px;
}
.imp_subtitle {
    margin-top: 6px;
    letter-spacing: 0.7px;
    font-size: 12px;
    display: block;
    color: #949697;
    line-height: 1.125;
    font-family: Century;
    word-break: break-word;
    text-align: center;
}


/* お問合せ誘導
--------------------------------------------------------*/
.form-bg {
	background: url("../img/form-bg.png") left top repeat-x ;
	height:204px;
}
.form-204 {
	width: 960px;
	margin: 0 auto;
	position: relative;
	background: url(../img/form-204.png) no-repeat 0px -1px;
	height: 204px;
}
.frm-button {
    position: absolute;
     top: 40px;
    right: 38px;
    width: 410px;
}
.frm-button .frm_btn a {
	width: 100%;
	display: block;
}


.resolve_area {
	overflow: hidden;
	background-color: #f7f7f7;
    padding-bottom: 50px;
}
.resolve_area h2 {
    padding-top: 70px;
}
.resolve_area h3 {
	font-size: 18px;
    font-weight: bold;
	letter-spacing: 4px;
	margin-bottom: 12px;
}

.resolve_area p {
	font-size: 13px;
	color: #fff;
}
.resolve_area p a {
	text-decoration: underline;
	color: #fff;
}

/* 背景色ありのパターン
----------------------------------------------------------- */
.under_allow .inner {
    background: url(../img/under_arrow.png) no-repeat top center;
}
.sl_bg_blue {
	overflow: hidden;
	background: url(/common/img/category_ind_bg2.png) repeat;
    padding-bottom: 50px;
}
.sl_bg_blue h2 {
    padding-top: 70px;
	color: #fff;
}
.sl_bg_blue h3 {
	font-size: 18px;
    font-weight: bold;
	letter-spacing: 4px;
	margin-bottom: 12px;
}

.sl_bg_blue p {
	font-size: 13px;
	color: #fff;
}
.sl_bg_blue p a {
	text-decoration: underline;
	color: #fff;
}

.sl_bg_blue .imp_subtitle {
    color: #fff;
}

.sl_bg_blue .imp_title:before {
    background: #fff;
}


/* 悩み解消
----------------------------------------------------*/

section.nayami_area {
	padding: 30px 0 60px;
    background: #fff;
}
.nayami_list {
    max-width: 700px;
    margin: 30px auto 0;
}

.sv_list {
    width: 100%;
    margin-top: 50px;
}
.sv_list li {
    width: calc(100% / 6);
    text-align: center;
}
.sv_list li .img {
    display: inline-block;
    margin: 0 auto;
    text-align: center;
}

.sv_list li .tl {
    margin-top: 15px;
    font-size: 18px;
    font-weight: 600;
}

/* 悩み解決
----------------------------------------------------------- */

.nayami_list {
    margin: 40px auto 0;
    max-width: 820px;
}
.nayami_list li {
    width: 100%;
    padding: 30px 0;
    align-items: center;
	border-bottom: 2px dotted #ddd;
}

.nayami_list li:last-child {
	border-bottom: none;
}
.nayami_list li .img {
	margin: 0 10px;
}
.nayami_list li .tl_area {
	width: calc(100% - 140px);
    margin: 0;
    padding-left: 30px;
    text-align: left;
}
.nayami_list li .tl_area h3 {
    margin: 5px 0 15px;
    font-size: 22px;
	text-align: left;
	font-weight: 900;
}

.nayami_list li .tl_area p {
    font-size: 15px;
	color: #666;
	font-weight: 600;
}

.nayami_list li .orange{
	color: #F97516;
}

.nayami_list li span{
	color: #c35050;
}


/* 開始までの流れ
----------------------------------------------------------- */

.three_list li {
    width: 310px;
    margin-right: 15px;
	padding: 20px;
    background: #fff;
    border-radius: 5px;
    text-align: left;
}
.three_list li:last-child {
    margin-right: 0px;
}
.regist_flow .three_list li .step_area {
	color: #295f89;
}
.three_list li span {
    display: block;
    font-size: 14px;
    line-height: 14px;
    margin: 12px 0px 8px;
}
.three_list li h4 {
    font-size: 22px;
    line-height: 22px;
    font-weight: bold;
}
.three_list li p {
    margin-top: 8px;
    color: #333;
    text-align: left;
}

.regist_flow .three_list li p {
	margin-bottom: 8px;
}

/* No.1表記
----------------------------------------------------------- */
.rank .bg_img {
    padding: 120px 0;
    background: center / cover no-repeat url(../img/rank-bg.png);
}

/* よくある質問
----------------------------------------------------------- */
.faq {
		overflow:hidden;
}
.option_faq_single {
		width: 460px;
		min-height: 150px;
		float: left;
		margin: 10px;
		background: #fff;
		border-radius: 3px;
		padding: 20px 20px 26px 20px;
}

.faq_icon {
		font-size: 24px;
		margin-right: 8px;
		font-weight: bold;
		position: absolute;
		top: 0px;
		left: 0;
		padding: 0px;
}

.option_question,.option_answer {
		position: relative;
		padding-left: 40px;
}
.option_question {
		margin-bottom: 10px;
		font-size: 16px;
		line-height: 1.4em;
		font-weight: bold;
}
.option_question span {
		color:#F97516;
}
.option_answer span {
		color:#666;
}

/* 他社比較
----------------------------------------------------*/

.table_area table span {
    color: #ed3662;
    font-size: 28px;
    font-weight: bold;
}

table {
	border-collapse: collapse;
	margin: 40px auto;
	padding: 0;
	width: 1000px;
	table-layout: fixed;
}

table tr {
	background-color: #eee;
	padding: .35em;
}

table tbody tr td {
	border-bottom: 2px solid #fff;
}

table tr:nth-child(even){
	background-color: #dddddd;
}
table th,
table td {
padding: 1em 10px 1em 1em;
border-right: 2px solid #fff;
}
table th {
font-size: 20px;
text-align: center;
}
table thead tr{
background-color: #444444;
color:#fff;
}

table tbody th {
    background: #1b75b2;;
    color: #fff;
    font-weight: 800;
    text-align: center;
}
.table_area .txt {
    text-align: left;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
}
table thead td.non{
width: 180px;
background:#fff;
visibility: hidden;
}
.table_area .dl {
    color: #FF801E;
}
.table_area .bt {
    color: #000000;
}
.table_area .blue_bk {
    background-color: #6eaae9;
}
.table_area .biz_bk {
    background-color: #d6e7f9;
}
.table_area .biz_bk2 {
background-color: #eaf3fc;
}

.table_area .biz_cell {
	background-color: #1b75b2;
	position: relative;
	font-size: 26px;
    font-weight: 600;
}
.table_area .biz_cell:after{
    content: '';
    width: 100%;
    height: 30px;
    background-color: #1b75b2;
    position: absolute;
    top: -12px;
    left: 0px;
    border-radius: 10px;
}

/*	フォーム
----------------------------------------------------*/
.sl_bg_blue .form_area_2 h2 {
    padding-top: 0px;
}

.form_area_2 h2 .arrow {
	color: #333;
}


#form {
	width: 870px;
	padding: 10px 20px;
	background: #fff;
	border-radius: 5px;
}

#form p {
	color: #333;
     letter-spacing: 1px;
}


ul.form_check {
    background: rgba(255, 255, 255, 94%);
	border-radius: 8px;
	padding: 20px;
	margin-bottom: 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 40px;
	justify-content: center;
	align-items: center;
	border: 2px solid var(--blue2);
}

ul.form_check li {
    position: relative;
    padding-left: 46px;
    font-size: 16px;
}

ul.form_check b{
	background: rgba(0, 0, 0, 0) linear-gradient(transparent 70%, #ffe631 0%) repeat scroll 0 0;
}

ul.form_check li:before {
	font-family: FontAwesome;
    content: "\f00c";
    position: absolute;
	left: 8px;
    color: #fff;
	background: #12759c;
    border-radius: 50%;
    padding: 5px;
}


/*	SPだけ改行
----------------------------------------------------*/
@media screen and ( min-width:480px ) {

	.sp {
		display: none;
	}
}


/* スマホに適用させるCSS（本来479pxだがテスト期間は600px） */
@media screen and ( max-width:479px ) {

	.pc,#fixed_footer,#sl_foot_btm_btn,.subject_info,.form-bg,table.tl_compare {
		display: none;
	}

	/* lauout
	----------------------------------------------------*/

	img {
		max-width: 100%;
    	height: auto;
	}

	.section, #footer_con,#footer_body {
		clear: both;
		width:100%;
	}

	.inner {
		width: 90%;
		margin: 0 auto;
	}

	section h1, section h2 {
		font-size: 20px;
	}
	section.base h3 {
		font-size: 16px;
		text-align: center;
	}
	.imp_title {
		margin-bottom: 40px;
	}
	.imp_title h2 {
		font-size: 18px;
		letter-spacing: 3px;
    	top: -8px;
	}
	.button {
		font-size: 12px;
	}

	/* フォーム
	----------------------------------------------------------- */
	#form {
		width: 100%;
	}
	table.tl_base.m_t_20 {
		margin-top: 5px !important;
	}
	#form table tr {
		border-bottom: 1px solid #ddd;
	}
	#form table tr:nth-child(even) {
		background-color: #fff;
	}
	#form table.tl_base th,
	#form table.tl_base td {
		background: none;
		border: 0px;
		padding: 0px;
		margin: 0px;

	}
	#form table.tl_base th,
	#form table.tl_base td {
		display: block;
		width: 100% !important;
	}
	#form table.tl_base td.type_check {
		display: none;
	}
	#form table.tl_base th {
		padding-top: 15px;
		font-size: 14px;
	}
	#form table.tl_base td {
		padding-top: 5px;
		padding-bottom: 15px;
	}
	#budget_type {
		margin-bottom: 8px;
	}
	#form input[type="text"], #form input[type="password"], #form input.login, #form select {
		max-width: 95% !important;
	}

	/* ヘッダー
	----------------------------------------------------------- */

	.head_bg .inner {
		width: 90%;
	}

	.head_bg,.loop__box img {
		height: 460px;
	}
	.loop__box img {
        max-width: inherit;
	}
	.head_bg #logo img {
		width: 80px;
	}


	.head_bg .main_ct  {
		padding-top: 60px;
		text-align: center;
	}
	.head_bg .l_tl {
        margin-top: 32px;
        margin-bottom: 15px;
        font-size: 15px;
        letter-spacing: .5px;
	}

	.head_bg h1 {
        font-size: 28px;
		text-align: center;
	}


	.head_bg h1 .color_yellow {
		font-size: 32px;
	}
	.head_bg p {
    	margin: 0px;
		font-size: 12px;
	    letter-spacing: 2px;
	}
	.head_bg .frm_btn {
		margin: 20px auto 30px;
		text-align: center;
	}
	.head_bg .frm_btn a {
		width: 80%;
		margin: 0 auto;
	}
	.frm_btn a {
		font-size: 14px;
	}
	.main_ct .sub p {
		font-size: 12px;
		margin: 0 auto;
	}


	/* リスト
	----------------------------------------------------------- */
	.three_list {
		width: 100%;
	}
	ul.three_list li {
	    width: 100%;
	    float: none;
	    padding: 5px 0px;
    	margin-bottom: 20px;
	}
	ul.three_list li:last-child {
	    margin-bottom: 0px;
	}
	ul.three_list li {
		padding: 20px;
		text-align:center;
	}
	.regist_flow ul.three_list li .step_area {
		text-align: center;
    	margin-bottom: 12px;
	}

	/* wrap
	----------------------------------------------------------- */

	.wrap .fl_l {
		display: block;
		text-align: center;
		float: none !important;
		margin-bottom: 15px;
	}
	.wrap .m_r_20 {
	    margin-right: 0px !important;
	    margin-left: 0px !important;
	}

	/* 細かい修正点
	----------------------------------------------------------- */

	.option_faq_single {
	    width: 100%;
	    float: none;
    	margin: 0px;
    	padding: 0px 0px 30px 0px
	}

	/* フォーム
	----------------------------------------------------------- */
	table {
        width: 100%;
	}

	section.nayami_area {
        padding-bottom: 40px;
    }

    .sv_list {
        width: 100%;
        margin-top: 20px;
    }
    .sv_list li {
        width: calc(100% / 3);
        margin-bottom: 10px;
        padding: 5px;
    }
    .sv_list li .img {
        width: 102px;
    }
    .sv_list li .tl {
        font-size: 12px;
    }


	.rank .bg_img {
		padding: 90px 0;
	}

	.nayami_area .imp_title h2{
		padding-top: 0px;
	}

	.nayami_list li {
		display: block;
		width: 100%;
	}

	.nayami_list li .tl_area {
		width: 100%;
		text-align: center;
		padding-left: 0px;
	}

	.nayami_list li .tl_area h3 {
		text-align: center;
		font-size: 18px;
	}

	.nayami_list li .img {
		margin: 20px 0;
		text-align: center;
	}

	/* 比較表
    ----------------------------------------------------------- */
	table .img, .table .txt {
    	display: block;
    	text-align: center;
    	padding: 0px !important;
	}
	table .img {
    	margin: 10px 0px 15px;
	}

    table thead td.non {
		width: 40px;
	}
	table tbody th {
		padding: 8px;
	}
	table th, table td {
		padding: 14px 0px;
	}
	.table_area .biz_cell {
		padding-bottom: 20px;
        font-size: 21px;
	}
	.table_area .biz_cell:after {
		height: 25px;
		top: -16px;
	}

    .table_area .txt {
		font-size: 13px;
	}
	table th {
		font-size: 16px;
	}

	.resolve_area .inner{
		width: 84%
	}

	.sl_bg_blue h3 {
		font-size: 14px;
		text-align: center;
	}

	ul.form_check {
		display: block;
		padding: 20px 10px;
	}

	ul.form_check li{
		margin-bottom: 10px;
		font-size: 14px;
	}

	ul.form_check li:last-child{
		margin-bottom: 0px;
	}

}

@media screen and ( max-width:375px ) {
	.head_bg h1 {
        font-size: 26px;
	}


	.head_bg h1 .color_yellow {
		font-size: 30px;
	}

}
