@charset "utf-8";

/* スマホ 0～769px */
@media screen and (max-width:767px) {

.pc {
	display: none;
}

.sp {
	display: block;
}

/* base setting */
body {
	font-size: 1.4em;
}

img {
	max-width: 100%;
}

.h1_inner,.hd_inner,
nav ul,
.top_main_support_list,
.top_reason .inner,
.top_support .inner,
.top_voice .inner,
.top_news_bnr .inner,
.cv .inner,
.cmn_access .inner,
footer .inner
 {
	width: 100%;
	margin: 0 auto;
}

.flex {
	-webkit-flex-direction: column; /* Safari */
	flex-direction:         column;
}

table {
	font-size: 0.9285em;
	line-height: 1.4;
}

table th ,table td {
	padding: 10px;
}

.table04 {
	table-layout: auto;
	overflow: scroll;
	white-space: nowrap;
	display:block;
	width:auto;
}

.table04 tbody {
	width: 100%;
	display:table;
}

.tbl_wrapper {
    padding: 7px 20px 20px;
}

/*tableにスクロールバーを追加*/
table::-webkit-scrollbar {
	height: 12px;
}
 
table::-webkit-scrollbar-track {
	background: #F1F1F1;
}
 
table::-webkit-scrollbar-thumb {
	background: #BCBCBC;
}

/****************************************************************************************************

header

*****************************************************************************************************/
header {
	background: #fff;
	position: fixed;
	width: 100%;
	z-index: 1;
	height: 77px;
}

body {
	min-width: 100%;
}

header h1 {
	display: none;
}

.h1_inner {
    padding: 11px 4%;
}

.hd_inner {
    padding: 15px 0 15px 4%;
}

.hd_logo {
    width: 244px;
}

/****************************************************************************************************

main-image

*****************************************************************************************************/
.main-img {
    position: relative;
    top: 77px;
	background: url(../images/top/main-img_sp.png) no-repeat center /100% auto,
	url(../images/top/main-img_bg.jpg) no-repeat center;
	height: 0;
    padding-top: 51.238%;
}

/****************************************************************************************************

top-page contents

*****************************************************************************************************/
#cont {
	margin-top: 77px;
}

.top_main_support {
	padding: 40px 4% 56px;
	height: auto;
}

.top_main_support_list {
    position: relative;
    top: 0;
}

.top_main_support_list li {
    margin: 0 auto 32px;
	width: 88%;
}

.top_main_support_list li:last-child {
    margin: 0 auto;
}

.top_main_support_list .detail {
    width: 94%;
    margin: 0 auto 22px;
}

.top_reason {
	padding: 30px 4% 56px;
}

.top_reason_ttl {
	font-size: 3em;
	margin-bottom: 7px;
}

.top_reason_ttl .ttl_jp {
    font-size: 0.39em;;
    padding: 0 0 7px;
	width: 100%;
	top: -20px;
}

.reason_list li {
    background-size: 312px auto;
    width: 312px;
    min-height: 301px;
    padding: 34px 0;
    margin: 0 auto 25px;
    max-width: 94%;
}

.reason_list li:last-child {
	margin: 0 auto;
}

.reason_list li .detail {
	width: 80%;
    margin: 0 auto;
}

.top_reason .btn {
    width: 88%;
}

.top_reason .reason_list {
    margin-bottom: 35px;
}

.top_support {
	padding: 30px 4% 56px;
}

.support {
	padding: 0 4%;
}

.top_support_ttl {
	font-size: 3em;
	margin-bottom: 7px;
}

.top_support_ttl .ttl_jp {
    font-size: 0.39em;
    padding: 7px 0;
	width: 100%;
	top: -20px;
}

.top_support .flex,
.support .flex {
	-webkit-flex-direction: row; /* Safari */
	flex-direction:         row;
}

.support_list .support02 {
    padding-right: 0;
    width: 100%;
}

.support_list .support03 {
    padding-left: 0;
	width: 100%;
}

.support_list > li {
    margin-bottom: 30px;
}

.support_list > li:last-child {
	margin-bottom: 0;
}

.support_block {
    width: 48%;
	margin-bottom: 25px;
}

.support_block .ttl {
    width: calc(100% - 8px);
    font-size: 0.93em;
	margin-bottom: 10px;
}

.support_list .cat_ttl {
    padding-left: 52px;
    height: auto;
    text-align: left;
    line-height: 1.2;
    min-height: 42px;	
		margin-bottom: 24px;
}

.support_list li:last-child li {
	margin-bottom: 0;
}

.support_block .ttl a {
    padding: 0 15px;
	height: 100%;
	display: flex;
    justify-content: center;
    align-items: center;	
}

.support_block .ttl a span {
    display: inline-block;
    line-height: 1.4;
    width: 100%;
}

.top_voice {
	padding: 30px 4% 56px;
}

.top_voice_ttl {
	font-size: 3em;
	margin-bottom: 7px;
}

.top_voice_ttl .ttl_jp {
    font-size: 0.39em;
    padding: 7px 0;
	width: 100%;
	top: -20px;
}

.top_voice .voice_list {
    margin-bottom: 35px;
}

.voice_list li {
    width: 88%;
    height: auto;
    padding: 38px;
	margin: 0 auto 25px;
}

.voice_list li:last-child {
	margin: 0 auto;
}

.top_voice .btn {
    width: 88%;
}

.voice_list .ttl {
	margin-top: 18px;
}

.top_news_bnr {
	padding: 40px 4% 56px;
}

.top_news_bnr .inner > .news {
    width: 100%;
    float: none;
	margin-bottom: 40px;
}

.top_news_bnr .inner > .bn {
    width: 100%;
    float: none;
}

.top_news_bnr .inner > .bn img {
    width: 88%;
    margin: 0 auto;
    display: block;
}

.top_news_ttl {
    font-size: 1.5em;
}

.top_news_list .flex {
  -webkit-flex-direction: row; /* Safari */
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start; 
}

.top_news_list .date {
    margin-right: 10px;
}

.top_news_list .topic {
    width: 100%;
	margin-top: 8px;
}

.top_news_bnr .btn {
	width: 88%;
}

.cv {
	padding: 40px 4% 56px;
	background: url(../images/common/cont_bg03.png) repeat left top;
    height: auto;	
}

.cv_desc_block {
    width: 100%;
	margin: 0 0 36px 0;
	text-align: center;
}

.cv_tel_block {
	width: 58%;
	margin: 0 auto;
	min-width: 280px;
}

.cv_desc_block .detail {
    width: 88%;
    margin: 18px auto 0;
}

.cv_tel_block img {
    width: 90%;
    max-width: 275px;
}

.cv_mail {
    font-size: 1.1333em;
    height: 50px;
    width: 90%;
	max-width: 276px;
    text-align: center;
    line-height: 50px;
}

.cmn_access {
	padding: 40px 4% 56px;
}

.cmn_access_ttl {
    font-size: 1.5em;
}

.cmn_access .gmap {
    float: none;
	text-align: center;
}

.gmap iframe {
	width: 100%;
}

.cmn_access .info {
    width: 100%;
    height: 315px;
    float: none;
    padding: 53px 45px;
}

/****************************************************************************************************

footer

*****************************************************************************************************/
footer .inner {
	width: 100%;
	padding: 0 0 53px;
}

footer .logo_block {
    display: none;
}

footer .menu_block {
    float: none;
    width: 100%;
	margin: 0 0 20px 0;
}

footer .menu_block.flex {
	-webkit-flex-direction: row;
    flex-direction: row;
}

footer .menu_block ul {
	width: 100%;
	border-right: none;
}

footer .menu_block ul li {
	width: 50%;
	display: inline-block;
	border: 1px solid #e8ebe9;
	padding: 20px;
	margin: -1px 0 0 0;
	text-align: center;
}

footer .menu_block ul li:nth-child(even) {
	border-left: none;
}

footer .menu_block .fa {
	display: none;
}

footer .menu_block ul:nth-of-type(1),
footer .menu_block ul:nth-of-type(2) {
    width: 100%;
}

ul:nth-of-type(2) {
    width: 100%;
}

footer .menu_block ul li .fa {
    margin-right: 5px;
}

footer .menu_block ul li.fit {
	padding: 30px;
    vertical-align: top;
}

#pagetop img {
	width: 40px;
	height: 40px;
}

/****************************************************************************************************

second

*****************************************************************************************************/
#cont {
	width: 100%;
	padding-bottom: 48px;
}

main {
	width: 100%;
	float: none;
}

main > section {
	padding: 0 4% 20px;
}

.cat_box .cat01,
.cat_box .cat02,
.cat_box .cat03 {
	padding: 0 10px;
}

.cat_box .btn {
    padding: 12px 33px;
    height: auto;
    line-height: 1.5;
    font-size: 1em;
}

/* ジャンプ先のズレ解消 */
#cat01, #cat02, #cat03,
#support01, #support02, #support03,
#support04, #support05, #support06,
#support07, #support08, #support09,
#support10, #support011, #support_other {
	margin-top: -77px;
	padding-top: 77px;
}

#side {
	display: none;
}

.float-box {
	margin-top: 27px;
}

.fr-img {
	float: none;
    width: 60%;
    margin: 0 auto 20px auto;
    display: block;
}

.fr-img-box {
    float: none;
    width: 100%;
	max-width: 260px;
    margin: 0 auto 20px auto;
}

.page-ttl .inner {
    max-width: 90%;
    padding-top: 0;
	position: absolute;
	top: 28%;
    left: 4%;
}

.page-ttl {
    position: relative;
    top: 77px;
    background: url(../images/second/page-ttl_sp.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% auto;
    height: 0;
    padding-top: 31.4666%;
	font-size: 1.4em;
}

.page-ttl-2 {
	padding: 7px 17px 5px;
	margin-bottom: 14px;
}

.page-ttl-3 {
	font-size: 1.066em;
    background: url(../images/second/ttl_img01.png) no-repeat 0 2px / 8px 19px;
    display: block;
    text-align: left;
    padding: 0 17px;
}

.page-ttl-3::after {
	display: none;
}

.page-ttl-5 {
    font-size: 1em;
}

.breadcrumb {
	padding: 19px 4%;
	width: 100%;
}

.breadcrumb .flex {
	-webkit-flex-direction: row; /* Safari */
	flex-direction:         row;
}

.page-ttl-1 {
    font-size: 1.14em;
    padding: 16px 0 12px;
    margin-bottom: 14px;
}

.lead {
    font-size: 1.14em;
}

.point_block01 {
    padding: 18px;
	width: calc(100% - 34px);
}

.point_block02 li {
	height: 90px;
}

.point_block02 li {
	font-size: 1.4333em;
}

.point_block02 li::before {
	border-top: 45px solid transparent;
	border-bottom: 45px solid transparent;
}

.point_block02 li .icon {
	height: 90px;
}

.point_block02 li .icon img {
    width: 38px;
}

.flow_block {
    padding: 0 18px 20px;
}

.flow_block.small {
	padding: 20px;
}

.flow_block_sup {
	right: 0;
	top: 78px;
	padding: 6px 16px;
	z-index: 1;
}

.flow-ttl {
	font-size: 1.14em;
	text-indent: -1.6em;
    padding-left: 1.6em;
	padding-bottom: 8px;
    line-height: 1.4;
}

.flow_block .fr-img {
	width: 248px;
    margin: 20px auto;
    display: block;
}

.voice_block {
    width: 100%;
    padding: 20px 18px 30px;
}

.voice_block .msg {
	font-size: 1.14em;
    width: 100%;
	padding: 20px;
}

/* サポートメニューページ */
.support .support_block .ttl {
    height: 101px;
}

.support .detail p{
	margin-bottom: 0;
}

.support .support_block .detail {
    font-size: 0.8666em;
}

.support .other_support {
	margin-top: 30px;
}

.contact_form th {
	font-size: 0.9333em;
}

.contact_form td {
    width: 70%;
}

.required:after {
    display: block;
    text-align: center;
    width: 35px;
	float: none;
}

.reason_block {
    margin-top: 58px;
}

.reason_block li {
	margin-bottom: 54px;
	padding-left: 25px;
	padding-right: 25px; 
}

.reason_block li:nth-of-type(1) {
	padding-top: 395px;
}
	
.reason_block li:nth-of-type(3) {
	padding-top: 370px;
}

.reason_block li:nth-of-type(2) {
	padding-top: 345px;
}
.reason-ttl span {
    display: block;
	margin: 0 auto 15px;
}

.reason-ttl {
    font-size: 1.3em;
    width: 100%;
    margin-left: -50%;
    display: block;
    text-align: center;
    top: -77px;
}

.reason-ttl img {
	left: 0;
    top: 44px;
    max-width: 66%;
}

.reason-ttl .txt_block {
    right: 0;
    margin: 0 auto 24px;
    display: block;
    top: 44px;
    width: 80%;
    padding: 12px 18px;
}

.price_btn {
	width: 92%;
	margin: 0 auto;
}

.sitemap_list {
	padding: 0 4%;
}

/* lignt-box */
.lb-dataContainer,
#lightboxOverlay {
    width: 100% !important;
}

.lb-outerContainer {
	width: 100% !important;
	height: auto !important;
}

.info_btn_area .btn {
	display: block;
	margin: 0 auto;
}

.info_btn_area .btn:nth-child(2) {
	margin: 15px auto 0;
}

.graph_block {
	padding: 20px;
}

.graph_block .txt_block {
    padding: 10px;
}

.graph_block .txt_block .ttl {
    font-size: 1em;
}

.total strong {
    margin-left: 0;
}


.profit_list .ttl .num {
	width: 20%;
}

.profit_list .ttl .txt {
	width: 80%;
}

.point_list .ttl .num {
	width: 38%;
}

.point_list .ttl .txt {
	width: 62%;
}

.profit_list .ttl .num, .point_list .ttl .num {
	padding: 6px;
}

}

@media screen and (max-width:480px) {

/* お問い合わせ */
input[type="text"], 
input[type="tel"], 
input[type="email"], 
textarea, 
select{
	font-size: 16px !important;
}

/* 幅が小さいスマホの改行 */
.sp_min {
	display: block;
}

.price {
	display: block;
	float: none; 
	margin-top: 10px;
}

.cat_list{
	font-size: 12px;
}

}

.grecaptcha-badge{
	margin-bottom:70px;
	z-index:9999;
}