@charset "utf-8";
/* 
html{
	overflow: auto;
} 
*/

body{
	transform: none;
}
body *, *::before, *::after{
	box-sizing: border-box;
}

p,h1,h2,h3,h4,h5,h6,span,ul,li,dl,dd,dt,tr,th,td,a{
	transform: rotate(0.03deg);
} 

#wrap{
	position: relative;
}

.txt_content,
.list_content{
	text-align: left;
}
	.txt_content p{
		margin-bottom: 25px;
	}

.list_content dl{
	border-bottom: solid 1px #ccc;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
	.list_content dl:first-child{
		border-top: solid 1px #ccc;
	}

.list_content dl dt,
.list_content dl dd{
	padding: 20px;
}

.list_content dl dt{
	min-width: 200px;
	width: 20%;
}
.list_content dl dd{
	width: 80%;
}

@media screen and (max-width: 767px){
	.list_content dl{
		display: block;
	}
	.list_content dl dt{
		padding: 15px 10px 5px;
		min-width: inherit;
		width: 100%;
	}
	.list_content dl dd{
		padding: 0 10px 15px;
		width: 100%;
	}
}

h3{
	font-size: 24px;
	font-weight: 400;
	margin-bottom: 40px;
}

@media screen and (max-width: 600px){
	h3{
		font-size: 18px;
		margin-bottom: 20px;
	}
}

@media screen and (max-width: 478px){
    .hd01 span:first-child::before, .hd01 span:first-child::after{
        width: 10%;
    }
}


/* メインビジュアル
---------------------------------------------------------------------------*/
#mainBlock > .mainVisual{
    margin: 0 auto;
    background-size: auto;
}

.mainVisual{
    background: #a8d7ff url("../img/mainVisual_web-diagnosis.png") no-repeat center;
}

    .mainVisual .tab-block{
        display: none;
    }

    .mainVisual .sp-block{
        display: none;
    }

/*.mainVisual{
	background-image:url("../img/mainvisual-img01.png"),
        url("../img/mainvisual-img03.png"),
        url("../img/mainvisual-img02.png");
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-position: left bottom, center center, right center;
    background-color: #f9d7d7;
}*/

.mainVisual h2{
	font-size: 30px;
	color: #ce1d1f !important;
    font-weight: bold !important;
	text-align: center !important;
}
.mainVisual h2 br{
	display: none;
}
.mainVisual h2 span:nth-of-type(1){
	font-size: 24px !important;
	color: #ce1d1f !important;
    font-weight: bold;
	display: block;
}
.mainVisual h2 span:nth-of-type(2){
	font-size: 18px !important;
	color: #ce1d1f !important;
    font-weight: bold;
	display: block;
	margin-top: 10px;
}
.mainVisual h2 span:nth-of-type(2) br{
	display: none;
}
/*.mainVisual h2 span:nth-of-type(2):before{
    font-size: 18px;
    content: '\f06a';
    font-family: 'FontAwesome';
    font-weight: 400;
}
*/
#mainContent > div {
    padding: 140px 20px 55px;
}


@media screen and (max-width: 1440px) {
    .mainVisual{
        background: #a8d7ff;
        display: block;
        height: auto !important;
    }
    .mainVisual .tab-block{
        display: block;
    }
    .mainVisual h2{
        display: none;
    }
    /*#mainBlock > .mainVisual{
        background-size: cover;
        height: 60vh;
    }*/
}

@media screen and (max-width: 980px) {
   .hd01{
        font-size: 3.3vw;
    }
}

@media screen and (max-width: 767px) {
    .mainVisual .tab-block{
        display: none;
    }
    .mainVisual .sp-block{
        display: block;
    }
    .mainVisual{
        display: block;
    }
	.mainVisual h2{
		font-size: 4.3vw !important;
		min-width: 59vw;
	}
	.mainVisual h2 br{
		display: block;
	}
	.mainVisual h2 span:nth-of-type(1){
		font-size: 3vw !important;
		margin-bottom: 10px;
		padding-bottom: 10px;
	}
	.mainVisual h2 span:nth-of-type(2){
		font-size: 2vw !important;
		text-align: left;
		display: inline-block !important;
		text-indent: -1em;
		padding-left: 1em;
	}
	.mainVisual h2 span:nth-of-type(2):before {
		font-size: 2vw;
	}
	.mainVisual h2 span:nth-of-type(2) br{
		display: block;
	}
	#mainContent > div {
		padding: 40px 20px;
	}
}

@media screen and (max-width: 600px){
	#Concerns-area .read_txt {
	    font-size: 18px;
	    text-align: left !important;
	    margin: 40px 20px 0 !important;
	}
	.mainVisual h2 span:nth-of-type(2){
		display: block !important;
	}
	.mainVisual h2 span:nth-of-type(2) br{
		display: none;
	}
    
    #Concerns-area > .content_inner{
        padding: 0 20px;
    }
}

@media screen and (max-width: 480px){
   .hd01{
        font-size: 2.2rem;
    }
    
	p.read_txt {
    	text-align: left;
	}
}


/* リード文 Lead-area
---------------------------------------------------------------------------*/
#Lead-area{
    padding: 55px 20px !important;
}

#Lead-area .content_inner > p.txt{
	font-size: 18px;
}

.contact_btn{
    transform: rotate(0.03deg);
    margin: 40px auto;
    max-width: 300px;
    width: 100%;
}
.contact_btn a{
    background: #ff7f00;
    border: 1px solid #ff7f00;
    display: block;
    color: #fff;
    padding: 15px;
    transition: 0.3s all ease;
    position: relative;
}
.contact_btn a:after{
    content: '\f078';
    font-family: 'FontAwesome';
	font-weight: 400;
    font-size: 1.2rem;
	position: absolute;
    top: 50%;
	right: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.contact_btn a:hover{
    background: #fff;
    color: #ff7f00;
    text-decoration: none;
}


@media screen and (max-width: 1100px){
}


@media screen and (max-width: 600px){
}

/* こんなお悩みありませんか？ Concerns-area
---------------------------------------------------------------------------*/

#Concerns-area{
    padding: 0px !important;
}

#Concerns-area .concerns{
    background: #e5f3ff;
}
#Concerns-area .concerns .content_inner{
    padding: 60px 0;
    position: relative;
}
#Concerns-area .concerns h2{
    font-size: 3.2rem;
    font-weight: 600;
    color: #1268b3;
}
#Concerns-area .concerns ul{
    background: #fff;
    margin: 30px auto 0;
    max-width: 680px;
    width: 100%;
    padding: 40px;
}


#Concerns-area .concerns ul li{
    margin-bottom: 15px;
    font-weight: bold;
    text-align: left;
    display: flex;
    align-items: center;
    font-size: 1.8rem;
}
#Concerns-area .concerns ul li:last-child{
    margin-bottom: 0;
}
#Concerns-area .concerns ul li:before{
    content: "";
    background: url("../img/icon.png") no-repeat center;
    width: 28px;
    height: 23px;
    background-size: contain;
    display: inline-block;
    margin-right: 10px;
}

#Concerns-area .read_txt {
    font-size: 18px;
    margin: 40px auto 0;
    font-weight: 500;
}

#Concerns-area .read_txt span{
    font-weight: bold;
}

@media screen and (max-width: 980px){
	#Concerns-area .concerns ul li > div {
    	font-size: 1.6vw;
	}
    
    #Concerns-area .concerns h2{
        font-size: 3.3vw;
    }
    
    #Concerns-area .concerns ul li br{
        display: none;
    }
}

@media screen and (max-width: 768px){
    #Concerns-area .concerns ul{
        margin: 30px 20px 0;
        width: initial;
    }
    
    #Concerns-area .concerns ul li{
        align-items: flex-start;
    }
    
    #Concerns-area .concerns ul li > div{
        font-size: inherit;
    }
    #Concerns-area .concerns ul::before,
    #Concerns-area .concerns ul::after{
        display: none;
    }
}

@media screen and (max-width: 768px){
    #Concerns-area .concerns h2{
        font-size: 2.2rem;
    }
}


/* 無料相談ご利用にあたって Flow
---------------------------------------------------------------------------*/

#Flow{
    padding: 100px 20px 0px !important;
}

#Flow .formStyle01 {
	margin			: 0 auto;
	border			: 1px solid #979797;
	border-collapse	: collapse;
	border-spacing	: 0;
	empty-cells		: show;
}

	#Flow .formStyle01 tr{
        border: none;
    }

	#Flow .formStyle01 tr th{
		background	: #e5f3ff;
		text-align: left;
		color: #333;
        width: 20%;
        padding: 20px;
        border-right: none;
        border-bottom: 1px solid #b5b5b5;
        transform: rotate(0.03deg);
	}

	#Flow .formStyle01 tr td{
        width: 80%;
		padding: 20px;
		text-align: left;
		background: #fff;
        border-bottom: 1px solid #b5b5b5;
        transform: rotate(0.03deg);
	}

	#Flow .formStyle01 tr td a{
        text-decoration: underline;
        color: #fa7128;
	}

	#Flow .formStyle01 tr td a:hover{
        text-decoration: none;
	}

/*注意・免責事項*/
.caution-area{
    max-width: 680px;
    width: 100%;
    background: #e6e6e6;
    padding: 40px;
    margin: 60px auto 0;
}
.caution-area .hd04{
    font-size: 2.6rem;
    font-weight: bold;
}

.caution-area ul{
    text-align: left;
    margin: 20px 0 0;
}
.caution-area ul li span{
    text-decoration: underline;
    color: #FF0004;
}

@media screen and (max-width: 768px){
    #Flow .formStyle01 tr th,
    #Flow .formStyle01 tr td{
        width: 100%;
    }
}

@media screen and (max-width: 478px){
    #Flow{
        padding: 40px 20px !important;
    }
    
    #Flow .formStyle01 tr th,
    #Flow .formStyle01 tr td{
        padding: 10px;
    }
    
    .caution-area{
        padding: 20px;
    }
    
    .caution-area .hd04{
        font-size: 2.0rem;
    }
    
}

/* よくあるご質問 FAQ
---------------------------------------------------------------------------*/

#FAQ{
	padding: 100px 20px !important;
}

#FAQ ul{
	margin-bottom: 25px;
}
#FAQ ul:first-child{
	margin-top: 40px;
}
#FAQ ul:last-child{
	margin-bottom: 0;
}
#FAQ ul li{
	display: flex;
    align-items: baseline;
}
#FAQ ul li p{
	text-align: left;
}
#FAQ ul li:first-child{
	margin: 20px auto;
}
#FAQ ul li:first-child p{
	font-size: 18px;
    font-weight: bold;
    color: #1268b3;
}
#FAQ ul li:last-child p{
}
#FAQ ul li span{
	font-size: 24px;
	min-width: 50px;
	height: 50px;
	border-radius: 50%;
	margin-right: 20px;
    text-align: center;/* ←文字を左右に中央揃え */
    line-height: 46px;/* ←文字を上下に中央揃え */
}
#FAQ ul li:first-child span{
	background-color: #1268b3;
	color: #fff;
}
#FAQ ul li:last-child span{
	background-color: #cce7ff;
	color: #1268b3;
}
#FAQ ul li a{
	color: #fa7128;
    text-decoration: underline;
}
#FAQ ul li a:hover{
    text-decoration: none;
}


@media screen and (max-width: 480px){
    #FAQ{
        padding: 40px 20px !important;
    }
    
	#FAQ ul{
		margin-bottom: 35px;
	}
	#FAQ ul li:first-child{
		margin: 10px auto;
	}
	#FAQ ul li:first-child p, #FAQ ul li:last-child p {
		font-size: 14px;
	}
	#FAQ ul li span{
		font-size: 20px;
		min-width: 40px;
		height: 40px;
		margin-right: 10px;
		line-height: 38px;
	}
}


/* お問い合わせ FAQ
---------------------------------------------------------------------------*/
#Contact{
    padding: 0px 20px 140px !important;
}
#Contact .read_txt{
    font-weight: bold;
}
#Contact ul.btn {
    max-width: 260px;
	margin: 60px auto 55px;
}
#Contact ul.btn li {
    max-width: 260px;
}
#Contact ul.btn button{
    display: block;
    color: #fff;
    padding: 16px 0;
	font-size: 18px;
	font-weight: 700;
    transition: 0.3s all;
    max-width: 260px;
    width: 100%;
    background-color: #ff7f00;
	border: 1px solid #ff7f00;
	box-sizing: border-box;
	border: none;
    position: relative;
    transition: 0.3s;
	cursor: pointer;
}
#Contact ul.btn button:hover{
	background-color: #fff;
	color: #ff7f00;
}
#Contact ul.btn button:after{
    font-size: 10px;
    content: '\f054';
    font-family: 'FontAwesome';
    font-weight: 400;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.attfnt-12px{
    font-size: 1.2rem;
    padding: 0 0 0 1em;
    text-indent: -1em;
}

#err_msg{
    color: #CC2727;
}

.formStyle01 tr td .form_area .input_area.chkArea{
    flex-direction: column;
    align-items: flex-start;
}

.formStyle01 tr td .form_area .input_area.chkArea label{
    display: block;
}

.radioArea{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.formStyle01 .consultation-type input{
    min-width: inherit;
    max-width: inherit;
    width: auto;
    margin-right: 2px;
}

label:hover{
    text-decoration: none;
}

.formStyle01 th{
    display: flex;
    align-items: center;
}

#Confirm #Contact,
#Finish #Contact{
    padding: 40px 20px 100px !important;
}

#Confirm tr.not-flex td{
    display: block;
}

@media screen and (max-width: 768px){
	p.comment{
		text-align: left !important;
	}
}

@media screen and (max-width: 480px){
	#Contact {
		padding: 40px 20px !important;
	}
	ul.btn {
		max-width: 280px;
		width: 100%;
		margin: 20px auto;
	}
	#Contact ul.btn {
		margin: 30px auto;
	}
	p.comment{
		font-size: 14px;
		margin-bottom: 1.3em;
	}
}