@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,600,800');
body {font-family: 'Open Sans','ヒラギノ角ゴシック', 'メイリオ' ,sans-serif;font-weight:400; color:#2d2d2d;}
main {margin-top:0!important;
    padding-top:8rem;font-size:1.1rem;}

/*font*/
span.yellow {
    color:#fffc9b;
}

p {
    margin-bottom:0!important;
	line-height:1.8;
}
p.tel {
    font-size: 2rem;
}

br.forPC {
    display:block;
}
br.forSP {
    display:none;
}

a {
    color:#e8546b;
-webkit-transition: 0.4s ease-in-out;
-moz-transition: 0.4s ease-in-out;
-o-transition: 0.4s ease-in-out;
transition: 0.4s ease-in-out;
}
a:hover {
    color:#afafaf;
    text-decoration:underline;
}
a img {
-webkit-transition: 0.4s ease-in-out;
-moz-transition: 0.4s ease-in-out;
-o-transition: 0.4s ease-in-out;
transition: 0.4s ease-in-out;
}
.idx-menu a {
	display:block;
}
.idx-menu a:hover {
    filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}

hr.hr {
    border-top:1px solid #fff;
    padding:1rem 0 0;
    margin-bottom:0;
}
h1 {
    font-size: 1.4rem;
    line-height:1.8;
}
h2 {
    font-size:1.6rem;
    border-top:2px solid #e8546b;
    border-bottom:2px solid #e8546b;
    text-align:center;
    line-height:1.8;
    padding:0.4rem 0;
    margin:2rem 0;
}
h3 {
	background: #afafaf;
	color:#fff;
	font-size:1.4rem;
	margin: 1rem 0 0.4rem;
    padding: 0.2em 0;
    border-radius:6px;
    text-align:center;
}
h4 {
	background: #e8546b;
	color:#fff;
	font-size:1.2rem;
	margin: 2rem 0 0.4rem;
    padding: 0.2em 0;
    border-radius:6px;
    text-align:center;
}

.container {
    margin-bottom:5rem;
}
.navbar .container, .jumbotron .container {
    margin-bottom: 0;
}
.red {
    color:red;
}
.orange {
	color:orangered;
}
.ex-small {
	font-size:0.8rem;
}
.ex-small-up {
	font-size:0.8rem;
	vertical-align: super;
}
table {
    padding-top:1rem;
    z-index:1000;
}
table th, table td {
    font-weight:normal;
}
table th {
    width:20%;
    vertical-align:top;
}
table td {
    width:100%;
    padding-bottom:1rem;
}

/* 均等配置 */
.row {
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-pack:justify;
    -moz-box-pack:justify;
    -webkit-flex-pack:justify;
    -moz-flex-pack:justify;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    -moz-justify-content:space-between;
    justify-content:space-between;
}
.mb-4, .my-4 {
    margin-bottom: 0.8rem!important;
}
.bg-light {
    background-color:#fff!important;
}

/*グローバルナビ*/
.navbar-brand {
    width:75%;
}
.navbar-brand img, .navbar-brand-top img{
    max-width:100%;
    margin:0.4rem 0;
}
.navbar-nav {
}
.navbar {
background: #fff;
}

.obi {
    position:absolute;
    bottom:0;
    left:0;
    background:url("../images/obi.gif") top left no-repeat;
    background-size:cover;
    height:20px;
    width:100%;
    margin-bottom: -1rem;
}
.navbar-light .navbar-nav .nav-link {
    color:#212121!important;
}

.navbar-light .navbar-toggler {
    color: #084e9e;
    border-color: #fff;
}
.navbar-light .navbar-toggler-icon {
    color: #084e9e;
}
.navbar-nav {
    text-align:center;
}
.navbar-nav li {
    line-height: 1.0;
    padding-left:1rem;
    margin-left:1rem;
}
/*.navbar-nav li+ li {
    border-left:1px solid #FFF;
    padding-left:1rem;
    margin-left:1rem;
}*/
.navbar-collapse {
    align-items:end;
    -webkit-box-align:end;
}
.navbar-light .navbar-toggler-icon {
    color: #212121;
    background:none;
    padding-top: 0.25rem;
}
.home nav.navbar-sub {
	display:none;
}

.navbar-sub {
	flex-direction: column;
	background:#969696;
	padding-top:1.6rem;
	padding-bottom:1.6rem;
	height:2em;
}
.navbar-sub ul {
	margin:0 auto;
	list-style:none;
}
.navbar-sub ul li {
	display:inline-block;
	margin:0 2rem;
}
.navbar-sub ul li a {
	color:#212121;
}

/*footer*/
footer {
margin-top:4rem;
background: #fff;
}
footer .col-md-4 {
    padding-right: 0;
    padding-left: 0;
}
footer a, footer p {
    color:#2d2d2d;
}
footer a img {
    max-width:100%;
}
footer .container {
    padding-bottom:2rem;
    margin-bottom:0;        
}
footer .container .row .footermenu {
    padding:1.5rem 1rem 0.5rem;
}
footer ul {
    list-style:none;
    padding-left:0;
}
footer a {
    line-height: 2rem;
}
footer ul li ul {
    padding-left:1rem;
}
footer .copy {
    text-align:center;
    padding:1rem 0;
    font-size:0.9rem;
    background-color:#FFF;
}

/*折りたたみコンテンツ*/
.cp_actab {
position: relative;
overflow: hidden;
width: 100%;
margin: 0 auto 2rem;
color: #ffffff;
}
.cp_actab input {
position: absolute;
z-index: -1;
opacity: 0;
}
.cp_actab label {
font-weight: bold;
line-height: 3;
position: relative;
display: block;
padding: 0 0 0 1em;
cursor: pointer;
margin: 0 0 1px 0;
background: #da3c41;
}
.cp_actab .cp_actab-content {
overflow: hidden;
max-height: 0;
-webkit-transition: max-height 0.35s;
transition: max-height 0.35s;
color: #333333;
background: #f1c6c6;
}
.cp_actab .cp_actab-content p {
margin: 1em;
}
/* :checked */
.cp_actab input:checked ~ .cp_actab-content {
max-height: 20em;
}
/* Icon */
.cp_actab label::after {
line-height: 3;
position: absolute;
top: 0;
right: 0;
display: block;
width: 3em;
height: 3em;
-webkit-transition: all 0.35s;
transition: all 0.35s;
text-align: center;
}
.cp_actab input[type=checkbox] + label::after {
content: '\25BC';
}
.cp_actab input[type=checkbox]:checked + label::after {
transform: rotateX(180deg);
}

/*button*/
.button, input[type="submit"] ,input[type="reset"], input[type="button"] {
    width:430px;
    text-align:center;
    margin:1rem auto;
}
.button a, input[type="submit"] ,input[type="reset"], input[type="button"] {
    background:#e8546b;
    display:block;
    padding:0.4rem;
    color:#fff;
    border-radius:6px;
}
.button a:hover {
    color:#fff;
    text-decoration:none;
    background:#f3a3af;
}
.button a:hover .fa-caret-right {
    color:#fff;
}

.button .ico_forward {
    display: inline-block;
    width: 0;
height: 0;
border-style: solid;
border-width: 0.4rem 0 0.4rem 0.6rem;
border-color: transparent transparent transparent #2eb7be;
}
.button a:hover .ico_forward {
border-color: transparent transparent transparent #fff;
}

input[type="submit"] ,input[type="reset"] {
    width:50%;
    border:none;
}

/*bnn*/
.bnn {
    border:1px solid #414141;
    margin:2rem 0;
}

/*index*/
.lead {
    width:100%;
    margin:0 auto;
    padding:3rem 0 1rem;
}

.lead h1 {
    margin-top:1rem;
}
.lead h2 {
    border:none;
    margin-bottom:0;
	padding:1rem;
}
.jumbotron {
    padding: 0rem 2rem 1rem;
}
.top, footer {
    background:url("../images/back01.jpg") bottom center no-repeat;
    background-size:cover;
}
#area {
    background:url("../images/back02.jpg") bottom center no-repeat;
    background-size:cover;    
}
#area img {
    width: unset;
}
.idx-menu h2 {
    padding-top: 2.4rem;
    font-size:1.4rem;
    color:#000;
    border:none;
}
h2.line-1 {
    padding-top: 4.8rem;
}

h2.line-2 {
    padding-top: 3.6rem;
}
.top-baby, .top-mother, .top-handy, .top-care, .top-price, .top-faq, .top-contact {
    max-width:260px;
    height:260px;
    margin:30px 15px;
    border-radius:6px;
}
#service .top-baby, #service .top-mother, #service .top-handy, #service .top-care, #service .top-price, #service .top-faq, #service .top-contact {
    margin:30px auto;
}
.top-baby a, .top-mother a, .top-handy a, .top-care a, .top-price a, .top-faq a, .top-contact a {
    vertical-align:middle;
    text-align:center;
    text-decoration:none;
-webkit-transition: 0.4s ease-in-out;
-moz-transition: 0.4s ease-in-out;
-o-transition: 0.4s ease-in-out;
transition: 0.4s ease-in-out;
}

.top-baby a {
    display:block;
    background:#e8546b;
    padding:1.5rem 0.8rem;
    border-radius:6px;
    color:white;
}
.top-mother a {
    display:block;
    background:#F3A06A;
    padding:1.5rem 0.8rem;
    border-radius:6px;
    color:white;
}
.top-handy a {
    display:block;
    background:#7fbe26;
    padding:1.5rem 0.8rem;
    border-radius:6px;
    color:white;
}
.top-care a {
    display:block;
    background:#00aeeb;
    padding:1.5rem 0.8rem;
    border-radius:6px;
    color:white;
}
.top-price a {
    display:block;
    background:#fff;
    padding:1.5rem 0.8rem;
    border-radius:6px;
    color:#00aeeb;
}
.top-faq a {
    display:block;
    background:#fff;
    padding:1.5rem 0.8rem;
    border-radius:6px;
    color:#ef8200;
}
.top-contact a {
    display:block;
    background:#fff;
    padding:1.5rem 0.8rem;
    border-radius:6px;
    color:#7fbe26;
}
.top-baby a:hover, .top-mother a:hover, .top-handy a:hover, .top-care a:hover, .top-price a:hover, .top-faq a:hover, .top-contact a:hover {
    background-color:#fff;
    color:#212121;
}

.top-baby {
    background:url("../images/back-baby.jpg") bottom center no-repeat;
    background-size:cover;    
}
.top-mother {
    background:url("../images/back-0baby.jpg") bottom center no-repeat;
    background-size:cover;    
}
.top-handy {
    background:url("../images/back-handy.jpg") bottom center no-repeat;
    background-size:cover;    
}
.top-care {
    background:url("../images/back-care.jpg") bottom center no-repeat;
    background-size:cover;    
}
.top-price {
    background:url("../images/back-price.jpg") bottom center no-repeat;
    background-size:cover;    
}
.top-faq {
    background:url("../images/back-faq.jpg") bottom center no-repeat;
    background-size:cover;    
}
.top-contact {
    background:url("../images/back-contact.jpg") bottom center no-repeat;
    background-size:cover;    
}

.text p {
	margin-bottom:1rem!important;
}

#area {
    padding:0 0 4rem;
}

.profile {
    max-width:10rem;
    margin-bottom:2rem;
}
#service table th,
#service table td {
    border-bottom: 1px solid #ccc;
    width:50%;
    padding-top: 0.8rem;
    padding-bottom: 1rem;
    padding-left:1rem;
    padding-right:1rem;
}

#service table td {
    text-align:right;
}
#service table {
    border-top: 1px solid #ccc;
    display:table;
    margin-bottom:1rem;
}

#service.flow .flow-box {
    border: 1px solid #7fbe26;
    padding: 1rem 4rem;
}
#service.flow .flow-box h3 {
	background: none;
	color:#2d2d2d;
	font-size:1.4rem;
	margin: 0rem 0 0.4rem;
    padding: 0.2em 0 0.8rem;
    border-radius:0;
    text-align:center;
}
#service.flow .forward {
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 20px 0 20px;
    border-color: #888888 transparent transparent transparent;
}
#baby, #mother, #handy, #care, #price, #office, #faq, #profile {
    margin-top: -160px;
    padding-top: 160px;
    z-index:-100;
}

#contact .question {
    color:#e8546b;
    font-weight:bold;
}
#contact .question::before {
    content:"Q.";
}
#contact table {
    border-collapse:separate;
    border-spacing:0.6rem;
}
#contact table th {
    width:30%;
    background:#ebebeb;
}
#contact table th, #contact table td {
    vertical-align:middle;
    padding: 0.6rem;
}

@media (min-width: 768px){
.navbar-expand-md .navbar-nav .nav-link {
    padding-right: 1rem!important;
    padding-left: 1rem!important;
}
/*col調整*/
.col-md-6 {
    -ms-flex: 0 0 48.5%;
    flex: 0 0 48.5%;
}
.col-md-4 {
    -ms-flex: 0 0 31.3%;
    flex: 0 0 31.3%;
}
.col-md-3 {
    -ms-flex: 0 0 22.5%;
    flex: 0 0 22.5%;
}
}

@media (max-width: 768px) {
    br.forPC {
    display:none;
    }
    br.forSP {
    display:block;
    }
    main img {
        width:100%;
    }
    .lead {
    width:100%;
    }
    footer a img {
    width:80%;
        margin-bottom:1rem;
}
    .navbar-sub {
	display:none;
	}
    .obi {
        background-size: contain;
    }
    table th, table td {
    padding:.75rem 0;
    width:100%;
    display: block;
}
    textarea {
    width: 100%;
}
    .top-baby, .top-mother, .top-handy, .top-care, .top-price, .top-faq, .top-contact {
    max-width: 100%;
    margin: 30px 0;
}
    #area img {
    max-width: 100%;
}
    main img {
        max-width:134px;
    }
    #service p {
        text-align:left;
    }
    #service.flow .flow-box {
        padding: 1rem 15px;
        margin:0 auto;
        width: 90%;
    }
    #service table th, #service table td {
    width: 100%;
    }
    #service table th {
        background:#f5f5f5;
    }
    #service table th.bg-title {
        background:#fbe2e6;
    }
    #service table td {
        text-align:left;
    }
    #contact table th {
    width:100%;
    }
    #contact table td {
        padding:0.6rem 0;
    }

}
@media (max-width: 480px) {
    main {
    padding-top: 4rem;
    }
    .row {
    margin-right: 0;
    margin-left: 0;
}
    h1 {
    font-size: 1.2rem;
        text-align:left;
}
    h2 {
    font-size: 1.2rem;
}
    .lead {
    padding: 1rem 0 1rem;
}
    .button {
    width:100%;
    }
    main img {
        max-width:50%;
    }
    a.navbar-brand, a.navbar-brand-top {
        width:40%;
    }
    .navbar-brand img, .navbar-brand-top img {
    max-width: 100%;
    margin: 0;
    }
    input[type="text"] {
        width:100%;
    }

}
@media (max-width:1024px){
.navbar-sub ul li {
	margin:0 ;
}

}
@media (min-width:1024px){
    .navbar-brand {
    width:30%;
    }
    .navbar-brand-top {
    width:100%;
}
}
