/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/
.must {
	background: #aa0000;
}

.free {
	background: #999;
}

.color_red {
    color: #aa0000;
    font-weight: bold;
}

.color_digisma {
    color: #0079cf;
    font-weight: bold;
}

.must,
.free {
	color: #FFF;
	border-radius: 3px;
	font-size: 12px;
	margin-right: 10px;
	padding: 5px 10px;
	letter-spacing: 0.2em;
}
#wpcf7-f31-p29-o1 form {
	text-align: left;
	line-height: 180%;
}
#form-send {
	margin-top: 2rem;
    text-align: center;
}
#form-send input {
    background-color: #428BCA;
    border: 0 solid #004186;
    color: #fff;
    cursor: pointer;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.1em;
    padding: 1% 3%;
    width: 30%;
    border-radius: 5px;
    display: inline-block;
}
.btn_lg {
	width: 80%;
	margin: 0 auto;
	display: block;
	padding: 1% 0;
	letter-spacing: 0.1em;
}
/*----------------------------------------------------
	Header
----------------------------------------------------*/
@media only screen and (min-width: 49em) {
    #header-contact {
        font-size: 140%;
    }
}
@media only screen and (max-width: 48em) {
    #header-contact {
        font-size: 200%;
    }
}

/*----------------------------------------------------
	Table01
----------------------------------------------------*/
table.table01 {
    width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 30px;
}
table.table01 th {
    background-color: #f2f2f2;
    border: 1px solid #c2c2c2;
    vertical-align: middle;
    padding: 15px 20px;
    font-weight: bold;
    text-align: center;
}
table.table01 td {
    border: 1px solid #c2c2c2;
    vertical-align: middle;
    padding: 15px 20px;
    line-height: 180%;
    text-align: center;
}

@media only screen and (max-width: 48em) {
    table.table01 th {
        font-size: 10px;
        padding: 10px 10px;
    }
    table.table01 td {
        font-size: 12px;
        padding: 10px 10px;
        line-height: 180%;
    }
}

/*----------------------------------------------------
	Table02
----------------------------------------------------*/
table.table02 {
    width: 100%;
}
table.table02 th {
}
table.table02 td {
    text-align: right;
}

@media only screen and (max-width: 48em) {
    table.table02 th {
        font-size: 12px;
    }
    table.table02 td {
        font-size: 12px;
    }
}

/*----------------------------------------------------
	Table03
----------------------------------------------------*/
table.table03 {
    width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 30px;
}
table.table03 th {
    background-color: #f2f2f2;
    border: 1px solid #c2c2c2;
    vertical-align: middle;
    padding: 15px 20px;
    font-weight: bold;
    text-align: center;
}
table.table03 td {
    border: 1px solid #c2c2c2;
    vertical-align: middle;
    padding: 15px 20px;
    line-height: 180%;
    text-align: left;
}
table.table03 td {
    border: 1px solid #c2c2c2;
    vertical-align: middle;
    padding: 15px 20px;
    line-height: 180%;
    text-align: left;
}
table.table03 td.cell_price {
    text-align: right;
}
table.table03 .purple_bold {
    font-weight: bold;
    color: #000080;
}

@media only screen and (max-width: 48em) {
    table.table03 th {
        font-size: 10px;
        padding: 10px 10px;
    }
    table.table03 td {
        font-size: 12px;
        padding: 10px 10px;
        line-height: 180%;
    }
}

/*----------------------------------------------------
	Table04
----------------------------------------------------*/
table.table04 {
    width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 30px;
}
table.table04 th {
    background-color: #f2f2f2;
    border: 1px solid #c2c2c2;
    vertical-align: middle;
    padding: 10px 15px;
    font-weight: bold;
    text-align: center;
}
table.table04 td {
    border: 1px solid #c2c2c2;
    vertical-align: middle;
    padding: 10px 15px;
    line-height: 180%;
    text-align: left;
}

@media only screen and (max-width: 48em) {
    table.table04 th {
        font-size: 10px;
        padding: 10px 5px;
    }
    table.table04 td {
        font-size: 10px;
        padding: 5px 5px;
        line-height: 180%;
    }
}

/*----------------------------------------------------
	Table05
----------------------------------------------------*/
table.table05 {
    width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 30px;
}
table.table05 th {
    width: 29%;
    background-color: #d8d2e7;
    border: 1px solid #c2c2c2;
    vertical-align: middle;
    padding: 1.2rem 1rem;
    text-align: left;
    color: #333;
    line-height: 120%;
    font-size: 110%;
}
table.table05 th small{
    padding-top: 1rem;
    font-weight: normal;
    font-size: 90%;
}
table.table05 td {
    border: 1px solid #c2c2c2;
    vertical-align: middle;
    padding: 1.2rem 1rem;
    line-height: 120%;
    text-align: left;
    font-size: 110%;
}
table.table05 td.cell_sejutsu {
    width: 45%;
    text-align: left;
}

table.table05 td.cell_price {
    width: 26%;
    text-align: right;
    line-height: 180%;
}

table.table05 .purple_bold {
    font-weight: bold;
    color: #000080;
}

@media only screen and (min-width: 49em) {
    table.table05 th {
    }
    table.table05 td.cell_sejutsu {
    }
    table.table05 td.cell_price {
    }
}

@media only screen and (max-width: 48em) {
    table.table05 {
    }
    table.table05 th {
        font-size: 8px;
        padding: 10px 5px;
    }
    table.table05 td {
        font-size: 8px;
        padding: 5px 5px;
    }
}

/*----------------------------------------------------
	Table06
----------------------------------------------------*/
table.table06 {
    width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 30px;
}
table.table06 th {
    background-color: #f2f2f2;
    border: 1px solid #c2c2c2;
    vertical-align: middle;
    padding: 10px 15px;
    font-weight: bold;
    text-align: left;
}
table.table06 td {
    border: 1px solid #c2c2c2;
    vertical-align: middle;
    padding: 10px 15px;
    line-height: 180%;
    text-align: left;
}

@media only screen and (max-width: 48em) {
}

/*----------------------------------------------------
	TOPPAGE
----------------------------------------------------*/
.line_btn {
    background-color: #369b40;
}

@media only screen and (max-width: 48em) {
    .cv_contact .is-xlarge {
        font-size: 1.4em;
    }
}

/*----------------------------------------------------
	FooterBtn
----------------------------------------------------*/
footer .f_nav_fixed {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 90px;
    background-color: rgba(255, 255, 255, 0.9);
    border-top: 2px solid #ccc;
    z-index: 1040;
}
footer .f_nav_fixed>ul {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}
footer .f_nav_fixed>ul>li {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    width: 310px;
    height: 100%;
    margin-bottom: 0;
}
footer .f_nav_fixed>ul>li+li {
    margin-left: 40px;
}
footer .f_nav_fixed .desc {
    margin-bottom: 10px;
    width: 100%;
    font-size: 100%;
    text-align: center;
    line-height: 1;
    color: #000;
}
footer .f_nav_fixed a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 56px;
    color: #FFF;
    font-weight: 700;
    text-decoration: none;
    background-color: #000;
    border-radius: 28px;
    line-height: 120%;
}
footer .f_nav_fixed .online a {
    background-color: #003F91;
}
footer .f_nav_fixed .line a {
    background-color: #369b40;
}
footer .f_nav_fixed .contact a {
    background-color: #aa0000;
}
/*footer .f_nav_fixed .online a {
    background-color: #369b40;
}
footer .f_nav_fixed .reserve a {
    background-color: #aa0000;
}
footer .f_nav_fixed .contact a {
    background-color: #003F91;
}*/
footer .f_nav_fixed a::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    width: 20px;
    height: 20px;
    background-image: url(//tsukurubiz.xsrv.jp/lapisclinic/wp-content/themes/flatsome-child/images/icon/icon_arrow_r.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transition: 0.5s ease-in-out;
}
footer .f_nav_fixed a i {
    display: block;
    margin-right: 10px;
    width: 26px;
}
@media only screen and (max-width: 48em) {
    footer .f_nav_fixed {
        width: 100%;
        height: 60px;
        border-top: 1px solid #FFF
    }
    footer .f_nav_fixed>ul {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
    }
    footer .f_nav_fixed>ul>li {
        width: 50%;
    }
    footer .f_nav_fixed>ul>li+li {
        margin-left: 0;
        border-left: 1px solid #FFF
    }
    footer .f_nav_fixed .desc {
        display: none;
    }
    footer .f_nav_fixed a {
        height: 100%;
        color: #FFF;
        border-radius: 0;
    }
    footer .f_nav_fixed a::after {
        display: none;
    }
    footer .f_nav_fixed a i {
        display: block;
        margin-right: 8px;
        width: 22px;
    }
}

/*----------------------------------------------------
	Formarea
----------------------------------------------------*/
#formarea table {
    width: 100%;
    margin: 0 auto;
    border-bottom: 1px solid #ccc;
    margin-bottom: 40px;
}
#formarea table th {
    width: 30%;
    font-size: 16px;
    font-weight: bold;
    background-color: #f2f2f2;
    border-top: 1px solid #ccc;
    padding: 30px 20px;
    vertical-align: middle;
    text-align: left;
}
#formarea table th.required {
    background-image: url("../images/base/icon_required.png");
    background-repeat: no-repeat;
    background-position: 90% center;
}
#formarea table td {
    width: 70%;
    background-color: #fff;
    border-top: 1px solid #ccc;
    padding: 20px;
    vertical-align: middle;
}
input.lg-input {
    width: 97%;
    padding: 1.8% 1.5%;
    border-radius: 5px;
    background-color: #fff;
    border: 1px solid #ccc;
}
input.sm-input {
    width: 18%;
    padding: 1.8% 1.5%;
    border-radius: 5px;
    background-color: #fff;
    border: 1px solid #ccc;
}
#formarea textarea {
    width: 96%;
    border: 1px solid #ddd;
    padding: 0.5em 0.5em;
    border-radius: 5px;
    font-size: 16px;
}
#form-send {
    text-align: center;
}
#form-send input {
    background-color: #428BCA;
    border: 0 solid #004186;
    color: #fff;
    cursor: pointer;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.1em;
    padding: 1% 2%;
    width: 30%;
    border-radius: 5px;
    display: inline-block;
}
#form-send input:hover {
    background-color: #3071A9;
}
#formarea .list-block .wpcf7-list-item {
    display: block;
}
#formarea .list-inline .wpcf7-list-item {
    display: inline;
}
#formarea span.wpcf7-list-item {
    display: inline;
}
input.wpcf7-free-text  {
    width: 30%;
    padding: 1% 1.5%;
    border-radius: 5px;
    background-color: #fff;
    border: 1px solid #ccc;
    margin-left: 2%;
}
.check-text {
    font-size: 16px;
    margin-bottom: 10px;
}
.wpcf7 .wpcf7-form-control-wrap {
    display: inline;
}

/*----------------------------------------------------
	Header Footer
----------------------------------------------------*/
.html_topbar_left,
.copyright-footer,
.copyright-footer h2{
	color: #284F74;
}

/*----------------------------------------------------
	ACCESS
----------------------------------------------------*/
@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/
	.container .section, .row .section {
		padding-left: 0;
		padding-right: 0;
	}
	input.sm-input {
		width: 30%;
	}
	#form-send input {
		font-size: 18px;
		padding: 1% 2%;
		width: 100%;
	}
}

/*----------------------------------------------------
	オンライン診療
----------------------------------------------------*/
.page-plan .plan_flow .row{
	padding-bottom: 30px;	
}
.page-plan .plan_flow .col {
	padding-bottom: 0;
}
.number {
	font-size: 1.4em;
	border: 0;
	padding: 0 0 0 2em;
	margin-bottom: 4%;
	position: relative;
	line-height: 1.2;
	font-weight: normal;
}
.number span {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    line-height: 0.9;
    width: 1.6em;
    height: 1.6em;
    border-radius: .8em;
    color: #fff;
    padding: .3em;
}
.number span.blue {
    background: #496DB4;
}
.number span.green {
    background: #6F8F38;
}
.number span.orange {
    background: #EF9C19;
}
.number span.red {
    background: #aa0000;
}
.number span.purple {
    background: #392b84;
}
.underbar {
	border-bottom: 1px solid #ddd;
	margin-bottom: 2rem;
}

.icon_blue,
.icon_green,
.icon_orange {
    display: inline-block;
    padding: 0.6rem 2rem;
    color: #fff;
    font-weight: bold;
    margin: 1rem 0.6rem 0 0;
    border-radius: 10px;
}
.icon_blue {
    background-color: #496DB4;
}
.icon_green {
    background-color: #6F8F38;
}
.icon_orange {
    background-color: #EF9C19;
}
@media only screen and (max-width: 48em) {
    .icon_blue,
    .icon_green,
    .icon_orange {
        font-size: 14px;
        padding: 0.4rem 1rem;
    }
}

.list_note li{
    margin-bottom: 30px;
}

/*----------------------------------------------------
	症状別メニュー
----------------------------------------------------*/

.ttl_deco_01 h2{
    color: #fff;
    background: linear-gradient(to right, #007B8F, #00B1C2);
    padding: 1rem 0;
    border-radius: 6px;
    margin: 0;
    border: none;
    text-align: center;
}

/*----------------------------------------------------
	Blog
----------------------------------------------------*/
.widget-area .post-date {
    font-size: 80%;
    margin-top: -5px;
    display: block;
    padding-bottom: 5px;
}
.entry-meta .byline {
    display: none;
}

/*----------------------------------------------------
	Footer navi
----------------------------------------------------*/
.widget_nav_menu ul li a{
    font-size: 90%;
}
@media only screen and (min-width: 49em) {
}

@media only screen and (max-width: 48em) {
}

/*----------------------------------------------------
	診療メニュー
----------------------------------------------------*/
  .n-top-treat-menu-list_container {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    list-style-type: none;
    justify-content: space-between;
    align-items: center;
  }
/* 最後のコンテンツを左寄せにする指定 */
.n-top-treat-menu-list_container:before {
    content: "";
    display: block;
    order: 1; 
}
.n-top-treat-menu-list_container:after {
    content: "";
    order: 1;    
}
@media only screen and (min-width: 49em) {
    ul.n-top-treat-menu-list_container li {
        width: 22%;
        margin: 1%;
    }
    .n-top-treat-menu-list_container:before {
        width: 22%;  /* .boxに指定したwidthと同じ幅を指定する */
    }
    .n-top-treat-menu-list_container:after {
        width: 22%;  /* .boxに指定したwidthと同じ幅を指定する */
    }
}

@media only screen and (max-width: 48em) {
    ul.n-top-treat-menu-list_container li {
        width: 46%;
        margin: 2%;
    }
    .n-top-treat-menu-list_container:before {
        width: 46%;  /* .boxに指定したwidthと同じ幅を指定する */
    }
    .n-top-treat-menu-list_container:after {
        width: 46%;  /* .boxに指定したwidthと同じ幅を指定する */
    }
}

.n-top-treat-menu-list_container li > a {
    display: flex;
    align-items: center;
    width: 100%;
    height: 76px;
    text-decoration: none;
    color: #47484a;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0em;
    text-align: center;
    position: relative;
    justify-content: center;
    font-weight: bold;
    background-color: #dcf2fa;
}

.n-top-treat-menu-list_container li.color_green > a {
    background-color: #3374cd;
    color: #fff;
}

@media only screen and (max-width: 48em) {
    .n-top-treat-menu-list_container li > a {
        height: 60px;
      }
}

.n-top-treat-menu-list_container li > a:hover {
    opacity: 0.7;
  }

.n-top-treat-menu-list_container li > a:before {
  content: "";
  position: absolute;
  top: 46%;
  right: 12px;
  width: 10px;
  height: 2px;
  background: #3374cd;
  transform: rotate(45deg);
}

.n-top-treat-menu-list_container li > a:after {
  content: "";
  position: absolute;
  top: 54%;
  right: 12px;
  width: 10px;
  height: 2px;
  background: #3374cd;
  transform: rotate(-45deg);
}

.n-top-treat-menu-list_container li.color_green > a:before,
.n-top-treat-menu-list_container li.color_green > a:after {
  background: #fff;
}

.n-top-treat-menu-list_container li > a:hover::before,
.n-top-treat-menu-list_container li > a:hover::after{
    transition: .2s;
    right: 8px;
}
.n-top-treat-menu-list_container li > a > span {
    grid-column: 2;
    justify-self: center;
}

/*----------------------------------------------------
	Footer
----------------------------------------------------*/
.absolute-footer{
  padding: 0 0 120px;
}
#footer .copyright-footer {
    color: #fff;
    font-size: 90%;
}
@media only screen and (max-width: 48em) {
    .absolute-footer{
      padding: 0 0 80px;
    }
}

/*----------------------------------------------------
	改行
----------------------------------------------------*/
@media only screen and (min-width: 49em) {
/*************** ADD PC ONLY CSS HERE  ***************/
    .br-sp {
        display: none;
    }
    .sp_black {
        display: none;
    }
}

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/
    .br-pc {
        display: none;
    }
    .pc_black {
        display: none;
    }
}

/*----------------------------------------------------
	追加
----------------------------------------------------*/

/***むくみ改善***/
.bg_gray01 {
    background-color: #F8F8F8;
    padding: 20px 20px 10px 20px;
    border-radius: 10px;
}
/*----------------------------------------------------
	FAQ
----------------------------------------------------*/
.faq dt{
	width: 100%;
	color: #263548;
	background-color: #E3DFF0;
	border-top: 1px solid #263548;
	border-bottom: 1px solid #263548;
	padding: 8px 0 8px 10px;
	font-size: 18px;
	font-weight: bold;
}
.faq dd{
	font-size: 16px;
	color: #333;
	background-color: #fff;
	margin: 0 0 20px;
	padding: 20px 20px;
}