@charset "UTF-8";

body {
	font-size: 62.5%;
	line-height: 1.6;
	letter-spacing: 0.5;
	color: #464646;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	background: #fff;
	word-wrap: break-word;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}

a,input:focus {
	outline: none;
}

input[type="text"],input[type="submit"],input[type="search"],select,textarea {
	-webkit-appearance: none;
	border-radius: 0;
}

a:link,
a:visited {
	text-decoration: none;
	color: #00a0e9;
}

a:active   {text-decoration: underline;}

img{
  max-width: 100%;}

/*======================================================

  Header
 
======================================================*/

/* headerBox */
.headerBox {
	width: 100%;
	display: table;
	height: 70px;
	position: relative;
	z-index: 50;
	background-image: url(../images/bg_main.jpg);
}

#assessment .headerBox {
	background: none!important;
}

.headerLogoBox {
	width: 35%;
	display: table-cell;
	vertical-align: middle;
}

.headerLogo {
	max-width: 180px;
	padding: 0 10px 0 10px;
}

.headerLogo img {
	width: 100%;
	height: auto;
}

/* globalNavBox */
.globalNavBox {
	display: none;
}

/* headerSnsNavBox */
.headerSnsNavBox {
	width: 65%;
	display: table-cell;
	vertical-align: middle;
}

#headerSnsNav {
	float: right;
	padding: 0 10px 0 0;
}

#headerSnsNav li {
	float: left;
	margin: 12px 0 0 5px;
}

#headerSnsNav li:first-child {
	margin: 0 0 0 5px;
} 

#headerSnsNav li a {
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s ease;
}

#headerSnsNav li a:hover {
	opacity:0.60;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	-moz-opacity:0.60;
	-khtml-opacity: 0.60;
}

#headerSnsNav li img {
	width: 20px;
	height: 20px;
}

.freeTel {
	display: inline-block;
	font-weight: bold;
	font-size: 1.4em;
	padding: 0 0 0 20px;
	background: url(../images/icon_free_white.png) left 11px no-repeat;
	background-size: 15px 10px;
	margin-top: 7px;
}

.freeTel a:active {
	text-decoration: none;
}

.freeTel a:link,
.freeTel a:visited {
	color: #fff;
}

.freeTelTime {
	font-weight: bold;
	font-size: 0.6em;
	padding: 0 20px 0 0;
	text-align: right;
	color: #fff;
}

/*======================================================

  Main
 
======================================================*/

/* mainArea */
#mainArea {
	height: 320px;
	overflow-y: hidden;
	position: relative;
	margin: -70px 0 0;
	padding: 90px 10px 0;
	background-image: url(../images/bg_main.jpg);
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 0;
}

.mainSubCatch {
	text-align: center;
	font-size: 1.4em;
	color: #fff;
	margin: 0 0 10px;
}

.mainCatch {
	text-align: center;
	width: 100%;
	font-size: 2.6em;
	line-height: 1.3;
	font-weight: bold;
	margin: 0 0 30px;
	color: #fff;
}

.mainCatch span {
	font-size: 1.1em;
}

.mainBtnBox {
	text-align: center;
}

.mainBtn {
	width: 100%;
    margin: 0 auto;
	border-radius: 4px;
	background: #ffb100;
	display: inline-block;
}

.mainBtn a {
	display: block;
	padding: 15px;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s ease;
}

.mainBtn a:link,
.mainBtn a:visited {
	text-align: center;
	font-weight: bold;
	font-size: 1.6em;
	color: #fff;
}

.mainBtn a:active {
	border-radius: 4px;
	background: #2095c5;
	text-decoration: none;
}

.mainBtn a span {
	background: url(../images/icon_diagnose.png) left center no-repeat,url(../images/icon_bottomarrow_white.png) right center no-repeat;
	background-size: 30px 30px,17px 8px;
	padding: 10px 30px 10px 40px;
}

/* spNavArea */
#spNavArea {
	background: #2095c5;
	padding: 15px 10px;
}

.spNavBox {
	max-width: 900px;
	margin: 0 auto;
}

#spNav {
	font-size: 1.3em;
	text-align: center;
}

#spNav li {
	display: inline-block;
	color: #fff;
}

#spNav li:after {
	content: "|";
	padding: 0 15px;
}

#spNav li:last-child:after {
	content: "";
	padding: 0;
}

#spNav li a:link,
#spNav li a:visited {
	color: #fff;
}

/*======================================================

  Contents
 
======================================================*/

/* moveArea */
#moveArea {
    background: linear-gradient(-45deg, #4b4bc6, #0d0d38, #4b4bc6, #0d0d38);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
}	
@keyframes gradientBG {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}
.moveArea-content{
	margin: 0 auto;
	padding: 20px 20px;
	max-width: 780px;
	text-align: center;
}
.moveArea-content h2{
	font-size: 1.5em;
	margin: 10px 0 10px;
	color: #fff;
}
.moveArea-content video{
	margin: 0px 0 10px;
}


/* diagnosisArea */
#diagnosisArea {
	padding: 30px 30px;
	background-image: url(../images/bg_diagnosis.jpg);
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
}

.diagnosisTtlBox {
	text-align: center;
}

.diagnosisTtl {
	font-size: 1.8em;
	margin: 0 0 5px;
	color: #fff;
	position: relative;
	display: inline-block;
}

.diagnosisTtl:before {
	content: '';
	position: absolute;
	top: 50%;
	left: -22px;
	display: inline-block;
	width: 22px;
	height: 1px;
	background-color: #fff;
	-moz-transform: rotate(60deg);
	-webkit-transform: rotate(60deg);
	-ms-transform: rotate(60deg);
	transform: rotate(60deg);
}

.diagnosisTtl:after { 
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 22px;
	height: 1px;
	background-color: #fff;
	-moz-transform: rotate(-60deg);
	-webkit-transform: rotate(-60deg);
	-ms-transform: rotate(-60deg);
	transform: rotate(-60deg);
}

.diagnosisTtlp {
	font-size: 1.3em;
	margin: 0 0 30px;
	color: #fff;
	position: relative;
}

.diagnosisList li {
	margin: 0 0 10px;
	position: relative;
}

#diagnosisDeepArea {
	padding: 30px 30px;
	background: url(../images/bg_mangaarea.gif) top;
}

.diagnosisDeepTitle {
	position: relative;
	box-shadow: 0px 0px 20px -10px ;
	text-align: center;
	font-weight: bold;
	font-weight: bold;
	font-size: 3em;
	padding: 90px 0 20px;
	background: #bb2121 url(../images/icon_detailbutton_off.png) center top  20px no-repeat;
	background-size: 60px 68px;
	color: #fff;
}

.diagnosisDeepTitle::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -30px;
    left: 0;
    width: 0;
    height: 0;
    margin: auto;
    border-style: solid;
    border-color: #bb2121 transparent transparent transparent;
    border-width: 30px 60px 0 60px;
}

.headingBox {
	color: #fff;	
	color: #fff;
	font-size: 1.6em;
	margin: 0 0 5px;
}

.headingBox span {
	color: #c00;	
}

.inputBox {
	position: relative;	
}

.priceBox {
	color: #fff;
	font-size: 1.4em;
	position: absolute;
	right: 0;
	top: 10px;
}

.selectBox select {
	width: 100%;
	height: 40px;
	padding: 5px 45px 5px 5px;
	cursor:pointer;
	-webkit-appearance:none;
	-moz-appearance:none;
	text-indent: .01px; /* Firefox用 */
	text-overflow: ""; /* Firefox用 */
	appearance:none;
	background: url(../images/icon_bottomarrow_gray.gif) right center no-repeat #fff;
	background-size: 40px 40px;
	color: #565656;
	font-size: 1.4em;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

select::-ms-expand {
	display: none;
}

.commentTxt {
	font-size: 1.1em;
	color: #fff;
	margin: 0 0 30px;
	padding: 0 0 0 1.3em;
	text-indent: -1.3em;
}

.submitBtn input {
	width: 100%;
	border-radius: 4px;
	background: #ffb100;
	text-align: center;
	display: inline-block;
	padding: 15px;
	color: #fff;
	font-weight: bold;
	font-size: 1.6em;
	border: none;
	cursor: pointer;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s ease;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

input[type="submit"][disabled].submit {
    background-color: #ccc;
    cursor: default;
}

.submitBtn input:hover {
	background: #2095c5;
}

/* detailArea */
#detailArea {
	padding: 30px 30px;
	background: url(../images/bg_detail.png) top;
	position: relative;
}

.formBox {
	background-image: url(../images/bg_diagnosis.jpg);
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 10px;
	border-radius: 6px;
	margin: 0 0 20px;
}

.formTitle {
	text-align: center;
	margin: 0 0 10px;
	color: #fff;
	font-size: 1.6em;	
	font-weight: bold;
}

.detailTxt {
	text-align: center;
	font-weight: bold;
	font-size: 1.8em;
	color: #bb2121;
	margin: 0 0 20px;
}

.detailTxt span {
	font-size: 1.2em;
}

.detailList {
	margin: 0 0 20px;
}

.detailList li {
	margin: 0 0 10px;
}

.inputBox input {
	width: calc(100% - 60px);
	height: 40px;
	padding: 5px;
	border: solid 1px #ccc;
	font-size: 1.4em;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

.contactInput {
	width: 100%!important;
}

.inputBox textarea {
	width: 100%;
	height: 100px;
	padding: 10px;
	border: solid 1px #ccc;
	font-size: 1.4em;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

.contactBox {
	margin: 0 auto;
	padding: 10px;
	border: solid 3px #2095c5;
	margin: 0 0 20px;
	border-radius: 10px;
	background: #fff;
}

.contactBoxTxt {
	text-align: center;
	font-weight: bold;
	font-size: 1.4em;
	color: #2095c5;
	margin: 0 0 15px;
}

.contactBoxTxt span {
	font-size: 1.1em;
}

.contactBoxTelBox {
	text-align: center;	 
}

.contactBoxTel {
	font-weight: bold;
	font-size: 2.2em;
	line-height: 1.2;
	color: #2095c5;
	padding: 5px 0 5px 25px;
	background: url(../images/icon_free_blue.png) left 22px no-repeat;
	background-size: 20px 13px;
	display: inline-block;
}

.contactBoxTel a:link,
.contactBoxTel a,visited {
	color: #2095c5;
}

.contactBoxTel a:active {
	text-decoration: none;
}

/* troubleArea */
#troubleArea {
	padding: 30px 30px;
	background: #f8f8f8;
	position: relative;
	box-shadow: 0 0 20px -10px #000;
}

#troubleArea:after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -15px;
	left: 0;
	width: 0;
	height: 0;
	margin: auto;
	border-style: solid;
	border-color: #f8f8f8 transparent transparent transparent;
	border-width: 15px 30px 0 30px;
}

.troubleImg {
	max-width: 600px;
	margin: 0 auto 20px;
}

.troubleCatchTop {
	text-align: center;
	font-size: 1.8em;
	font-weight: bold;
	margin: 0 0 10px;
}

.troubleCatchTop span  {
	color: #2095c5;
}

.imgPC {
	display: none;
}

.troubleImg img {
	width: 100%;
	height: auto;
}

.troubleCatch {
	text-align: center;
	font-size: 2.2em;
	font-weight: bold;
	margin: 0 0 30px;
}

.troubleCatch span {
	font-size: 1.1em;
	color: #2095c5;
}

.troubleTxt {
	text-align: center;
	font-size: 1.4em;
	font-weight: bold;
}

.troubleTxt span{
	color: #2095c5;
}

/* serviceArea */
#serviceArea {
	background-image: url(../images/bg_service.jpg);
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 30px 30px 0;
}

.serviceBoxWrap {
	padding: 0 0 280px;
	background: url(../images/bg_service_man.png) bottom center no-repeat;
	background-size: 300px 277px;
}

.serviceBox {
	position: relative;
}

.serviceInfoBox {
	padding: 0 0 30px;
}

.serviceTtl {
	text-align: center;
	font-weight: bold;
	font-size: 1.8em;
	margin: 0 0 10px;
}

.serviceCatch {
	text-align: left;
	font-size: 1.4em;
	margin: 0 10px 20px;
  font-weight: bold;
}

.serviceCatch span{
	color: #2095c5;
}

.serviceCatch br {
    display: none;
  }

.serviceTxt {
	text-align: left;
	font-size: 1.2em;
	margin: 0 20px 20px;
}

.serviceTxt br {
    display: none;
  }

.serviceList li {
	margin: 0 0 30px;
}

.serviceListImg {
  width: 60%;
	margin: 0 auto 10px;
}

.serviceListImg img {
	width: 100%;
	height: auto;
}

.serviceListTtlBox {
	text-align: center;
}

.serviceListTtl {
	font-weight: bold;
	font-size: 2em;
	line-height: 1.4;
	color: #2095c5;
	margin: 0 0 20px;
	border-bottom: solid 2px #2095c5;
	display: inline-block;
  width: 100%;
}

.serviceListTtl br,
.dotList li br {
	display: none
}

.dotList {
	font-size: 1.2em;
  margin-bottom: 40px;
}

.dotList li {
	width: 95%;
	float: none;
	margin: 0 0 5px;
	padding: 0 0 0 1em;
	text-indent: -1em;
}

.dotList li:before {
	content: "・";
}

/* jireiArea */
#jireiArea {
	background-image: url(../images/bg_jirei.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 30px 30px 0;
}

.jireiBoxWrap {
	max-width: 1600px;
	margin: 0 auto;
	background: url(../images/bg_jirei_man.png) bottom right no-repeat;
}

.jireiBox {
	max-width: 940px;
	margin: 0 auto;
	position: relative;
}

.jireiInfoBox {
	padding: 0 20px 30px;
}

.jireiTtl {
	text-align: center;
	font-weight: bold;
	font-size: 2em;
	margin: 0 0 10px;
}

.jireiCatch {
	font-size: 1.6em;
	color: #2095c5;
	margin: 0 0 10px;
  font-weight: bold;
  text-align: left;
}

.jireiTxt {
	font-size: 1.2em;
	margin: 0 0 0px;
  text-align: left;
}

.jireiTxt br {
	display: none
}

.jireiList {
  padding-bottom: 50px;
}

.jireiList img{
  width: 100%;
  border-radius: 6px 6px 0px 0px;
}

.jireiListTable {
	background: rgba(255,255,255,0.8);
	box-shadow: 0px 0px 20px -8px #000;
	border: 1px solid #ccc;
	border-radius: 10px;
	padding: 19px 19px 19px;
  margin-bottom: 20px;
}

.jireiList table {
	width: 100%;
}

.jireiList table th,
.jireiList table td {
	border-bottom: 1px solid #ccc;	
}

.jireiList .last th,
.jireiList .last td {
	border-bottom: none;
  font-weight: bold;
  color: #AB5758;
	border-top: 2px solid #ccc;	
	border-bottom: 3px solid #ccc;
  padding: 6px 0;
}

.jireiList th {
	padding-right: 10px;	
}

.jireiList td {
  text-align: right;
}

.jireiList h3 {
	background: #2095c5;
	color: #fff;	
	padding: 0 10px;
	font-size: 1.6em;
	margin: 0 0 15px;
  font-weight: bold;
}

.jireiListTxt  {
	font-size: 1.6em;
	margin: 0 0 10px;
}

.jireiListTxt span {
	font-size: 1.1em;
	color: #2095c5;
	font-weight: bold;
}

.jireiListBox {
	padding: 0 20px;
}

.jireiListImg {
	max-width: 240px;
	margin: 0 auto 20px;
}

.jireiListImg img {
	width: 100%;
	height: auto;
}

.jireiListTtlBox {
	text-align: center;
}

.jireiListTtl {
	font-weight: bold;
	font-size: 2.6em;
	line-height: 1.4;
	color: #2095c5;
	margin: 0 0 30px;
	border-bottom: solid 3px #2095c5;
	display: inline-block;
}

.jireiListTtl br {
	display: none
}

/* mangaArea */
#mangaArea {
	background: url(../images/bg_mangaarea.gif) top;
	padding: 30px 30px;
}

.mangaIcon {
	text-align: center;
	margin: 0 0 20px;
}

.mangaIcon img {
	width: 100%;
	height: auto;
}

.mangaTtl {
	text-align: center;
	font-weight: bold;
	font-size: 1.8em;
	color: #fff;
	margin: 0 0 30px;
}

.mangaTtl span {
	color: #ffb100;
}

.mangaListBox {
	padding: 10px;
	background: #fff;
	box-shadow: 0 0 10px 0 #000;
	border-radius: 5px;
	margin: 0 0 30px;
}

.mangaListBox img {
	width: 100%;
	height: auto;
}

.mangaCatch{
	text-align: left;
	font-size: 2em;
	color: #fff;
	margin: 0 0 10px;
  font-weight: bold;
}

.mangaimg{
	text-align: center;
	margin: 0 0 10px;
}

.mangaimg img{
  width: 400px;
}

/* aboutArea */
#aboutArea {
	background-image: url(../images/bg_about.jpg);
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 30px 30px;
}

.aboutList li {
	margin: 0 0 20px;
}

.aboutList li:last-child {
	margin: 0;
}

.aboutListBox li {
	list-style: disc;
	margin: 0;
	list-style-position: inside;
}

.aboutListBox {
	padding: 20px 20px;
	background: rgba(255,255,255,0.8);
	box-shadow:0px 0px 20px -8px #000;
	border:1px solid #ccc;
	border-radius: 10px;
}

.aboutListBox img{
  width: 100%;
  padding-bottom: 20px;
  border-radius: 6px 6px 0px 0px;
}

.aboutListTtl {
	font-size: 2em;
	font-weight: bold;
	margin: 0 0 10px;	
}

.aboutListTtl span {
	color: #2095c5;
}

.aboutTxt {
	font-size: 1.2em;
  text-align: justify;
}

.aboutTxt span {
	color: #2095c5;
	font-weight: bold;
}

/*======================================================

  Footer

======================================================*/

footer {
	background: #363636;
	padding: 10px 30px;
	border-top: solid 1px #686868;
}

.pageTopBtn {
	text-align: right;
	margin: 0 0 20px;
}

.pageTopBtn a {
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s ease;
}

.pageTopBtn a:hover {
	opacity:0.60;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	-moz-opacity:0.60;
	-khtml-opacity: 0.60;
}

.pageTopBtn img {
	width: 30px;
	height: 30px;
}

.footerBox {
	padding: 0 0 30px;
}

.footerLogoBox {
	margin: 0 0 20px;
}

.footerLogo {
	max-width: 180px;
	margin: 0 auto;
}

.footerLogo img {
	width: 100%;
	height: auto;
}

.footerInfoBox {
	margin: 0 0 30px;
}

#footerSnsNav {
	text-align: center;
	margin: 0 0 10px;
}

#footerSnsNav li {
  font-size: 3em;
}

#footerSnsNav li a {
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s ease;
}

#footerSnsNav li a:hover {
	opacity:0.60;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	-moz-opacity:0.60;
	-khtml-opacity: 0.60;
}


.footerAddBox {
	text-align: center;
}

.footerAdd {
	margin: 10px 0 15px;
	font-size: 1.2em;
	color: #fff;
}

.footerTel {
	color: #fff;
	font-size: 1.2em;
}

.footerTel a:link
,.footerTel a:visited {
	color: #fff;
}

.copyRight {
	text-align: center;
	font-size: 1.1em;
	color: #fff;
}

.copyRight br {
	display: none;
}


/*-------------------------------------------
footerお問合せ
-------------------------------------------*/
.footer-inquiry {
  bottom: 0px;
  position: fixed;
  padding: 0;
  z-index: 1200;
  opacity: 0.95;
  background: #714990;
}


/*======================================================

  Contact
 
======================================================*/

.contact {
	padding: 20px 20px;
	background: url(../images/bg_detail.png) top;
	position: relative;
}

.thanksTitle { 
	text-align: center;
	font-weight: bold;
	font-size: 2em;
	color: #bb2121;
	margin: 0 0 20px;
}

.thanksText {
    font-size: 1.4em;
    margin: 0 auto 20px;
    background: #fff;
    padding: 30px 10px;
}

.thanksLink {
	text-align: center;	
	font-size: 1.4em;
}

.tb { display: none; }
.pc { display: none; }
.pctb { display: none; }

/*======================================================

  2018-10-11_追加

======================================================*/

.resultTxtBox {
	border-radius: 6px;
	background: #fff;
	border: solid 3px #bb2121;
	margin: 0 0 20px;
}

.resultSubTxtBox {
	text-align: center;
	background: #bb2121;
	position: relative;
}

.resultSubTxtBox:after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -6px;
	left: 0;
	width: 0;
	height: 0;
	margin: auto;
	border-style: solid;
	border-color: #bb2121 transparent transparent transparent;
	border-width: 6px 15px 0 15px;
}

.resultSubTxt {
	display: inline-block;
	font-weight: bold;
	font-size: 1.4em;
	color: #fff;
	padding: 7px 20px 7px 25px;
	background: url(../images/icon_Yen.png) left center no-repeat;
	background-size: 20px 17px;
}

.resultSubCopy h2 {
	font-weight: bold;
	display: block;
	text-align: center;
	font-size: 2.4em;
	padding: 20px;
	color: #fff;
	background-image: url(../images/bg_diagnosis.jpg);
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
}

.resultTxt {
	text-align: center;
	font-weight: bold;
	font-size: 1.8em;
	color: #bb2121;
	padding: 10px 30px;
}

.resultTxt span {
	font-size: 1.5em;
	margin: 0 10px 0 0;
	border-bottom: solid 2px #bb2121;
}

.detailBtn {
    margin: 30px auto 0;
    background: #ccc;
    max-width: 600px;
}

.detailBtn input {
	border: none;
	text-align: center;
	font-weight: bold;
	font-size: 1.4em;
	color: #fff;
	display: block;
	padding: 75px 20px 15px;
	width: calc(100%);
	background: url(../images/icon_detailbutton_off.png) center 20px no-repeat #bb2121;
	background-size: 40px 45px;
	border-radius: 6px;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s ease;
}

.detailBtn input:hover {
	text-decoration: none;
	background: url(../images/icon_detailbutton_on.png) center 20px no-repeat #2095c5;
	background-size: 40px 45px;
	cursor: pointer;
}

.detailBtn span {
	font-size: 1.2em;
}

/*======================================================
  companyArea
======================================================*/

#companyArea {
	background-image: url(../images/bg_company.jpg);
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 30px 30px;
}

.companyimg img{
  width: 100%;
  height: auto;
  margin-bottom: 20px;
}

.companyBox {
	max-width: 940px;
	margin: 0 auto;
	position: relative;
}

.companyInfoBox {
	padding: 0 20px 30px;
}

.companyCatch {
	text-align: center;
	font-size: 1.4em;
	color: #2095c5;
	margin: 0 10px 20px;
  font-weight: bold;
}

.companyCatch br {
    display: none;
}

.companyTtl {
	text-align: center;
	font-weight: bold;
	font-size: 1.8em;
	margin: 0 0 10px;
}

.companyTable {
	width: 100%;
	/*
	background: rgba(255,255,255,0.8);
	box-shadow: 0px 0px 20px -8px #000;
	border-radius: 10px;
	*/
	border: 1px solid #ccc;
	margin: 0 auto;
	overflow: hidden;
	font-size: 1.1em;
}

.companyTable th {
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 5px;
	background: #eee;
}

.companyTable td {
	border-bottom: 1px solid #ccc;
	padding: 5px;
	background: #fff;
}

.companyTable td ol {
	margin-left: 20px;	
}

.companyTable tr:last-child th,
.companyTable tr:last-child td {
	border-bottom: none;
}

/*======================================================

  プライバシーポリシー

======================================================*/

.policyLink {
	text-align: right;	
	font-size: 1.2em
}

.policyLink a {
	color: #fff;
}

.policyCopy {
	margin: 0 0 30px;
	background: #fff;
	padding: 30px;
	font-size: 1.2em;	
  text-align: justify;
}

#policyArea {
	padding: 20px 20px 10px;
	background: url(../images/bg_detail.png) top;
	position: relative;
}

.policyBox {
	margin: 0 auto;
}

.policyBox h3 {
	font-weight: bold;
	font-size: 1.4em;	
	margin: 0 0 20px;
}

.policyText {
	margin: 0 0 30px;
	font-size: 1.2em;	
  text-align: justify;
}

.policyText ol {
	margin-left: 20px;
}

.policyText ol ol {
	list-style-type: lower-roman
}

.policyText table {
	font-size: 1em;	
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;	
  width: 100%;
}

.policyText table th {
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 5px 10px;
	background: #f6f6f6;
}

.policyText table td {
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;	
	padding: 5px 10px;
	background: #fff;
}

/*======================================================

  管理ページ

======================================================*/

.loginBox {
	border: 1px solid #ccc;
	paddng: 20px;	
}

/*======================================================

  2020.11 追加

======================================================*/

#fName.diagnosisParts { width:100%!important; }
#fMail.diagnosisParts { width:100%!important; }
#fTel.diagnosisParts { width:100%!important; }

.policyBox {
	margin: 0 0 10px;
	border: solid 1px #ccc;
	padding: 15px;
	background: #fff
}

.policyBox p {
	font-size: 1.2em;
	margin: 0 0 20px;
}

.policyBox label {
	text-align: center;
	font-size: 1.4em;
	display: block;
	margin: 0 auto;
	width: 100px;
}

.policyBox label input {
	margin-top: -3px;
    width: 20px;
    height: 20px;
    vertical-align: middle;
}


.magazineBox {
	margin: 0 auto;
	background: #fff;
	padding-top: 30px;
	padding-bottom: 30px;
}

.magazineBox label {
	text-align: center;
	font-size: 1.4em;
	display: block;
	margin: 0 auto;
	width: 200px;
}

.magazineBox label input {
	margin-top: -3px;
    width: 20px;
    height: 20px;
    vertical-align: middle;
}

.egrError {
	color: #fff;
	margin-top: 5px;
	font-size: 14px;
	margin-top: 10px;
	position: absolute;
	background: #c00;
	display: inline-block;
	right: -16px;
	bottom: -16px;
	padding: 5px;
	border-radius: 2px;
	z-index: 102;
}

.egrError:before {
	content: "▲";
	color: #c00;
	position: absolute;
	top: -10px;
	left: 10px;
	z-index: 103;
}

.inputBox {
	position: relative;
}