@charset "utf-8";

/* ==================================================
Common CSS
================================================== */

@media(min-width:1000px){

/*-----STYLE-----*/
.sp {
    display:none;
}

.wrap {
margin-top:100px;
}

.cts {
    width:1000px;
}

.titles {
    padding-bottom:20px;
    text-align:center;
}

.titles .title {
    position:relative;
    display:inline-block;
}

.titles .title h2 {
    font-size:250%;
    font-weight:500;
    line-height:125%;
    letter-spacing:2px;
    color:#89bd4b;
    position:relative;
    z-index:1;
}

.titles .title .underline {
    width:100%;
    height:1px;
    background:#89bd4b;
    position:absolute;
    margin:auto;
    bottom:0;
    left:0;
    right:0;
}

.more_link {
}

.more_link .btn {
    display:inline-block;
}

.more_link .btn a {
    display:flex;
    align-items:center;
}

.more_link .btn a p {
    font-weight:400;
    color:#89bd4b;
}

.more_link .btn a .arrow {
    width:7px;
    height:5px;
    border-top:transparent 5px solid;
    border-right:none;
    border-bottom:transparent 5px solid;
    border-left:#89bd4b 7px solid;
    margin-left:10px;
}

.more_btn {
}

.more_btn .btn {
    display:inline-block;
}

.more_btn .btn a {
    width:180px;
    height:50px;
    background:#89bd4b;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:30vw;
}

.more_btn .btn a p {
    font-weight:500;
    color:#fff;
}

.more_btn .btn a .arrow {
    width:7px;
    height:5px;
    border-top:transparent 5px solid;
    border-right:none;
    border-bottom:transparent 5px solid;
    border-left:#fff 7px solid;
    margin-left:10px;
}

.back_btn {
    text-align:center;
}

.back_btn .btn {
    display:inline-block;
}

.back_btn .btn a {
    width:180px;
    height:50px;
    border:#89bd4b 1px solid;
    display:flex;
    justify-content:center;
    align-items:center;
}

.back_btn .btn a p {
    font-weight:500;
    color:#89bd4b;
}

.back_btn .btn a .arrow {
    width:7px;
    height:5px;
    border-top:transparent 5px solid;
    border-right:#89bd4b 7px solid;
    border-bottom:transparent 5px solid;
    border-left:none;
    margin-right:10px;
}



/*-----HEADER-----*/
header {
    width:100%;
    height:100px;
    background:rgba(255,255,255,0.95);
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:fixed;
    top:0;
    left:0;
    z-index:9999;
}

header .logo {
    width:270px;
    margin-left:20px;
}

header h1 {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}



/*MV*/
#mv {
    width:100vw;
    overflow:hidden;
    margin:0 0 100px;
    position:relative;
}

#mv .movie {
}

#mv video{
    width:100%;
    height:auto;
    vertical-align:bottom;
}

#mv .sound {
    width:40px;
    position:absolute;
    right:15px;
    bottom:15px;
    z-index:1000;
    cursor:pointer;
}



/*-----TOP TOPICS-----*/
#top_topics {
}

#top_topics .cts {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-bottom:100px;
}

#top_topics .title_area {
    width:350px;
}

#top_topics .title_area .deco {
    width:200px;
    margin:auto;
}

#top_topics .topic_area {
    width:650px;
}

.topics {
    margin-bottom:10px;
}

.topics .topic {
    border-bottom:#f0f0f0 1px solid;
    padding-bottom:20px;
    margin-bottom:20px;
}

.topics .topic:first-child {
    border-top:#f0f0f0 1px solid;
    padding-top:20px;
}

.topics .topic a {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
}

.topics .topic a .date_cate {
    width:200px;
    display:flex;
    align-items:center;
}

.topics .topic a .date_cate .date {
    width:100px;
    font-weight:300;
}

.topics .topic a .date_cate .cate {
    width:90px;
    background:#89bd4b;
    font-size:80%;
    align-items:center;
    text-align:center;
    color:#fff;
}

.topics .topic a .subject {
    width:calc(100% - 210px);
}

#top_topics .topic_area .more_link {
    text-align:right;
}

#top_topics .bottom_deco {
    width:1000px;
    margin:auto;
}




/*-----TOP SERVICE-----*/
#top_service {
    background:#fff5e1;
    padding:100px 0;
}

#top_service .copy {
    text-align:center;
    margin-bottom:30px;
}

#top_service .services {
    display:flex;
    flex-wrap:wrap;
}

#top_service .services .service {
    width:30%;
    margin:0 5% 50px 0;
}

#top_service .services .service:nth-child(3n) {
    margin-right:0;
}

#top_service .services .service:nth-child(n+4) {
    margin-bottom:0;
}

#top_service .services .service .photos {
    position:relative;
    margin-bottom:15px;
}

#top_service .services .service .photos .photo {
    position:relative;
}

#top_service .services .service .photos .deco {
    position:absolute;
    display:none;
}

#top_service .services .service:nth-child(1) .photos .deco {
    width:100px;
    top:-15px;
    left:-15px;
}

#top_service .services .service:nth-child(2) .photos .deco {
    width:100px;
    bottom:-15px;
    left:0;
}

#top_service .services .service:nth-child(3) .photos .deco {
    width:85px;
    top:-15px;
    right:-15px;
}

#top_service .services .service:nth-child(4) .photos .deco {
    width:55px;
    bottom:0;
    left:0;
}

#top_service .services .service:nth-child(5) .photos .deco {
    width:70px;
    top:-30px;
    right:0;
}

#top_service .services .service:nth-child(6) .photos .deco {
    width:55px;
    bottom:0;
    left:0;
}

#top_service .services .service .subjects {
    text-align:center;
    margin-bottom:12px;
}

#top_service .services .service .subjects .subject {
    display:inline-block;
    position:relative;
}

#top_service .services .service .subjects .subject h3 {
    font-size:135%;
    font-weight:500;
    line-height:125%;
    letter-spacing:3px;
    color:#89bd4b;
    position:relative;
    z-index:1;
    text-align:center;
}

#top_service .services .service .subjects .subject .underline {
    width:100%;
    height:1px;
    background:#89bd4b;
    position:absolute;
    margin:auto;
    bottom:0;
    left:0;
    right:0;
}

#top_service .services .service ul {
}

#top_service .services .service ul li {
    display:flex;
    position:relative;
}

#top_service .services .service ul li .arrow {
    width:7px;
    height:5px;
    border-top:transparent 5px solid;
    border-right:none;
    border-bottom:transparent 5px solid;
    border-left:#89bd4b 7px solid;
    margin-right:7px;
    position:relative;
    top:7px;
}

#top_service .services .service ul li a {
}

#top_service .services .service ul li a p {
    font-weight:400;
}



/*-----TOP COMPANY-----*/
#top_company {
    padding:100px 0 100px;
}

#top_company .cts {
    width:calc(100% - 100px);
    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-direction:row-reverse;
}

#top_company .photos {
    width:50%;
    position:relative;
}

#top_company .photos .photo {
    width:100%;
    height:30vw;
    min-height:450px;
    max-height:550px;
    background:url(../img/company.jpg) top center / cover;
}

#top_company .photos .deco {
    width:150px;
    position:absolute;
    bottom:0;
    right:0;
}

#top_company .copies {
    width:50%;
    position:relative;
}

#top_company .copies .detail {
    width:500px;
    padding-left:60px;
}

#top_company .copies .titles {
    text-align:left;
}

#top_company .copies .titles h2 {
    color:#89bd4b;
}

#top_company .copies .copy {
}

#top_company .copies .copy h3 {
    font-size:180%;
    line-height:140%;
    letter-spacing:2px;
    margin-bottom:12px;
    color:#89bd4b;
}

#top_company .copies .copy .tx {
    margin-bottom:25px;
    line-height:180%;
    letter-spacing:1px;
}



/*-----TOP RECRUIT-----*/
#top_recruit {
    background:#fff5e1;
    padding:100px 0 100px;
}

#top_recruit .cts {
    width:calc(100% - 100px);
    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

#top_recruit .photos {
    width:50%;
    position:relative;
}

#top_recruit .photos .photo {
    width:100%;
    height:30vw;
    min-height:450px;
    max-height:550px;
    background:url(../img/recruit.jpg) center / cover;
}

#top_recruit .copies {
    width:50%;
    position:relative;
}

#top_recruit .copies .detail {
    width:500px;
    margin:0 0 0 auto;
    padding-right:60px;
}

#top_recruit .copies .titles {
    text-align:left;
}

#top_recruit .copies .titles .title h2 {
    color:#89bd4b;
}

#top_recruit .copies .copy {
}

#top_recruit .copies .copy h3 {
    font-size:180%;
    line-height:145%;
    letter-spacing:2px;
    margin-bottom:12px;
    color:#89bd4b;
}

#top_recruit .copies .copy .tx {
    margin-bottom:25px;
    line-height:180%;
    letter-spacing:1px;
}



/*-----CTA-----*/
#cta {
    width:800px;
    margin:100px auto 50px;
    position:relative;
}

#cta .cts {
    width:100%;
}

#cta .titles {
    padding-bottom:15px;
}

#cta .titles .title .icon {
    width:65px;
    margin:0 auto 10px;
}

#cta .titles .title h2 {
    font-size:180%;
}

#cta .copy {
    font-weight:500;
    text-align:center;
    margin-bottom:20px;
}

#cta .contacts {
    display:flex;
    justify-content:space-between;
    margin-bottom:20px;
}

#cta .contacts .contact {
    width:390px;
    border:#89bd4b 1px solid;
    padding:30px 30px 20px;
}

#cta .contacts .contact:first-child {
}

#cta .contacts .contact .items {
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:20px;
}

#cta .contacts .contact .items .line {
    width:85%;
    height:1px;
    background:#89bd4b;
}

#cta .contacts .contact .items .item {
    font-size:100%;
    font-weight:500;
    position:absolute;
    background:#fffaf5;
    padding:0 10px;
    color:#89bd4b;
}

#cta .contacts .contact .tel {
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:10px;
}

#cta .contacts .contact .tel img {
    width:20px;
    margin-right:6px;
}

#cta .contacts .contact .tel p {
    font-size:220%;
    line-height:100%;
    color:#89bd4b;
}

#cta .contacts .contact .time {
    text-align:center;
    font-size:70%;
    line-height:100%;
}

#cta .contacts .contact .cta_btn {
}

#cta .contacts .contact .cta_btn a {
    display:flex;
    justify-content:center;
    align-items:center;
    background:#89bd4b;
    padding:15px;
}

#cta .contacts .contact .cta_btn a img {
    width:25px;
    margin-right:10px;
}

#cta .contacts .contact .cta_btn a p {
    font-size:110%;
    font-weight:500;
    color:#fff;
}

#cta .data {
    text-align:center;
}

#cta .data .name {
    font-size:90%;
    font-weight:500;
    margin-bottom:3px;
}

#cta .data .address {
    font-size:80%;
}

.town {
    width:100%;
    height:87px;
    background:url(../img/town_double.png) repeat-x center / 2000px 87px;
}



/*-----PAGE-----*/
.main {
    margin-bottom:150px;
}

.pagetitles {
    width:100%;
    height:330px;
    background:#f0f5e1;
    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-bottom:120px;
}

.pagetitles .bg {
    width:100%;
    height:120px;
    background:url(../img/pagetitle_bg.svg) top center / cover;
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
}

.pagetitles .cts {
    display:flex;
    justify-content:space-between;
    align-items:center;
    height:240px;
    position:relative;
}

.pagetitles .pagetitle {
    width:1000px;
    margin:auto;
}

.pagetitles .pagetitle .subject {
    font-size:320%;
    font-weight:400;
    line-height:120%;
    letter-spacing:3px;
    margin-bottom:5px;
}

.pagetitles .pagetitle .subject:first-letter {
    color:#89bd4b;
}

.pagetitles .pagetitle .kana {
    font-size:100%;
    color:#89bd4b;
}

.under .bread {
    position:absolute;
    right:0;
    text-align:right;
}

.under .bread p {
    font-size:80%;
}

.pageitems {
    text-align:center;
    position:relative;
    margin-bottom:20px;
}

.pageitems .pageitem {
    display:inline-block;
}

.pageitems .pageitem p {
    font-size:150%;
    color:#89bd4b;
}

.pageitems .pageitem .underline {
    height:1px;
    background:#89bd4b;
}



/*-----COMPANY-----*/
#company {
}

#company #concept {
    margin-bottom:100px;
}

#company #concept .illust {
    width:600px;
    margin:0 auto 30px;
}

#company #concept .tx {
    font-size:110%;
    font-weight:400;
    line-height:180%;
    letter-spacing:2px;
    text-align:center;
}

#company #vision {
    padding:70px;
    margin-bottom:100px;
    background:#fff;
    border-radius:0x;
}

#company #vision .illust {
    width:600px;
    margin:0 auto 30px;
}

#company #vision .tx {
    font-size:110%;
    font-weight:400;
    line-height:200%;
    letter-spacing:3px;
    text-align:center;
}

#company #mission {
    margin-bottom:100px;
}

#company #mission .pageitems {
    margin-bottom:25px;
}

#company #mission .missions {

}

#company #mission .missions .mission {
    display:flex;
    justify-content:space-between;
    margin-bottom:70px;
}

#company #mission .missions .mission:nth-child(even) {
    flex-direction:row-reverse;
}

#company #mission .missions .mission:last-child {
    margin-bottom:0;
}

#company #mission .missions .mission .photo {
    width:470px;
}

#company #mission .missions .mission .detail {
    width:470px;
}

#company #mission .missions .mission .detail .number {
    font-size:150%;
    line-height:150%;
    color:#89bd4b;
}

#company #mission .missions .mission .detail .subject {
    font-size:180%;
    line-height:150%;
    color:#89bd4b;
    margin-bottom:15px;
}

#company #mission .missions .mission .detail .tx {

}

#company #mission .missions .mission .detail .tx p {
    line-height:180%;
    margin-bottom:20px;
}

#company #mission .missions .mission .detail .tx p:last-child {
    margin-bottom:0;
}

#company #guideline {
    padding:70px;
    margin-bottom:100px;
    background:#fff;
    border-radius:0;
}

#company #guideline .illust {
    width:550px;
    margin:0 auto 30px;
}

#company #guideline .tx {
    font-size:110%;
    font-weight:400;
    line-height:200%;
    letter-spacing:3px;
    text-align:center;
}

#company #overview {
}

#company #overview .pageitems {
    margin-bottom:30px;
}

#company #overview .details {
    display:flex;
    justify-content:space-between;
}

#company #overview .details .overviews {
    width:470px;
}

#company #overview .details .overviews .overview {
    display:flex;
    border-bottom:#eee9e4 1px solid;
    padding:20px 15px;
}

#company #overview .details .overviews .overview:first-child {
    border-top:#eee9e4 1px solid;
}

#company #overview .details .overviews .overview:nth-child(even) {
}

#company #overview .details .overviews .overview .item {
    width:100px;
}

#company #overview .details .overviews .overview .detail {
    width:calc(100% - 100px);
}

#company #overview .details .map {
    width:470px;
    height:470px;
}



/*----- TOPICS -----*/
#topics_index {
}

#topics_index .category {
    display:flex;
    justify-content:center;
    border-bottom:#f0f0f0 1px solid;
}

#topics_index .category nav {
    margin-right:12px;
}

#topics_index .category nav:last-child {
    margin-right:0;
}

#topics_index .category nav a {
    line-height:100%;
    border:#eee9e4 1px solid;
    border-bottom:none;
    background:#fff;
    display:block;
    padding:16px 20px 15px 20px;
    border-radius:10px 10px 0 0;
}

#topics_index .category nav a p {
    font-weight:500;
    line-height:100%;
}

#topics_index .category nav.now a {
    pointer-events:none;
    background:#89bd4b;
    border:#89bd4b 1px solid;
    border-bottom:none;
    cursor:none;
}

#topics_index .category nav.now a:hover {
    animation:none;
}

#topics_index .category nav.now a p {
    color:#fff;
    line-height:100%;
}

#topics_index .category nav.none a {
    pointer-events:none;
    opacity:0.3;
}

#topics_index .topics {
    position:relative;
    margin-bottom:35px;
}

#topics_index .topics .notopics {
    margin-top:30px;
}

#topics_index .topics .topic {
    position:relative;
    border-bottom:#eee9e4 1px solid;
}

#topics_index .topics .topic:first-child {
    border-top:none;
}

#topics_index .topics .topic a {
    padding:30px 30px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:relative;
}

.pagenation {
    display:flex;
    justify-content:center;
    align-items:center;
    margin-top:30px;
}

.pagenation nav {
    line-height:100%;
    margin:0 5px;
}

.pagenation nav:first-child {
}

.pagenation nav a {
    font-size:90%;
    border:#eee9e4 1px solid;
    display:flex;
    justify-content:center;
    align-items:center;
    min-width:30px;
    height:30px;
    padding:0 10px;
}

.pagenation nav.now a {
    pointer-events:none;
    background:#333;
    border:#333 1px solid;
}

.pagenation nav.now a p {
    color:#fff;
    line-height:100%;
}

.pagenation nav.none a {
    pointer-events:none;
    opacity:0.3;
}



/*-----TOPICS DETAIL-----*/
#topics_detail {
}

#topics_detail .cts {
}

#topics_detail article {
}

#topics_detail article p {
}

#topics_detail article .corner {
    text-align:center;
}

#topics_detail article .corner .cate_titles {
    margin-bottom:30px;
}

#topics_detail article .corner .cate_title {
    color:#c8b478;   
}

#topics_detail article h2 {
    font-size:220%;
    line-height:145%;
    color:#89bd4b;
    margin-bottom:10px;
}

#topics_detail article .date_cate {
    display:flex;
    align-items:center;
}

#topics_detail article .date_cate .date {
    margin-right:15px;
}

#topics_detail article .date_cate .cate {
    font-size:80%;
    line-height:100%;
    background:#89bd4b;
    color:#fff;
    padding:3px 5px;
}

#topics_detail article .photo {
    margin-top:40px;
}

#topics_detail article .ex {
    margin-top:40px;
}

#topics_detail article .ex p {
    font-size:100%;
    line-height:180%;
}

#topics_detail article .youtube {
    margin:40px auto 0;
    padding-top: 56.25%;
    position:relative;
}

#topics_detail article .youtube iframe {
    position: absolute;
    top:0;
    right:0;
    width:100% !important;
    height:100% !important;
}

#topics_detail article .btns {
    margin-top:50px;
}

#topics_detail article .btns .btn {
    position:relative;
    display:flex;
    align-items:center;
    border-bottom:#e1e1e1 1px solid;
}

#topics_detail article .btns .btn:first-child {
    border-top:#e1e1e1 1px solid;
}

#topics_detail article .btns .btn:last-child {
    margin-bottom:0;
}

#topics_detail article .btns .btn .icon {
    width:25px;
    margin-right:10px;
}

#topics_detail article .btns .btn a {
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:relative;
    padding:30px 30px;
}

#topics_detail article .btns .btn a p {
    font-weight:500;
    letter-spacing:2px;
}

#topics_detail article .btns .btn a:after {
    content:"";
    width:20px;
    height:20px;
    border-top:#e1e1e1 1px solid;
    border-right:#e1e1e1 1px solid;
    transform:rotate(45deg);
    position:absolute;
    right:30px;
}

#topics_detail .back_btn {
    margin-top:50px;
}



/*----- SERVICE -----*/
#service {
}

#service .category {
    border-left:#89bd4b 4px solid;
    padding:3px 0 3px 10px;
    font-weight:400;
    color:#89bd4b;
    margin-bottom:10px;
}

#service .topcopy {
    margin-bottom:100px;
}

#service .topcopy .illust {
    width:600px;
    margin:0 auto 30px;
}

#service .topcopy .tx {
    font-size:110%;
    font-weight:400;
    line-height:200%;
    letter-spacing:3px;
    text-align:center;
}

#service .service_information {
}

#service .service_information .copy {
    text-align:center;
    margin-bottom:25px;
}

#service .service_information .facilities {
}

#service .service_information .facilities .facility {
    width:100%;
    height:249px;
    border:#89bd4b 1px solid;
    background:#fff;
    padding:30px;
    position:relative;
    margin-bottom:25px;
}

#service .service_information .facilities .facility:last-child {
    margin-bottom:0;
}

#service .service_information .facilities .facility .details {
    width:100%;
    display:flex;
    justify-content:space-between;
}

#service .service_information .facilities .facility .details .blank {
    width:270px;
    height:189px;
}

#service .service_information .facilities .facility .details .detail {
    width:calc(100% - 300px);
}

#service .service_information .facilities .facility .details .detail .genre {
}

#service .service_information .facilities .facility .details .detail .genre p {
    font-size:80%;
    color:#89bd4b;
    background:#f0f5e1;
    padding:3px 5px;
    margin-bottom:5px;
    display:inline-block;
}

#service .service_information .facilities .facility .details .detail .name {
    font-size:160%;
    line-height:150%;
    color:#89bd4b;
    margin-bottom:10px;
}

#service .service_information .facilities .facility .details .detail .photo {
    width:270px;
    position:absolute;
    top:30px;
    left:30px;
}

#service .service_information .facilities .facility .details .detail .address {
    font-size:80%;
}

#service .service_information .facilities .facility .details .detail .more_btn {
    position:absolute;
    right:30px;
    bottom:30px;
}

#service .service_information .facilities .facility .details .detail .more_btn a {
    height:40px;
}



/*----- SERVICE HOME-NURSING -----*/
#service #home-nursing {
    
}

#service .intro {
    display:flex;
    justify-content:space-between;
    position:relative;
    margin-bottom:100px;
}

#service .intro .blank {
    width:470px;
    height:350px;
}

#service .intro .detail {
    width:480px;
}

#service .intro .detail .genre {
}

#service .intro .detail .genre p {
    font-size:80%;
    color:#89bd4b;
    background:#f0f5e1;
    padding:3px 5px;
    margin-bottom:5px;
    display:inline-block;
}

#service .intro .detail .facility {
    font-size:200%;
    line-height:135%;
    color:#89bd4b;
    margin-bottom:15px;
}

#service .intro .detail .photo {
    width:470px;
    position:absolute;
    top:0;
    left:0;
}

#service .intro .detail .tx {
    margin-bottom:20px;
}

#service .intro .detail .information {
    background:#fff;
    border:#eee9e4 1px solid;
    padding:20px 25px;
}

#service .intro .detail .information .subtitle {
    color:#89bd4b;
}

#service .intro .detail .information .address {
}

#service .intro .detail .information .address {
}

#service .intro .detail .information .tel {
    display:flex;
    align-items:center;
}

#service .intro .detail .information .tel img {
    width:16px;
    margin-right:6px;
}

#service .intro .detail .information .tel .min {
    font-size:150%;
    color:#89bd4b;
}

#service .intro .detail .information .times {
    display:flex;
    align-items:center;
}

#service .intro .detail .information .times .item {
    font-size:70%;
    line-height:100%;
    background:#f0f5e1;
    padding:3px 5px;
    margin-right:10px;
}

#service .intro .detail .information .times .time {
    font-size:90%;
}



/*-----SERVICE COMMON-----*/
#service #faq {
    margin-bottom:100px;
}

#service #faq .faqs {

}

#service #faq .faqs .faq {
    margin-bottom:15px;
}

#service #faq .faqs .faq .question {
    border:#89bd4b 1px solid;
    background:#89bd4b;
    margin-bottom:15px;
    cursor:pointer;
    position:relative;
    display:flex;
    align-items:center;
}

#service #faq .faqs .faq .question .items {
    display:flex;
    width:100%;
}

#service #faq .faqs .faq .question .items .q {
    width:50px;
    min-height:50px;
    font-size:120%;
    line-height:100%;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
}

#service #faq .faqs .faq .question .items .item {
    min-height:50px;
    display:flex;
    align-items:center;
    font-weight:500;
    color:#89bd4b;
    background:#fff;
    width:calc(100% - 50px);
    padding:0 30px 0 15px;
}

#service #faq .faqs .faq .question .arrow {
    width:8px;
    height:8px;
    border-top:#89bd4b 1px solid;
    border-right:#89bd4b 1px solid;
    transform:rotate(45deg);
    position:absolute;
    right:20px;
}

#service #faq .faqs .faq .question .arrow.after_arrow {
    transform:rotate(135deg);
    margin-bottom:5px;
}

#service #faq .faqs .faq .answer {
    display:none;
    margin-bottom:30px;
}

#service #faq .faqs .faq .answer .answer_cts {
    display:flex;
    justify-content:space-between;
}

#service #faq .faqs .faq .answer .answer_cts .a {
    width:50px;
    height:50px;
    font-size:120%;
    color:#89bd4b;
    border:#89bd4b 1px solid;
    display:flex;
    justify-content:center;
    align-items:center;
}

#service #faq .faqs .faq .answer .answer_cts p {
    width:calc(100% - 65px);
}

#service .overview {
}

#service .overview .details {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:50px;
}

#service .overview .details .detail {
    width:540px;
}

#service .overview .details .detail .name {
    font-size:180%;
    margin-bottom:20px;
}

#service .overview .details .detail .name:first-letter {
    color:#89bd4b;
}

#service .overview .details .detail .en {
    color:#89bd4b;
    margin-bottom:5px;
}

#service .overview .details .detail .facility_data {
}

#service .overview .details .detail .facility_data .data {
    border-bottom:#eee9e4 1px solid;
    padding:15px 0;
    display:flex;
}

#service .overview .details .detail .facility_data .data:nth-child(odd) {
    /*background:rgba(255,255,255,0.7);*/
}

#service .overview .details .detail .facility_data .data:first-child {
    border-top:#eee9e4 1px solid;
}

#service .overview .details .detail .facility_data .data .item {
    width:150px;
}

#service .overview .details .detail .facility_data .data .tx {
    width:calc(100% - 150px);
}

#service .overview .details .detail .facility_data .data .tx a {
    font-weight:500;
    color:#89bd4b;
    text-decoration:underline;
}

#service .overview .details .area {
    width:420px;
    text-align:center;
    border:#eee9e4 1px solid;
    background:#fff;
    padding:30px;
}

#service .overview .details .area .area_title {
    margin-bottom:10px;
}

#service .overview .details .area .area_title p {
    font-size:110%;
    font-weight:400;
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
}

#service .overview .details .area .area_title p:before {
    content:"";
    width:35px;
    height:1px;
    background:#787878;
    margin-right:10px;
}

#service .overview .details .area .area_title p:after {
    content:"";
    width:35px;
    height:1px;
    background:#787878;
    margin-left:10px;
}

#service .overview .details .area .area_map {
    width:300px;
    margin:0 auto 15px;
}

#service .overview .details .area .tx {
    font-size:80%;
}

#service .overview .access {
    width:100%;
    height:400px;
}

#service .back_btn {
    margin-top:50px;
}

#service #document {
    margin:70px 0 100px;
}

#service #document .tx {
    margin-bottom:15px;
}

#service #document .files {
    display:flex;
    justify-content:space-between;
}

#service #document .files .file {
    width:490px;
}

#service #document .files .file a {
    display:flex;
    justify-content:center;
    align-items:center;
    border:#89bd4b 1px solid;
    background:#fff;
    padding:20px;
    border-radius:10px;
}

#service #document .files .file a .name {
    font-size:110%;
    font-weight:500;
    color:#89bd4b;
}

#service #document .files .file a .type {
    font-size:90%;
    color:#89bd4b;
}

#service #document .files .file a .arrow {
    width:12px;
    height:12px;
    border-top:#89bd4b 1px solid;
    border-right:#89bd4b 1px solid;
    transform:rotate(45deg);
    margin-left:10px;
}



/*-----スマイルケア訪問看護ステーション-----*/
#service #home-nursing {
}

#service #home-nursing .explain {
    margin-bottom:100px;
}

#service #home-nursing .explain .details {
    display:flex;
    justify-content:space-between;
    flex-direction:row-reverse;
    position:relative;
}

#service #home-nursing .explain .details .blank {
    width:400px;
    height:300px;
}

#service #home-nursing .explain .details .detail {
    width:550px;
}

#service #home-nursing .explain .details .detail .subject {
    font-size:180%;
    line-height:150%;
    color:#89bd4b;
    margin-bottom:15px;
}

#service #home-nursing .explain .details .detail .photo {
    width:400px;
    position:absolute;
    top:0;
    right:0;
}

#service #home-nursing .explain .details .detail .tx {
    margin-bottom:15px;
}

#service #home-nursing .explain .details .detail .worries {
    margin-bottom:15px;
}

#service #home-nursing .explain .details .detail .worries .worry {
    border-bottom:#eee9e4 1px solid;
    display:flex;
    align-items:center;
    padding:15px 0;
}

#service #home-nursing .explain .details .detail .worries .worry:first-child {
    border-top:#eee9e4 1px solid;
}

#service #home-nursing .explain .details .detail .worries .worry img {
    width:18px;
    margin-right:10px;
}

#service #home-nursing .explain .details .detail .worries .worry p {
    font-weight:500;
}

#service #home-nursing .support {
    margin-bottom:100px;
}

#service #home-nursing .support .details {
    display:flex;
    flex-wrap:wrap;
    margin-bottom:15px;
}

#service #home-nursing .support .details .detail {
    width:235px;
    background:#fff;
    border:#eee9e4 1px solid;
    padding:20px;
    text-align:center;
    margin:0 20px 20px 0;
}

#service #home-nursing .support .details .detail:nth-child(4n) {
    margin-right:0;
}

#service #home-nursing .support .details .detail:nth-child(n+5) {
    margin-bottom:0;
}

#service #home-nursing .support .details .detail .icon {
    width:80px;
    margin:0 auto;
}

#service #home-nursing .support .details .detail .subject {
    font-size:100%;
    line-height:150%;
    color:#89bd4b;
    width:100%;
    height:60px;
    display:flex;
    justify-content:center;
    align-items:center;
}

#service #home-nursing .support .details .detail .tx {
    font-size:80%;
}

#service #home-nursing .support .attention {
    display:flex;
    font-size:70%;
}



/*-----デイサービスセンターほっとひと生き-----*/
#service #day-service {
}

#service #day-service .guide {
    margin-bottom:100px;
}

#service #day-service .guide .chapters {
}

#service #day-service .guide .chapters .chapter {
    display:flex;
    justify-content:space-between;
    border-bottom:#eee9e4 1px solid;
    padding-bottom:30px;
    margin-bottom:30px;
}

#service #day-service .guide .chapters .chapter:nth-child(even) {
    flex-direction:row-reverse;
}

#service #day-service .guide .chapters .chapter:last-child {
    border-bottom:none;
    padding-bottom:0;
    margin-bottom:0;
}

#service #day-service .guide .chapters .chapter .explain {
    width:480px;
}

#service #day-service .guide .chapters .chapter .explain .copies {
    margin-bottom:10px;
}

#service #day-service .guide .chapters .chapter .explain .copies .subcopy {
    font-weight:400;
    color:#89bd4b;
}

#service #day-service .guide .chapters .chapter .explain .copies .maincopy {
    font-size:180%;
    font-weight:400;
    color:#89bd4b;
}

#service #day-service .guide .chapters .chapter .explain .tx {
    margin-bottom:15px;
}

#service #day-service .guide .chapters .chapter .explain .points {
}

#service #day-service .guide .chapters .chapter .explain .points .point {
    border-bottom:#eee9e4 1px solid;
    display:flex;
    align-items:center;
    padding:15px 0;
}

#service #day-service .guide .chapters .chapter .explain .points .point:first-child {
    border-top:#eee9e4 1px solid;
}

#service #day-service .guide .chapters .chapter .explain .points .point img {
    width:18px;
    margin-right:10px;
}

#service #day-service .guide .chapters .chapter .explain .points .point p {
    font-weight:500;
}

#service #day-service .guide .chapters .chapter .photos {
    width:480px;
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
}

#service #day-service .guide .chapters .chapter .photos .photo {
    width:calc(50% - 5px);
    margin-bottom:10px;
}

#service #day-service .guide .chapters .chapter .photos .photo:nth-child(n+3) {
    margin-bottom:0;
}

#service #day-service .schedule {
    margin-bottom:100px;
}

#service #day-service .schedule .copies {
    margin-bottom:20px;
}

#service #day-service .schedule .copies .maincopy {
    font-size:150%;
    font-weight:400;
    color:#89bd4b;
}

#service #day-service .schedule .copies .copy {
}

#service #day-service .schedule .flows {
    display:flex;
    justify-content:center;
    align-items:center;
}

#service #day-service .schedule .flows .flow {
    width:80px;
    height:250px;
    border:#89bd4b 1px solid;
    background:#fff;
    padding:15px;
    display:flex;
    justify-content:flex-start;
    align-items:center;
    flex-direction:column;
    margin-right:25px;
    position:relative;
}

#service #day-service .schedule .flows .flow:after {
    content:"";
    width:25px;
    height:20px;
    background:#89bd4b;
    position:absolute;
    top:110px;
    right:-26px;
}

#service #day-service .schedule .flows .flow:last-child:after {
    display:none;
}

#service #day-service .schedule .flows .flow:last-child {
    margin-right:0;
}

#service #day-service .schedule .flows .flow .time {
    color:#89bd4b;
    border-bottom:#89bd4b 1px solid;
    margin-bottom:15px;
    text-align:center;
}

#service #day-service .schedule .flows .flow .tx {
    font-weight:500;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    color:#89bd4b;
}

#service #day-service .activity {
    margin-bottom:100px;
}

#service #day-service .activity .copies {
    margin-bottom:20px;
}

#service #day-service .activity .copies .maincopy {
    font-size:150%;
    font-weight:400;
    color:#89bd4b;
}

#service #day-service .activity .copies .copy {
}

#service #day-service .activity .events {
    display:flex;
    flex-wrap:wrap;
}

#service #day-service .activity .events .event {
    width:18%;
    margin:0 2.5% 2.5% 0;
}

#service #day-service .activity .events .event:nth-child(5n) {
    margin-right:0;
}

#service #day-service .activity .events .event .photo {
    margin-bottom:10px;
}

#service #day-service .activity .events .event .photo img {
    border-radius:50vw;
}

#service #day-service .activity .events .event .tx {
    font-size:90%;
    text-align:center;
}



/*-----ケアプランスマイル-----*/
#service #care-plan {
}

#service #care-plan .howtouse {
    margin-bottom:100px;
}

#service #care-plan .howtouse .flows {
}

#service #care-plan .howtouse .flows .flow {
    border:#89bd4b 1px solid;
    background:#fff;
    padding:25px 30px;
    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:30px;
}

#service #care-plan .howtouse .flows .flow:after {
    content:"";
    width:30px;
    height:30px;
    background:#89bd4b;
    position:absolute;
    bottom:-31px;
    left:0;
    right:0;
    margin:auto;
}

#service #care-plan .howtouse .flows .flow:last-child:after {
    display:none;
}

#service #care-plan .howtouse .flows .flow .illust {
    width:180px;
}

#service #care-plan .howtouse .flows .flow .detail {
    width:720px;
}

#service #care-plan .howtouse .flows .flow .detail .en {
    line-height:100%;
    margin-bottom:5px;
    color:#89bd4b;
}

#service #care-plan .howtouse .flows .flow .detail .item {
    font-size:150%;
    font-weight:400;
    line-height:135%;
    color:#89bd4b;
    margin-bottom:5px;
}

#service #care-plan .howtouse .flows .flow .detail .tx {
}

#service #care-plan .howtouse .flows .flow .detail .attention {
    font-size:80%;
    display:flex;
}

#service #care-plan .lineup {
    margin-bottom:100px;
}

#service #care-plan .lineup .details {
    display:flex;
    justify-content:space-between;
}

#service #care-plan .lineup .details .detail {
    width:235px;
}

#service #care-plan .lineup .details .detail .photo {
    margin-bottom:15px;
}

#service #care-plan .lineup .details .detail .tx {
    text-align:center;
}



/*-----宅食ライフスマイル港店-----*/
#service #etc {
}

#service #etc .etc_service {
    margin-bottom:100px;
}

#service #etc .etc_service .copies {
    margin-bottom:20px;
}

#service #etc .etc_service .copies .subcopy {
    font-weight:400;
    color:#89bd4b;
}

#service #etc .etc_service .copies .maincopy {
    font-size:180%;
    font-weight:400;
    color:#89bd4b;
}

#service #etc .etc_service .copies .copy {
}

#service #etc .etc_service .details {
    display:flex;
    flex-wrap:wrap;
}

#service #etc .etc_service .details .detail {
    width:310px;
    margin:0 35px 35px 0;
}

#service #etc .etc_service .details .detail:nth-child(3n) {
    margin-right:0;
}

#service #etc .etc_service .details .detail:nth-child(n+4) {
    margin-bottom:0;
}

#service #etc .etc_service .details .detail:last-child {
    margin-right:0;
}

#service #etc .etc_service .details .detail .photo {
    margin-bottom:15px;
}

#service #etc .etc_service .details .detail .en {
    color:#89bd4b;
}

#service #etc .etc_service .details .detail .item {
    font-size:120%;
    font-weight:400;
    color:#89bd4b;
    margin-bottom:5px;
}

#service #etc .etc_service .details .detail .tx {
}

#service #etc #bento {
    margin-bottom:100px;
}

#service #etc #bento .item {
    font-size:150%;
    font-weight:400;
    color:#89bd4b;
    text-align:center;
    margin-bottom:5px;
}

#service #etc #bento .copy {
    margin-bottom:15px;
}

#service #etc #bento .standard {
    border:#89bd4b 1px solid;
    padding:30px;
    background:#fff;
    margin-bottom:25px;
}

#service #etc #bento .standard .copy {
    margin-bottom:30px;
    text-align:center;
}

#service #etc #bento .standard .photo {
    width:500px;
    margin:0 auto 30px;
}

#service #etc #bento .standard .menus {
    display:flex;
    flex-wrap:wrap;
}

#service #etc #bento .standard .menus .menu {
    width:32%;
    margin:0 2% 2% 0;
    border:#89bd4b 1px dashed;
}

#service #etc #bento .standard .menus .menu:nth-child(3n) {
    margin-right:0;
}

#service #etc #bento .standard .menus .menu:nth-child(n+4) {
    margin-bottom:0;
}

#service #etc #bento .standard .menus .menu .dish {
    display:flex;
    align-items:center;
    background:#89bd4b;
}

#service #etc #bento .standard .menus .menu .dish .number {
    width:40px;
    height:100%;
    min-height:40px;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
}

#service #etc #bento .standard .menus .menu .dish .name {
    width:calc(100% - 40px);
    min-height:40px;
    display:flex;
    align-items:center;
    background:#f5faed;
    font-weight:400;
    color:#89bd4b;
    padding:0 12px;
}

#service #etc #bento .standard .menus .menu .tx {
    font-size:80%;
    padding:12px 15px;
}

#service #etc #bento .lineup {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
}

#service #etc #bento .lineup .bento {
    width:calc(50% - 15px);
    border:#89bd4b 1px solid;
    background:#fff;
    padding:30px;
    margin-bottom:30px;
}

#service #etc #bento .lineup .bento .products {
    display:flex;
    justify-content:space-between;
}

#service #etc #bento .lineup .bento .products .product {
    width:48.5%;
}

#service #etc #bento .lineup .bento .products .product .photo {
    margin-bottom:5px;
}

#service #etc #bento .lineup .bento .products .product .name {
    font-size:70%;
}



/*-----PHARMACY-----*/
#service #pharmacy {
}

#service #pharmacy .details .detail {
    width:100%;
}

#service #pharmacy .details .area {
    display:none;
}



/*-----●●●-----*/
#service #disability {
}



/*-----RECRUIT-----*/
#recruit {
}

#recruit .intro {
    margin-bottom:70px;
}

#recruit .intro .subject {
    font-size:180%;
    line-height:150%;
    color:#89bd4b;
    text-align:center;
    margin-bottom:15px;
}

#recruit .intro .illust {
    width:450px;
    margin:0 auto 30px;
}

#recruit .intro .tx {
    font-size:110%;
    font-weight:400;
    line-height:180%;
    letter-spacing:2px;
    text-align:center;
}

#recruit .banner {
    width:500px;
    margin:0 auto 100px;
}

#recruit .banner a {
    background:#fff;
    border:#eee 1px solid;
    padding:30px 50px;
    display:block;
}

#recruit .banner .tx {
    font-size:80%;
    margin-top:10px;
}

#recruit .recruit {
}

#recruit .recruit .tabs {
    display:flex;
    justify-content:center;
    border-bottom:#89bd4b 1px solid;
    position:relative;
    margin-bottom:50px;
}

#recruit .recruit .tabs .tab {
    border:#89bd4b 1px dotted;
    border-bottom:#89bd4b 1px solid;
    background:#fff;
    text-align:center;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:10px 20px;
    margin-right:12px;
    position:relative;
    bottom:-1px;
    border-radius:10px 10px 0 0;
    cursor:pointer;
}

#recruit .recruit .tabs .tab:last-child {
    margin-right:0;
}

#recruit .recruit .tabs .tab p {
    line-height:150%;
    color:#89bd4b;
}

#recruit .recruit .tabs .tab.on {
    border:#89bd4b 1px solid;
    background:#fffcf5;
    border-bottom:none;
    z-index:1;
}

#recruit .recruit .jobs {
    width:1000px;
    margin:auto;
}

#recruit .recruit .jobs .job {
}

#recruit .recruit .jobs .job.job2,
#recruit .recruit .jobs .job.job3 {
    display:none;
}

#recruit .recruit .jobs .job .category {
    border-left:#89bd4b 4px solid;
    padding:3px 0 3px 10px;
    font-weight:400;
    color:#89bd4b;
    margin-bottom:10px;
}

#recruit .recruit .jobs .job .introduction {
    display:flex;
    justify-content:space-between;
    position:relative;
    margin-bottom:50px;
}

#recruit .recruit .jobs .job .introduction .blank {
    width:400px;
    height:300px;
}

#recruit .recruit .jobs .job .introduction .info {
    width:550px;
}

#recruit .recruit .jobs .job .introduction .info .facility {
}

#recruit .recruit .jobs .job .introduction .info .facility p {
    font-size:90%;
    background:#f0f5e1;
    color:#89bd4b;
    padding:3px 5px;
    display:inline-block;
    margin-bottom:10px;
}

#recruit .recruit .jobs .job .introduction .info .types {
    margin-bottom:20px;
}

#recruit .recruit .jobs .job .introduction .info .types .type {
    line-height:100%;
    padding:5px 8px;
    color:#fff;
    background:#89bd4b;
    display:inline-block;
}

#recruit .recruit .jobs .job .introduction .info .photo {
    width:400px;
    position:absolute;
    top:0;
    left:0;
}

#recruit .recruit .jobs .job .introduction .info .target {
    font-size:200%;
    line-height:135%;
    color:#89bd4b;
    margin-bottom:10px;
}

#recruit .recruit .jobs .job .introduction .info .copy {
    line-height:180%;
}

#recruit .recruit .jobs .job .details {
    margin-bottom:30px;
}

#recruit .recruit .jobs .job .details .detail {
    padding:20px 25px;
    border-bottom:#eee9e4 1px solid;
    display:flex;
    justify-content:space-between;
}

#recruit .recruit .jobs .job .details .detail:nth-child(odd) {
    background:rgba(255,255,255,0.7);
}

#recruit .recruit .jobs .job .details .detail:first-child {
    border-top:#eee9e4 1px solid;
}

#recruit .recruit .jobs .job .details .detail .item {
    width:150px;
}

#recruit .recruit .jobs .job .details .detail .tx {
    width:calc(100% - 200px);
}

#recruit .recruit .jobs .job .attention {
    margin-bottom:30px;
}

#recruit .recruit .jobs .job .job_contact {
    border:#89bd4b 1px solid;
    background:#fff;
    padding:30px;
    text-align:center;
}

#recruit .recruit .jobs .job .job_contact .contact_item {
    text-align:center;
    margin-bottom:10px;
}

#recruit .recruit .jobs .job .job_contact .contact_item p {
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:120%;
    font-weight:400;
    color:#89bd4b;
}

#recruit .recruit .jobs .job .job_contact .contact_item p:before {
    content:"";
    width:50px;
    height:1px;
    background:#89bd4b;
    margin-right:10px;
}

#recruit .recruit .jobs .job .job_contact .contact_item p:after {
    content:"";
    width:50px;
    height:1px;
    background:#89bd4b;
    margin-left:10px;
}

#recruit .recruit .jobs .job .job_contact .address {
}

#recruit .recruit .jobs .job .job_contact .tel {
}

#recruit .recruit .jobs .job .job_contact .cta_btn {
    margin-top:15px;
    text-align:center;
}

#recruit .recruit .jobs .job .job_contact .cta_btn .btn {
    display:inline-block;
}

#recruit .recruit .jobs .job .job_contact .cta_btn .btn a {
    display:flex;
    justify-content:center;
    align-items:center;
    background:#89bd4b;
    padding:15px 25px;
}

#recruit .recruit .jobs .job .job_contact .cta_btn .btn a img {
    width:25px;
    margin-right:10px;
}

#recruit .recruit .jobs .job .job_contact .cta_btn .btn a p {
    font-size:110%;
    color:#fff;
}



/*----- CONTACT -----*/
#contact {
}

#contact .cts {
}

#contact .corner {
    text-align:center;
}

#contact .intro {
    margin-bottom:50px;
    text-align:center;
}

#contact .intro h2 {
    font-size:220%;
    font-weight:500;
    color:#89bd4b;
    margin-bottom:5px;
}

#contact .intro .tx {
}

#contact h3 {
    border-left:#89bd4b 5px solid;
    padding:3px 0 3px 10px;
    margin-bottom:10px;
    font-weight:600;
}

#contact #contact_tel {
    margin-bottom:50px;
    display:none;
}

#contact #contact_tel .tel_cts {
    background:#fafafa;
    padding:20px 30px;
    text-align:center;
}

#contact #contact_tel .tel_cts .item {
    margin-bottom:5px;
}

#contact #contact_tel .tel_cts .number {
    font-size:180%;
    font-weight:600;
    line-height:100%;
}

#contact #contact_form {
}

#contact #contact_form .form_cts {
}

#contact #contact_form .form_cts {
}

#contact #contact_form .form_cts .copy {
    margin-bottom:20px;
}

#contact #contact_form .form_cts .copy .tx {
}

#contact #contact_form .form_cts .copy .attention {
    font-size:80%;
    margin-top:3px;
}

#contact #contact_form .form_cts .forms {
}

#contact #contact_form .form_cts .forms .form {
    border-bottom:#f0f0f0 1px solid;
    padding:20px 0;
    display:flex;
    justify-content:space-between;
}

#contact #contact_form .form_cts .forms .form:first-child {
    border-top:#f0f0f0 1px solid;
}

#contact #contact_form .form_cts .forms .form .items {
    width:25%;
    display:flex;
    align-items:center;
}

#contact #contact_form .form_cts .forms .form .items .required {
    font-size:70%;
    line-height:100%;
    padding:3px 5px;
    margin-right:10px;
    border:#ffb41e 1px solid;
    color:#ffb41e;
}

#contact #contact_form .form_cts .forms .form .items .any {
    font-size:70%;
    line-height:100%;
    padding:3px 5px;
    margin-right:10px;
    border:#aaa 1px solid;
    color:#aaa;
}

#contact #contact_form .form_cts .forms .form .items .item {
    font-weight:400;
}

#contact #contact_form .form_cts .forms .form .detail {
    width:75%;
}

#contact #contact_form .form_cts .forms .form:nth-last-child(-n+2) {
    align-items:flex-start;
}

#contact #contact_form .form_cts .forms .form .detail .field p {
    display:flex;
    align-items:center;
    position:relative;
}

#contact #contact_form .form_cts .forms .form .detail .field p label {
    cursor:pointer;
    padding-left:5px;
    font-weight:500;
    color:#787878;
    position:relative;
}

#contact #contact_form .form_cts .forms .form .detail .field p label:before {
    content:"";
    width:15px;
    height:15px;
    border:#787878 1px solid;
    display:inline-block;
    position:absolute;
    top:5px;
    left:-20px;
}

#contact #contact_form .form_cts .forms .form .detail .field p label:after {
    content:"";
    width:10px;
    height:15px;
    border-right:#ffb41e 2px solid;
    border-bottom:#ffb41e 2px solid;
    display:block;
    transform:rotate(45deg);
    position:absolute;
    top:0;
    left:-13px;
    opacity:0;
}

#contact #contact_form .form_cts .forms .form .detail input[type="radio"] {
    width:20px;
    visibility:hidden;
}

#contact #contact_form .form_cts .forms .form .detail input[type="radio"]:checked + label:after {
    opacity:1;
}



/*FORM*/
input,textarea,select {
    padding:15px 18px;
}

form .style_facility {
    width:50%;
}

form .style_type {
}

form .style_company {
    width:50%;
}

form .style_name {
    width:50%;
}

form .style_kana {
    width:50%;
}

form .style_mail {
    width:80%;
}

form .style_tel {
    width:30%;
}

form .style_select {
    width:40%;
}

form .style_detail {
    width:100%;
    height:250px;
    vertical-align:top;
}

form .btns {
    display:flex;
    justify-content:center;
    align-items:center;
    margin-top:20px;
}

form .warning {
    font-size:80%;
}

form .warning.block {
    display:block;
    line-height:100%;
    margin-top:10px;
    color:#ffb41e;
}

form .btns .btn {
    margin:0 10px;
}

form .btns .btn input:hover {
    -webkit-animation:hover 0.5s ease forwards;
    animation:hover 0.5s ease forwards;
}

form .btns .btn .style_submit {
    border:none;
    background:#ffb41e;
    width:200px;
    padding:15px;
    cursor:pointer;
    color:#fff;
    font-weight:600;
}

#contact .btns .btn .accepted:disabled {
    background:#ddd;
    pointer-events:none;
}

form .btns .btn .style_fix {
    border:none;
    background:#ccc;
    color:#fff;
    width:200px;
    padding:15px;
    cursor:pointer;
}

form .detail .privacy_policy {
}

form .detail .privacy_policy .privacies {
    height:250px;
    border:#e1e1e1 1px solid;
    padding:20px 25px;
    overflow-y:scroll;
    margin-bottom:12px;
}

form .detail .privacy_policy .privacies .privacy {
    border-bottom:#f0f0f0 1px solid;
    padding-bottom:15px;
    margin-bottom:15px;
}

form .detail .privacy_policy .privacies .privacy:last-child {
    border-bottom:none;
    padding-bottom:0;
    margin-bottom:0;
}

form .detail .privacy_policy .privacies .privacy .attention {
    display:flex;
    font-size:80%;
    padding-top:5px;
}

form .detail .privacy_policy .privacies .privacy .subject {
    font-size:80%;
    font-weight:500;
    margin-bottom:3px;
}

form .detail .privacy_policy .privacies .privacy .tx {
    font-size:80%;
}

form .detail .privacy_policy .privacies .privacy ul {
}

form .detail .privacy_policy .privacies .privacy ul li {
    display:flex;
}

form .detail .privacy_policy .privacies .privacy ul li p {
    font-size:80%;
}

form .detail .consent_cap {
    padding-bottom:12px;
}

form .detail .consent {
    display:flex;
    align-items:center;
    position:relative;
}

form .detail .consent label {
    cursor:pointer;
    padding-left:5px;
    font-weight:500;
    color:#787878;
    position:relative;
}

form .detail .consent label:before {
    content:"";
    width:15px;
    height:15px;
    border:#787878 1px solid;
    display:inline-block;
    position:absolute;
    top:5px;
    left:-20px;
}

form .detail .consent label:after {
    content:"";
    width:10px;
    height:15px;
    border-right:#ffb41e 2px solid;
    border-bottom:#ffb41e 2px solid;
    display:block;
    transform:rotate(45deg);
    position:absolute;
    top:0;
    left:-13px;
    opacity:0;
}

form .detail input[type="checkbox"] {
    width:20px;
    visibility:hidden;
}

form .detail input[type="checkbox"]:checked + label:after {
    opacity:1;
}



/*THANKS*/
#contact .thanks h2 {

}
 
#contact .thanks .intro {
    margin-bottom:30px;
}

#contact .thanks .attention {
}

#contact .thanks .attention p {
    justify-content:center;
}



/*-----PRIVACY POLICY-----*/
#privacy {
}

#privacy .privacies {
}

#privacy .privacies .privacy {
    border-bottom:#f0f0f0 1px solid;
    padding-bottom:20px;
    margin-bottom:20px;
}

#privacy .privacies .privacy:last-child {
    border-bottom:none;
    padding-bottom:0;
    margin-bottom:0;
}

#privacy .privacies .privacy .attention {
    display:flex;
    padding-top:5px;
}

#privacy .privacies .privacy .subject {
    font-weight:600;
    margin-bottom:3px;
}

#privacy .privacies .privacy .tx {
}

#privacy .privacies .privacy ul {
}

#privacy .privacies .privacy ul li {
    display:flex;
}

#privacy .privacies .privacy ul li p {
    font-size:80%;
}








.circle-arrow{
  --c:#2aa84a;          /* 緑 */
  --size:120px;         /* 円のサイズ */
  --stroke:2px;         /* 線の太さ */

  width:20px;
  height:20px;
  display:inline-block;
  position:relative;
  border:#000 1px solid;
  border-radius:50%;
  box-sizing:border-box;
}

/* 矢印の横線 */
.circle-arrow::before{
  content:"";
  position:absolute;
  top:50%;
  left:28%;
  width:44%;
  height:1px;
  transform:translateY(-50%);
  border-radius:999px;
}

/* 矢印の先（＞部分） */
.circle-arrow::after{
  content:"";
  position:absolute;
  top:50%;
  left:56%;
  width:20px;
  height:20px;
  border-top:#000 1px solid;
  border-right:#000 1px solid;
  transform:translateY(-50%) rotate(45deg);
  box-sizing:border-box;
}



/*-----GLOBAL-----*/
#global {
}

#global .nav_btn {
    display:none;
}

#global .nav_close {
    display:none;
}

#global .global_nav {
    display:flex;
    justify-content:flex-end;
    align-items:center;
}

#global .global_nav nav {
}

#global .global_nav .grnav {
    margin-right:25px;
    cursor:pointer;
}

#global .global_nav nav a {
}

#global .global_nav nav .jp {
    font-size:100%;
    font-weight:500;
    letter-spacing:2px;
    line-height:100%;
}

#global .global_nav nav .en {
    font-size:70%;
    font-weight:300;
    font-style:italic;
    line-height:100%;
    color:#787878;
}

#global .global_nav .grnav.cta {
}

#global .global_nav .grnav.cta a {
    width:130px;
    height:70px;
    background:#89bd4b;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
}

#global .global_nav .grnav.cta a img {
    width:30px;
    margin-bottom:8px;
}

#global .global_nav .grnav.cta a p {
    font-size:90%;
    line-height:100%;
    letter-spacing:1px;
    color:#fff;
}

#global .global_nav .open_nav {
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    height:60px;
    padding:15px 0;
}

#global .global_nav .open_nav nav {
}

#global .global_nav .open_nav.grnav {
    border-left:none;
}

#global .global_nav .navies {
    display:none;
    position:absolute;
    top:60px;
    width:240px;
}

#global .global_nav .navies .navi {
    border:#89bd4b 1px solid;
    border-top:none;
    background:#fff;
}

#global .global_nav .navies .navi:first-child {
    border-top:#89bd4b 1px solid;
}

#global .global_nav .navies .navi a {
    background:rgba(255,255,255,0.9);
    padding:10px 12px;
    display:flex;
    align-items:center;
    position:relative;
}

#global .global_nav .navies .navi a p {
    font-size:75%;
    font-weight:400;
    line-height:135%;
    letter-spacing:0;
    color:#89bd4b;
}

#global .global_nav .navies.show {
    display:block;
}

#global .global_nav .nav_cta {
}

#global .global_nav .nav_cta a {
    display:flex;
    justify-content:center;
    align-items:center;
    width:170px;
    height:56px;
    background:#89bd4b;
    border-radius:4px;
}

#global .global_nav .nav_cta img {
    width:34px;
    margin-right:12px;
}

#global .global_nav .nav_cta a .jp {
    font-size:90%;
    line-height:100%;
    letter-spacing:0;
    color:#fff;
}

#global .global_nav .nav_cta a .en {
    font-size:70%;
    line-height:100%;
    color:#fff;
}



/*-----BACK TO TOP-----*/
.BackToTop {
    position:fixed;
    width:40px;
    height:40px;
    right:15px;
    bottom:15px;
    z-index:100;
    display:none;
}

.BackToTop img {
    border-radius:30vw;
}



/*-----SNS-----*/
.sns {
    position:fixed;
    bottom:20px;
    left:20px;
    z-index:1000;
}

.sns .instagram {
    width:35px;
}



/*-----FOOTER-----*/
footer {
    padding:50px 0 25px;
}

footer .cts {
    width:1100px;
}

footer .footer_cts {
    display:flex;
    justify-content:space-between;
    margin-bottom:70px;
}

footer .footer_cts .info {
}

footer .footer_cts .info .logo {
    width:250px;
    margin-bottom:15px;
}

footer .footer_cts .info .name {
    font-size:90%;
    font-weight:500;
    margin-bottom:2px;
}

footer .footer_cts .info .address {
    font-size:80%;
    margin-bottom:2px;
}

footer .footer_cts .info .number {
    font-size:80%;
    margin-bottom:2px;
}

footer .footer_cts .info .tel {
    display:flex;
    align-items:center;
}

footer .footer_cts .info .tel img {
    width:18px;
    margin-right:5px;
}

footer .footer_cts .info .tel p {
    font-size:135%;
}

footer .footer_cts .links {
    display:flex;
}

footer .footer_cts .links .link {
    margin-left:40px;
}

footer .footer_cts .links .link ul {
    margin-bottom:20px;
}

footer .footer_cts .links .link ul:last-child {
    margin-bottom:0;
}

footer .footer_cts .links .link ul li {
}

footer .footer_cts .links .link ul li.item p {
    font-weight:600;
    color:#89bd4b;
    margin-bottom:3px;
}

footer .footer_cts .links .link ul li p {
    font-size:75%;
}

footer .copyright {
    font-size:70%;
    text-align:center;
}






/*----- SWIPER -----*/
/* 前へ次への矢印カスタマイズ */
.swiper-button-prev::after,
.swiper-button-next::after {
    content: "";
    height: 0;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 0;
}
/* 前への矢印カスタマイズ */
.swiper-button-prev::after {
    width:30px;
    height:30px;
    border-left:2px #000 solid;
    border-bottom:2px #000 solid;
    transform:rotate(45deg);
    left:30px;
}
/* 次への矢印カスタマイズ */
.swiper-button-next::after {
    width:30px;
    height:30px;
    border-top:2px #000 solid;
    border-right:2px #000 solid;
    transform:rotate(45deg);
    right:30px;
}





}