@charset "utf-8";


img {
    max-width: 100%;
}

.pc { display: none; }
.sp { display: block; }

/* ----------------------------------------------------
    メインレイアウト
---------------------------------------------------- */
.wrapper {
    width: auto;
}

.wrapper_inner {
    width: auto;
}

.content_inner .block {
    padding: 0 0 20px;
}
.content_inner {
    padding: 10px;
    margin: 0 5px;
}
.content_inner .block .block_inner { padding:10px; }

/* ----------------------------------------------------
    ヘッダー
---------------------------------------------------- */
.header {
    height: auto;
}
.header .siteLogo {
    position: relative; left: 10px;
}
.header .siteLogo img {
    max-width: 100px;
}
.header h1 {
    left: 130px;
}
.gNav {
    clear: both;
    position: relative; top: 0; left: 0;
    margin-top: 30px;
    padding-bottom: 10px;
}
    .gNav li {
        width: calc(100% / 3);
    }
        .gNav li img {
            width: 100%;
        }



/* ----------------------------------------------------
    フッター
---------------------------------------------------- */

.footer {
	height: auto;
}
.footer_inner {
	background-position: left top;
	height: auto;
	width: auto;
	background-color: #492f12;
	padding-bottom:10px;
}
.footerNav {
	float: none;
	margin: 10px 0;
}
.footerNav li {
	display: inline-block;
	float: none;
	font-size: 0.5rem;
}
.footer .footerCopy + ul li {
	font-size: 0.5rem;
}
.footerNav .logo_footer li a img {
	width: 50px;
	margin-bottom: 8px;
}
.footer .footerCopy + ul {
	padding-bottom: 50px;
}
.footer .footerCopy {
	text-align: center;
	position: absolute;
	bottom: 25px;
	left: 0;
	width: 100%;
}


/* ----------------------------------------------------
    フラッシュエリア
---------------------------------------------------- */
#flashArea {
    height: auto;
}
#flashArea ul#flashAreaNav, #flashArea .flashAreaMain {
    float: none;
    width: 100%;
    font-size:0;
}
#flashArea ul#flashAreaNav li {
    border-left: 1px solid #eee;
    display: inline-block;
    overflow: hidden;
    width: calc(100% / 7 - 1px);
}
#flashArea ul#flashAreaNav li.dn {
    display: none;
}
#flashArea ul#flashAreaNav li img {
   max-width: 100%;
}
#flashArea .flashAreaMain img {
    width: 100%;
}

/* ----------------------------------------------------
    資料請求ボタン用 共通class
---------------------------------------------------- */
.box_inquiry {
    padding: 10px;
    text-align: left;
    width: calc(100% - 20px);
}
.box_inquiry img { max-width: 100%; }

/* ----------------------------------------------------
    見出し
---------------------------------------------------- */
h2 .sp {
    background: -webkit-linear-gradient(#f2f2f2 0%, #ffffff 100%);
    background: -o-linear-gradient(#f2f2f2 0%, #ffffff 100%);
    background: linear-gradient(#f2f2f2 0%, #ffffff 100%);
    border: 1px solid #9f9f9f;
    box-shadow:0px 2px 2px -2px #d1d2bf;
        -moz-box-shadow:0px 2px 2px -2px #d1d2bf;
        -webkit-box-shadow:0px 2px 2px -2px #d1d2bf;
    clear: both;
    color: #37b72c;
    font-size: 18px;
    margin-bottom: 20px;
    padding: 8px 10px 8px 25px;
    position: relative;
    text-shadow:0px 2px 1px #d1d2bf;
        -moz-text-shadow:0px 2px 1px #d1d2bf;
        -webkit-text-shadow:0px 2px 1px #d1d2bf;
}
    h2 .sp:after {
        content: "";
        border: 3px solid #37b72c;
            height: 100%;
            height: -webkit-calc(100% - 20px);
        height: calc(100% - 20px);
        position: absolute; top: 8px; left: 10px;
    }

h3 .sp {
    border-bottom: 3px solid #e0e0e0;
    padding-bottom: 0;
    position: relative;
    clear: both;
    color: #37b72c;
}
    h3 .sp span {
        border-bottom: 3px solid #37b72c;
        display: inline-block;
        font-size: 16px;
        padding-bottom: 6px;
        margin-bottom: -3px;
        margin-left: 37px;
    }

    h3 .sp:before {
        content: url(../images/h3_icon.png);
        border-bottom: 3px solid #fbec47;
        margin-bottom: -3px;
        padding: 0 8px 6px;
        position: absolute; left:0; bottom:0;
    }

h4 .sp {
    color: #666;
    display: inline-block;
    font-size: 16px;
    margin-top: 10px;
    padding-left: 30px;
    position: relative;
}

    h4 .sp:before {
    content: " ";
    border: solid 5px #33cc66;
    display: inline-block;
    height: 10px;
    width: 10px;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    margin-right: 10px;
    position: absolute; top:1px; left:0;
    }

h4.ff9 .sp {
    color: #fff;
    font-size: 18px;
    margin:0;
    padding:0;
}
    h4.ff9 .sp:before { display: none; }

.sp.merit, .sp.demerit, h4 .sp.num {
    color: #666;
    display: inline-block;
    font-size: 14px;
    font-weight: bold;
    margin-top: 10px;
    padding-left: 25px;
    position: relative;
}
    .sp.merit:before, .sp.demerit:before {
    content: " ";
    border: solid 5px #ff9b30;
    display: inline-block;
    height: 8px;
    width: 8px;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    margin-right: 10px;
    position: absolute; top:1px; left:0;
    }
    .sp.demerit:before { border: solid 5px #999; }

h4 .sp.num:before {
    background: #33cc66;
    border: none;
    color: #fff;
    height: 20px;
    font-size: 14px;
    font-weight: bold;
    width: 20px;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    margin-right: 10px;
    position: absolute; top:1px; left:0;
    text-align: center;
}
h4 .sp.num.num01:before {
    content: "1";
}
h4 .sp.num.num02:before {
    content: "2";
}



/* ----------------------------------------------------
    個別
---------------------------------------------------- */
.bottomNav {
    margin: 0 10px;
}
.bottomNav ul.sNav li {
    width: 125px;
}

/* box */
.box {
    float: none;
    width: 100%;
}
.box.ml10 {
    margin:0!important;
}

.box .box_photo, .box .box_txt {
    float: none;
    width: 100%;
}
.box .box_txt {

}
.box .box_photo {
    text-align: center;
}
.box .box_photo ~ .box_txt {
    margin-top: 10px;
}

h4.ff9 { margin: 0; }
.box_fff {
    margin: 0 0 20px;
}



/* ----------------------------------------------------
    top
---------------------------------------------------- */
.content_inner {
    overflow: hidden;
}
.select_block .select {
    right: -50px;
    top: -70px;
}
.select_block .select img {
    width: 75%;
}

.block1 li {
    margin: 0 0 10px 10px;
    padding:0;
    width: calc(100% / 3 - 7px);
}
    .block1 li:first-child { margin: 0 0 10px; }

.block1 .selectBox, .block1 div .fr { float: none; text-align: center; }

.block1 div select {
    margin:0 0 10px!important;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.block1 div .fr input {
    margin: 10px 0 20px;
    max-width: 100%;
}

.result_block {

}
.result_block .first {
    display: none;
}
.result_block table td.description,
.result_block table td.btn {
    clear: both;
    display: block;
    width: auto;
}
.result_block table td.logo,
.result_block table td.price {
    display: block;
    float: left;
    width: 50%;
}
.result_block table tr {
    border-top: 1px solid #6dd902;
}
.result_block table td.logo {
    border:none;
    padding:0;
}

.result_block table td.logo a {
    display: block;
    text-align: center;
    padding: 30px 4px 4px;
    width: calc(100% - 8px);

}
.result_block table td.price {
    border-top: none;
    border-right: none;
}
.result_block table td.price div {
    padding: 10px 0;
}
.result_block table td.btn {
    border-top: none;
    padding-bottom: 30px;
    text-align: center;
}
.result_block table td.btn a {
    display: inline-block;
    margin: 0 2px;
    width: calc(100% / 3 - 8px);
}
.result_block table td.btn img {
    display: inline-block;
}

.block2 .block2_inner {
    background-position: center bottom;
    background-size: auto 220px;
}
h3 .select_block_ttl {
    color: #666;
    font-size: 16px;
    font-weight: bold;
    border: none;
}
h3 .select_block_ttl:before {
    display: none;

}
h3 .select_block_ttl em {
    color:#f60;
    font-size: 20px;
}

.block2 .block2_inner .logo {
    margin:0;
    padding: 10px 0;
}
.block2 .block2_inner .logo li {
    margin: 0 0 10px 10px;
    padding:0;
    text-align: center;
    width: calc(100% / 3 - 10px);
}
    .block2 .block2_inner .logo li:nth-child(4n+1) {
        margin: 0 0 10px;
    }

.block2 .block2_inner .step_ttl {
    background-color: #37b72c;
    color: #fff;
    font-size: 14px;
    margin-left: 10px;
    padding: 3px 20px;

}
.block2 .block2_inner .step_ttl:before {
    display: none;
}
.block2 .block2_inner .step {
    border: 4px solid #f1f1f1;
    margin: -15px 0 220px;
    padding-top: 26px;
    width: auto;
}
.block2 .block2_inner .step li { float: none; }
.block2 .block2_inner .step li {
    background: url(../../images/chart/img_chart_rrow.png) center top no-repeat;
    float: none;
    text-align: center;
    padding: 30px 0 15px;
}
.block2 .block2_inner .step li:first-child {
    background: none;
    padding: 0 0 15px;
}
.block2 .block2_inner .step li:last-child {
    padding: 30px 0 0;
}

.block3 li {
    float: none;
    margin: 0 0 10px;
    width: auto;
}
.block3 li em {
    display: block;
    text-align: center;
}
.block3 li p.text {
    padding: 5px 0;
}

/* ----------------------------------------------------
    給付までの流れ
---------------------------------------------------- */
.block_gray {
    padding: 5px;
}
.block_gray li {
    float: none;
    margin: 15px 0 0!important;
}
.block_gray li img { margin: 0 auto; }
.block_gray li p:not(.al) { text-align: center; }

.block_gray ol li { float: none; }
.block_gray li:first-child { margin: 0!important; }

.block_gray .arrow_sp {
    background: url(../../images/chart/img_chart_rrow.png) center top no-repeat;
    padding-top: 30px;
}

/* ----------------------------------------------------
    ペットの診察料
---------------------------------------------------- */
.cost_receipt {
    float: none;
    padding-right: 0;
    margin-bottom: 10px;
}
.cost_receipt .inner {
    margin: 0 auto;
}
table.dTable th {
    width: 10em;
}
dl.boxDl dt {
    width: 5em;
}
dl.boxDl dd {
    margin-left: 5.5em;
}


/* ----------------------------------------------------
    資料請求
---------------------------------------------------- */
.check_block {
    padding: 5px;
}
.check_block table td {
    line-height: 1.2;
    padding: 0 2px;
}
.check_block table td label {
    margin: 0;
}
.check_block table .check {
    line-height: 2.5;
    padding-bottom: 10px;
}
.input_block {
    padding: 0;
}
.input_block table input {
    border: 1px solid #ccc;
    padding: 3px;
}
.input_block table select {
    margin:0!important;
}
.input_block table th, .input_block table td {
    display: block;
    padding: 10px;
    width: auto;
}
.input_block table .text1 {
    width: 23%;
}
.input_block table .textArea, .input_block table .text3 {
    width: 95%;
}
.input_block table span { display: inline-block; }
.btnRequest input { max-width: 100%; }