/*****************************************************************
全てに適用
*****************************************************************/
body {
    overflow-x: hidden;
}
main {
    min-height: 80vh;
}
.w750 {
    width: 750px;
    max-width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
}
@media screen and (max-width:1119px) {
    .w750 {
        width: 50%;
    }
}
.w18 {
    width: 18%;
}
.w30 {
    width: 30%;
}

/* 色関係 */
.colorw.btn {
    background-color: #fff;
    color: #f27a98;
    border-color: #fff;
    position: relative;
}
.colorw.btn:hover {
    background-color: #f27a98;
    border-color: #fff;
    color: #fff;
}
.colorw.btn::after {
    content: "";
    background-image: url(../img/blank_p.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 20px;
    height: 20px;
    position: absolute;
    right: 10px;
}
.colorw.btn:hover::after {
    background-image: url(../img/blank_w.svg);
}
.color1.btn {
    background-color: #f27a98;
    border-color: #fff;
    color: #fff;
    position: relative;
}
.color1.btn:hover {
    background-color: #fff;
    color: #f27a98;
    border-color: #fff;
}
.color1.btn::after {
    content: "";
    background-image: url(../img/blank_w.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 20px;
    height: 20px;
    position: absolute;
    right: 10px;
}
.color1.btn:hover::after {
    background-image: url(../img/blank_p.svg);
}

/* 見出し・文 */
h1 {
    /* max-width: 275px; */
    max-width: 350px;
}
h3 {
    font-size: 1.75rem;
    font-weight: bold;
    margin-bottom: 1em;
}
h3 span {
    font-size: 1rem;
    color: #8ba2d0;
    display: block;
}
p {
    line-height: 1.75em;
}
a {
    color: #333;
    text-decoration: none;
}
li {
    line-height: 1.75em;
}
table {
    border-top: 1px solid #c2c2c2;
    border-bottom: 1px solid #c2c2c2;
    margin-top: 10px;
}
th,td {
    padding: 10px;
}
th {
    border-bottom: 1px solid #c2c2c2;
    background-color: #ebebeb;
}
td {
    border-left: 1px solid #c2c2c2;
    border-bottom: 1px solid #c2c2c2;
}
.jcsb {
    justify-content: space-between !important;
}

/*slick*/
.slider {
  margin: 30px auto auto 0;
  max-width: 1100px;
  width: 100%;
}
.slider-img {
  margin: 0 5px;
}
.slider-img img {
  height: auto;
  width: 95%;
}

/* .slider-img {
    margin: 10px 20px;
}
.slick-list {
    overflow: inherit !important;
} */
.slick-next, .slick-prev {
    z-index: 5;
}
.slick-next:before, .slick-prev:before {
    color: #f27a98;
    font-size: 50px;
}
#da_support .slick-next:before, #da_support .slick-prev:before {
    color: #5f9df7;
}
.slick-next {
    right: 45px;
}
.slick-prev {
    left: 25px;
}
/* .slick-next {
    right: 165px;
}
.slick-prev {
    left: 145px;
} */
.slider {
    display: none;
}
/* slick-initializedクラスが付与されたら */
.slider.slick-initialized {
    display: block; 
}

/*-------------------------------
header
--------------------------------*/
header {
    padding: 10px 20px;
    box-sizing: border-box;
    height: 80px !important;
    align-items: center;
    position: relative;
}
header > .float-wrap {
    height: 60px;
}
header .colorw.btn {
    padding: 10px 40px 10px 10px;
}
header .color1.btn {
    padding: 10px 40px 10px 10px;
}
header nav {
    height: inherit !important;
    position: absolute;
    right: 0;
}
header nav ul li {
    width: max-content;
}
header nav .nav-contents {
    height: inherit;
    padding-right: 20px;
}
header nav .nav-contents ul {
    align-items: center;
    height: inherit;
}
body.drawer-opened .md-spmenu .nav-contents {
    top: 75px !important;
    height: calc(100vh - 75px);
    background-color: #f27a98;
}
@media screen and (min-width:1400px) {
    body.drawer-opened .md-spmenu .nav-contents {
        height: inherit;
    }
}
body.drawer-opened nav.type1 .nav-contents {
    width: 300px !important;
    left: auto;
    right: 0;
    padding: 20px;
    box-sizing: border-box;
}
@media screen and (min-width:1400px) {
    body.drawer-opened nav.type1 .nav-contents {
        width: auto !important;
        padding: 0 20px 0 0 !important;
    }
}
body.drawer-opened nav.type1 .nav-contents > ul {
    padding: 0;
}
@media screen and (max-width:1399px) {
    body.drawer-opened nav.type1 .nav-contents > ul {
        display: inline-block;
    }
    body.drawer-opened nav.type1 .nav-contents > ul li {
        margin: 15px;
    }
    body.drawer-opened nav.type1 .nav-contents > ul li.newtab {
        margin: 40px 25px;
    }
}
header > .tel {
    display: none;
}
@media screen and (max-width:1399px) {
    header > .tel {
        display: block;
        position: absolute;
        right: 75px;
        font-size: 2rem;
        z-index: 100;
    }
}
header nav .nav-contents .nav-1 .tel {
    font-size: 1.5rem;
}
#nav_icon {
    top: 10px;
    background-color: #f27a98;
}
/**ハンバーガーメニュー表示**/
@media screen and ( max-width:1399px) {
	.md-spmenu #nav_icon{
		display: block;
	}
	.md-spmenu .nav-contents{
		display: none;
		position: fixed;
		top: 10vh;
		width: 100%;
		left: 0;
		right: 0;
		height: 90vh;
		background-color: #333333;
		z-index: 999999999;
	}
	/**オープン時**/
	body.drawer-opened{
		overflow-y: hidden;
	}
	body.drawer-opened header{
		height: 10vh;
	}
}

/*****************************************************************
トップページ　#home
*****************************************************************/
/*-------------------------------
main
--------------------------------*/
/* トップビジュアル .m-visual*/
#home .m-visual {
    position: relative;
    height: calc(100vh - 80px);
}
#home .m-visual::before {
    content: "";
    display: block;
    background-image: url(../img/pc_pieces_bgtop.png);
    background-position: top left;
    background-repeat: no-repeat;
    background-size: contain;
    width: 650px;
    height: 925px;
    position: absolute;
}
#home .m-visual::after {
    content: "";
    display: block;
    background-image: url(../img/pc_pieces_bgbottom.png);
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: contain;
    width: 650px;
    height: 500px;
    position: absolute;
    bottom: 0;
    right: 0;
}
#home .m-visual picture {
    height: inherit;
}
#home .m-visual picture img {
    object-fit: cover;
    height: inherit;
    width: 100%;
}
/* #home .m-visual picture {
    object-fit: cover;
    height: inherit;
} */
#home .m-visual h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 50vh;
    z-index: 1;
}
/* #home .m-visual h2 img {
    height: inherit;
} */
#home .m-visual h2 img {
    height: inherit;
    /* height: 100%; */
}

/*-------------------------------
ABOUT,事業内容 #about
--------------------------------*/
#home #about {
    background-color: #f3f2ed;
}
#home #about .blend {
    mix-blend-mode: multiply;
}
#home #about li {
    display: block;
    background-color: #fef8fa;
    box-shadow: 15px 15px #f27a98;
    border-radius: 20px;
    width: 47.5%;
    position: relative;
    transition: 0.2s;
    padding: 20px;
    box-sizing: border-box;
    margin-bottom: 50px;
}
#home #about .da_support {
    background-color: #f7faff;
    box-shadow: 15px 15px #5f9df7;
}
#home #about li::after {
    content: "";
    background-image: url(../img/arrow_p.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 25px;
    height: 25px;
    right: 20px;
    bottom: 20px;
}
#home #about .da_support::after {
    background-image: url(../img/arrow_b.svg);
}
#home #about li:hover {
    box-shadow: none;
    transform: translate(15px,15px);
}
#home #about li h4 {
    font-size: 1.75rem;
    font-weight: 700;
    padding-left: 100px;
    position: relative;
    text-align: center;
}
#home #about li h4::before {
    content: "";
    background-image: url(../img/pieces_p.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 60px;
    height: 60px;
    left: 10px;
}
#home #about .da_support h4::before {
    background-image: url(../img/pieces_b.png);
}
#home #about li h4 span {
    font-size: 1.25rem;
}
#home #about li img {
    height: 160px;
    width: auto;
    display: block;
    margin: 0 auto;
}

/*-------------------------------
共同生活援助（介護サービス包括型）事業 #cl_support
--------------------------------*/
/* サービス事業共通タイトル */
#home #cl_support,
#home #da_support {
    position: relative;
    overflow: hidden;
}
#home #cl_support > .w100,
#home #da_support > .w100 {
    width: calc(50% + 550px);
    background-color: #f27a98;
    border-radius: 0 20px 20px 0;
    color: #fff;
    margin-left: 0;
    height: 100px;
    position: relative;
    margin-top: 50px;
}
@media screen and (max-width:1119px) {
    #home #cl_support > .w100,
    #home #da_support > .w100 {
        width: 100%;
    }
}
#home #cl_support > .w100::after {
    content: "";
    background-image: url(../img/illust3.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 200px;
    height: 150px;
    top: -30px;
    right: 20px;
}
@media screen and (max-width:991px) {
    #home #cl_support > .w100::after {
        background-image: none;
    }
}
#home #da_support > .w100 {
    background-color: #5f9df7;
    margin-left: auto;
    margin-right: 0;
    border-radius: 20px 0 0 20px;
}
#home #cl_support h2,
#home #da_support h2 {
    font-size: 1.75rem;
    font-weight: bold;
    height: inherit;
    margin-right: 0;
    padding: 30px 30px 30px 100px;
    box-sizing: border-box;
    position: relative;
}
#home #da_support h2 {
    margin-right: auto;
    margin-left: 50px;
}
#home #cl_support h2::before,
#home #da_support h2::before {
    content: "";
    background-image: url(../img/pieces_p.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 60px;
    height: 60px;
    left: 10px;
    top: 20px;
}
#home #da_support h2::before {
    background-image: url(../img/pieces_b.png);
}
#home #da_support h2::after {
    content: "";
    background-image: url(../img/illust4.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 200px;
    height: 150px;
    top: -30px;
    right: 20px;
}
@media screen and (max-width:991px) {
    #home #da_support h2::after {
        background-image: none;
    }
}
#home #cl_support .image-photo img,
#home #da_support .image-photo img {
    border-radius: 20px;
}
#home #cl_support h4,
#home #da_support h4 {
    font-size: 1.25rem;
    font-weight: bold;
    padding-left: 1rem;
    text-indent: -1rem;
}
#home #cl_support h4::before,
#home #da_support h4::before {
    content: "●";
    font-size: 1rem;
    color: #f27a98;
}
#home #da_support h4::before {
    color: #5f9df7;
}
#home #cl_support h4 + p,
#home #da_support h4 + p {
    padding-left: 1rem;
}
#home #cl_support .flow,
#home #da_support .flow {
    max-height: 200px;
    width: auto;
}
#home #cl_support .flow img,
#home #da_support .flow img {
    max-height: 200px;
}
#home #cl_support::before,
#home #da_support::before {
    content: "";
    background-image: url(../img/pieces_decoration_r.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 150px;
    height: 300px;
    right: 10px;
    top: 1000px;
    z-index: -1;
}
#home #cl_support::after,
#home #da_support::after {
    content: "";
    background-image: url(../img/pieces_decoration_l.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 180px;
    height: 300px;
    left: 10px;
    top: 500px;
    z-index: -1;
}

/* 共同生活援助（介護サービス包括型）事業単独 */
#home #cl_support .service li {
    display: flex;
    align-items: stretch;
    position: relative;
}
#home #cl_support .service li > div {
    background-color: #fdebf0;
    border-radius: 20px;
    font-weight: bold;
    line-height: 1.75rem;
    padding: 20px;
}
#home #cl_support .service li .text-color1 {
    font-size: 1.5rem;
    margin-bottom: 5px;
}
#home #cl_support .service li span.text-center {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    bottom: -30px;
}
@media screen and (768px <= width <= 930px) {
    #home #cl_support .service li span.text-center {
        bottom: -60px;
    }
}
/* #home #cl_support .grouphome .slider-img {
    padding: 20px;
    background-color: #fff;
    filter: drop-shadow(2px 2px 2px gray);
    box-sizing: border-box;
}
#home #cl_support .grouphome li h5 {
    font-weight: bold;
}
#home #cl_support .grouphome th {
    width: 40px;
} */
#home #cl_support .grouphome .group {
    padding: 20px;
    background-color: #fff;
    /* filter: drop-shadow(2px 2px 2px gray); */
    filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.3));
    box-sizing: border-box;
    margin-bottom: 30px;
}
#home #cl_support .grouphome table {
    margin-bottom: 20px;
}
#home #cl_support .grouphome th {
    width: 40px;
}
#home #cl_support .grouphome h5 {
    font-weight: bold;
}
#home #cl_support .weekdays,
#home #cl_support .holiday {
    margin-bottom: 30px;
}
#home #cl_support .weekdays > p,
#home #cl_support .holiday > p {
    color: #f27a98;
    font-weight: bold;
    font-size: 1.2rem;
}
#home #cl_support .weekdays > p {
    color: #5f9df7;
}
#home #cl_support .time-schedule {
    list-style: none;
    margin: 0 auto 0 8em;
    padding-left: 20px;
    border-left: 6px solid #f27a98;
    box-sizing: border-box;
}
#home #cl_support .weekdays .time-schedule {
    border-left: 6px solid #5f9df7;
}
#home #cl_support .time-schedule .time {
    width: 8em;
    display: inline-block;
    margin-left: -11em;
    padding: 0 0 5px;
    margin-top: 15px;
    vertical-align: top;
    position: relative;
    text-align: right;
    box-sizing: border-box;
}
#home #cl_support .time-schedule .time::after {
    content: "";
    position: absolute;
    right: -35px;
    top: 0;
    background: #f27a98;
    width: 20px;
    height: 20px;
    border-radius: 10px;
}
#home #cl_support .weekdays .time-schedule .time::after {
    background: #5f9df7;
}
#home #cl_support .time-schedule p {
    display: inline-block;
    width: 100%;
    margin-left: 40px;
    padding: 15px 10px 15px 10px;
    vertical-align: middle;
    /* background: #efefef; */
    box-sizing: border-box;
    border-radius: 6px;
}
#home #cl_support .time-schedule .bgcolor {
    background: #fdebf0;
    color: #f27a98;
}
#home #cl_support .weekdays .time-schedule .bgcolor {
    background: #dce3f1;
    color: #5f9df7;
}
#home #cl_support table a {
    text-decoration: underline;
}

/*-------------------------------
指定日中活動支援事業所（通所） #da_support
--------------------------------*/
#home #da_support div[id$="-contents"] {
    padding: 30px;
    border: 1px solid #5f9df7;
}
#home #da_support .btn-color2-active {
    padding: 25px;
    box-sizing: border-box;
    background-color: #dce3f1;
    border-radius: 20px;
    position: relative;
    color: #5f9df7;
}
#home #da_support .btn-color2-active::after {
    content: "";
    background-image: url(../img/arrow_b.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 25px;
    height: 25px;
    right: 25px
}
#home #da_support .btn-color2-active.active {
    padding: 25px 25px 50px 25px;
    border-radius: 20px 20px 0 0;
}
#home #da_support .btn-color2-active.active::after {
    content: "";
    background-image: url(../img/arrow_w.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 25px;
    height: 25px;
    right: 25px
}
#home #da_support .tab-contnts .support {
    border: none;
    vertical-align: top;
}
#home #da_support .tab-contnts .support th {
    border: none;
    background-color: inherit;
    width: 150px;
}
#home #da_support .tab-contnts .support td {
    border: none;
}
#home #da_support .tab-contnts .support th span {
    color: #fff;
    border: none;
    background-color: #5f9df7;
    padding: 5px 20px;
    border-radius: 20px;
    width: 110px;
    display: inline-block;
}
#home #da_support .tab-contnts .support td ul {
    padding-left: 1em;
}
#home #da_support .tab-contnts .support td ul li::marker {
    color: #5f9df7;
}
#home #da_support .tab-contnts h5 {
    padding: 10px;
}
#home #da_support .menu p {
    border-radius: 20px 20px 0 0;
    margin-bottom: 0;
    padding: 15px 30px;
    box-sizing: border-box;
    border-color: #5f9df7 !important;
    background-color: #5f9df7 !important;
    color: #ffffff !important;
}
#home #da_support .contents {
    padding: 30px;
    border: 1px solid #5f9df7;
    margin-bottom: 30px;
}
#home #da_support .contents .support {
    border: none;
    vertical-align: top;
}
#home #da_support .contents .support th {
    border: none;
    background-color: inherit;
    width: 150px;
}
#home #da_support .contents .support td {
    border: none;
}
#home #da_support .contents .support th span {
    color: #fff;
    border: none;
    background-color: #5f9df7;
    padding: 5px 20px;
    border-radius: 20px;
    width: 110px;
    display: inline-block;
}
#home #da_support .contents .support td ul {
    padding-left: 1em;
}
#home #da_support .contents .support td ul li::marker {
    color: #5f9df7;
}
#home #da_support .contents h5 {
    padding: 10px;
    background-color: #dce3f1;
    color: #5f9df7;
}
#home #da_support .pl2 {
    padding-left: 2em;
}
#home #da_support .pl2 li::marker {
    color: #5f9df7;
}
#home #da_support th {
    width: 120px;
}


/****************************
ご利用の流れ #flow
*****************************/
#home #flow {
    background-color: #e9f4f3;
}
#home #flow .flow {
    max-height: 200px;
    width: auto;
}
#home #flow .flow img {
    max-height: 200px;
}

/****************************
ビデオ #video
*****************************/
#home #video {
    width: 100%;
    height: 300px;
    position: relative;
    overflow: hidden;
} 
#home #video video {
    object-fit: cover;
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
}

/****************************
問い合わせ #contact
*****************************/
#home #contact {
    background-color: #20948b;
}
#home #contact .flex-wrap {
    border: 1px solid;
    font-weight: bold;
}
#home #contact .flex-wrap .w50 {
    position: relative;
}
#home #contact .flex-wrap .tel {
    font-size: 2rem;
}
#home #contact .flex-wrap .form {
    font-size: 1.5rem;
    color: #20948b;
}
#home #contact .flex-wrap .form::after {
    content: "";
    background-image: url(../img/blank_g.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 25px;
    height: 25px;
    right: 2em;
} 
@media screen and ( 768px <= width <= 850px) {
    #home #contact .flex-wrap .form::after {
        right: 1em;
    } 
}





/*-------------------------------
交通のご案内 #access
--------------------------------*/
#home #access .a-tl {
    font-weight: bold;
    color: #f27a98;
}
#home #access .a-tl span {
    display: inline-block;
    background: #f27a98;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    color: #fff;
    font-size: 18px;
    text-align: center;
    line-height: 20px;
    margin-right: 5px;
}
#home #access .w48 > div {
    position: relative;
}
#home #access .w48 a {
    position: absolute;
    top: 0;
    right: 0;
}

/*-------------------------------
footer
--------------------------------*/
footer {
    padding-top: 30px;
}
footer li {
    width: max-content;
    padding: 0 15px;
    box-sizing: border-box;
}
footer li .colorw.btn {
    padding: 10px 40px 10px 10px;
}
footer li .color1.btn {
    padding: 10px 40px 10px 10px;
}
footer .copybg p {
    font-size: 80%;
}

/*****************************************************************
サブページ　.subpage
*****************************************************************/
.subpage main h2 {
    background: #fdebf0;
    color: #f27a98;
    border-radius: 20px;
    padding: 10px 20px;
    box-sizing: border-box;
}
/*-------------------------------
お問い合わせ（サブページ）
.subpage#contact
--------------------------------*/
.subpage#contact form {
    padding: 50px;
    font-size: 1.25rem;
}
.subpage#contact form dt,
.subpage#contact form dd {
    display: block;
    width: 100%;
}
.subpage#contact form dt {
    /* font-family: 'Noto Sans JP', sans-serif; */
    font-weight: 700;
    margin-bottom: 15px;
}
#contact form dl dd {
    padding: 0 0 30px 0;
}
.subpage#contact form dt .require {
    background-color: #ef4565;
    color: #fff;
    padding: 2px 10px;
    font-size: 0.7rem;
    text-align: center;
    font-weight: normal;
    margin-left: 15px;
}
.subpage#contact form input {
    width: 98%;
    height: 56px;
    padding: 2px 1%;
    border-radius: 3px;
    background-color: #eee;
    border: 1px solid #dcdcdc;
    font-size: 1.25rem;
}
.subpage#contact form select, 
.subpage#contact form textarea {
    display: block;
    background-color: #eee;
    font-size: 1.25rem;
}
.subpage#contact form textarea {
    width: 98%;
    height: 196px;
    padding: 1%;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
}
.subpage#contact form .mwform-radio-field.horizontal-item input {
    width: auto;
    height: auto;
    display: inline-block;
    vertical-align: middle;
}
.subpage#contact form .mwform-radio-field.horizontal-item .mwform-radio-field-text {
    vertical-align: middle;
}
.subpage#contact form .wpcf7-radio span input {
    width: auto;
    height: auto;
    display: inline-block;
    vertical-align: middle;
}
.subpage#contact form .wpcf7-list-item-label {
    vertical-align: middle;
}
.subpage#contact form select {
    width: 55%;
    height: 60px;
    padding: 0 1%;
    border: 1px solid #dcdcdc;
    border-radius: 3px;
}
.subpage#contact form .shortwidth {
    width: 20%;
}
.subpage#contact form .confirmation {
    width: 100%;
    margin: 30px auto 0;
    text-align: center;
}
/* .subpage#contact form .confirmation input { */
.subpage#contact form .confirmation .wpcf7-submit {
    width: 260px;
    border: none;
    /* display: inline-block; */
    display: block;
    margin: 30px auto;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background-color: #f27a98;
    /* font-family: 'Noto Sans JP', sans-serif; */
    font-weight: 700;
    font-size: 1rem;
    max-width: none;
    cursor: pointer;
}
.subpage#contact form .confirmation .back{
    margin-right: 30px;
}
.subpage#contact .mw_wp_form .error {
    margin-top: 10px;
}
.subpage#contact .wpcf7-not-valid-tip {
    margin-top: 10px;
    font-size: 93%;
}
/* .subpage#contact form .confirmation input {
    display: block;
    margin: auto;
} */
.subpage#contact form .confirmation .wpcf7-previous {
    display: block;
    background: none;
    color: #333;
    text-decoration: underline;
}
.subpage#contact form .confirmation .wpcf7-spinner {
    display: none;
}
.subpage#contact .wpcf7-acceptance input {
    width: auto;
    height: auto;
    display: inline-block;
    vertical-align: middle;
}