@charset "utf-8";
/* CSS Document */

@media only screen and (min-width: 769px) {
    /*ここにpc用スタイルを記述*/

}

/* tablet  */
@media only screen and (min-width: 481px) and (max-width: 768px) {
    /*ここにtablet用スタイルを記述*/
    section#o_box_topics,
    section#o_box_info {
        padding: 0 20px;
    }
    body.top {
        margin-top: 55px !important;
    }
    /*#top .topics li, #o_box_info li {
		margin-right:2%;
		margin-bottom:2%;
}
#top #container .marker{
	margin-right:0;
}
#top #container .topics li, #o_box_info li {
    width: 49% !important;
}*/

    #container #mainvisual img {
        padding: 10%;
    }
    #container .topics li,
    #container #o_box_info li,
    #container .topics li.last {
        width: 50%;
    }
    /*
#container .topics li{
	margin-bottom:2%;
}*/
    #container .marker {
        margin-right: 0;
    }
}

/* smartPhone */
@media screen and (max-width: 480px) {
    /*ここにスマホ用スタイルを記述*/
    body.top {
        margin-top: 55px !important;
    }
    #container #mainvisual {
        margin-top: 55px;
    }
    section#o_box_topics,
    section#o_box_info {
        padding: 0 20px;
    }
    #top #container .topics li,
    #o_box_info li,
    #top #container .topics li.last {
        width: 100% !important;
    }
    #top .topics li,
    #top .topics li.last,
    #o_box_info li {
        margin-bottom: 2%;
    }
    #container #sub_visual li {
        width: 100%;
        border-bottom: none;
        border-right: none;
    }
    section#o_box_pickup li {
        float: none;
        width: 100%;
    }
    #container #mainvisual img {
        width: 100%;
        padding: 9%;
    }

    #top .swiper-button-prev,
    #top .swiper-button-next {
        width: 25px;
        height: 25px;
    }
    .swiper-button-next,
    .swiper-button-prev {
        background-size: contain !important;
    }
    #top #mainvisual img {
        width: 98%;
        padding: 10%;
    }
    #container .topics li,
    #container .topics li.last,
    #o_box_info li {
        width: 50%;
    }
    #container .marker {
        margin-right: 0;
    }
    #container .swiper-button-prev,
    #container .swiper-button-next {
        position: absolute;
        top: 56%;
        width: 25px;
        height: 25px;
        right: 0;
    }
    body .swiper-button-prev,
    .swiper-container-rtl .swiper-button-next {
        left: 0;
    }
    body .col48 {
        float: none;
        width: 100%;
    }
}


/*-----------------------------
リセット
---------------------------*/
ul,
ol,
li {
    list-style: none;
}
html,
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
table,
th,
tr,
td,
img {
    margin: 0;
    padding: 0;
}

img {
    -ms-interpolation-mode: bicubic;
}

/*-----------------------------
top
---------------------------*/
section#o_box_pickup {
    overflow: hidden;
}
#mainvisual a:hover,
#mainvisual a img:hover {
    opacity: 0.9;
}

.wrap_pan {
    display: none;
}
#mainvisual {
    background: url(top_img/img00.jpg) no-repeat top center;
    background-size: cover;
}
#mainvisual img {
    padding: 8%;
    width: 100%;
}
#sub_visual li {
    float: left;
    width: 33.3333333%;
    border-top: solid 1px #ffffff;
    border-bottom: solid 1px #ffffff;
    border-right: solid 1px #ffffff;
}
#sub_visual li img {
    width: 100%;
    padding: 0;
}
.date {
    color: #666666;
}
.topics_txt {
    margin-top: 8px;
}
.topics ul,
#o_box_info ul {
    margin-left: -6px;
    margin-right: -6px;
    overflow: hidden;
}
#container .topics li,
#container .topics li.last,
#o_box_info li {
    width: 50%;
    float: left;
    padding-left: 6px;
    padding-right: 6px;
    margin-bottom: 6px;
    /*margin-right:2%;*/
}
.topics li img,
#o_box_info li img {
    width: 100%;
}
.category-btn li {
    padding: 5px !important;
    text-align: center;
    letter-spacing: 0.1rem;
}
.category-btn li a {
    display: block;
    color: #ffffff;
}
ul.topics {
    overflow: hidden;
}
.txtR {
    text-align: right;
    margin-top: 10px;
}
@media only screen and (min-width: 769px) {
    #container .topics li,
    #container .topics li.last,
    #o_box_info li {
        width: 25%;
    }
    #container .info_wrapper li {
        width: 20%;
    }
}
.info_wrapper {
    max-width: 875px;
    margin: 0 auto;
}
.info_wrapper ul {
    overflow: hidden;
}
.info_detail_wrapper {
    margin-top: 15px;
    border: solid 1px #CCCCCC;
    overflow: hidden;
    padding: 15px;
    height: 400px;
    overflow-y: scroll;
    position: relative;
}

#o_box_topics,
#o_box_info {
    max-width: 1030px;
    width: 100%;
    padding: 0 20px;
}
#o_box_pickup li {
    float: left;
    width: 50%;
}
#o_box_pickup li img {
    width: 100%;
}
.info_date {
    float: left;
    margin-right: 5px;
    color: #999999;
}
.info-block dt {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.info_icon {
    vertical-align: middle;
    display: inline-block;
    /* margin-right: 5px; */
    /* color: #999999; */
    margin-left: 0.5em;
    padding: 0.75em 2em 0.75em 2.15em;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: .15em;
    line-height: 1;
}
.info_icon.info_icon_dietetics{
    color: #4595D2;
    background-color: #cce9ff;
}
.info_icon.info_icon_children{
    color: #faba03;
    background-color: #fff8e4;
}
.info_icon.info_icon_nursing{
    color: #F29CA7;
    background-color: #fdedef;
}
.info_icon.info_icon_center{
    color: #7dcdbd;
    background-color: #e0f3ef;
}
.info_txt {
    text-decoration: underline;
    margin-bottom: 1.2rem;
}
.info-block {
    color: #666666;
}

/* -------------------------------------------------------
contact
------------------------------------------------------- */
.contact_list {
    border-bottom: dotted 1px #CCCCCC;
    overflow: hidden;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

/* -------------------------------------------------------
sitemap
------------------------------------------------------- */
.clm {
    overflow: hidden;
    margin-bottom: 20px;
}

.ttl_large {
    margin-bottom: 10px;
}
.indent {
    padding-left: 1.2em;
}

/* -------------------------------------------------------
privacy policy
------------------------------------------------------- */
.clm dd {
    padding: 0 0 25px 18px;
}
.clm li {
    padding-left: 5px;
}
.list_none li {
    list-style: none;
}

/* -------------------------------------------------------
swiper
------------------------------------------------------- */
.swiper-container {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    /* Fix of Webkit flickering */
    z-index: 1;
}

/* -------------------------------------------------------
フィルタリング
-------------------------------------------------------
.category-btn li a.is-current {
  pointer-events: none;
}*/
.info {
    margin: 0 auto;
    padding: 0;
    width: 100% !important;
}
.info dl {
    width: 100% !important;
}
.info .info-block {
    display: none;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    width: 853px;
    height: auto;
    position: static !important;
}
body.category-all .item-all,
body.category-dietetics .item-dietetics,
body.category-children .item-children,
body.category-nursing .item-nursing,
body.category-others .item-others {
    display: block;
    -webkit-animation: show .5s linear 0s forwards;
    animation: show .5s linear 0s forwards;
}
@-webkit-keyframes show {
    from {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    }
    to {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    }
}
@keyframes show {
    from {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    }
    to {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    }
}

@media screen and (max-width: 768px) {
    #container .topics li,
    #container .topics li.last {
        float: none;
        width: 100%;
        margin-bottom: 15px;
        padding-bottom: 15px;
        border-bottom: 1px solid #EEEEEE;
    }
    #container .topics li a {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .topics li img {
        max-width: 150px;
        width: 30%;
        margin-right: 5%;
        border: 1px solid #EEEEEE;
    }
    .topics li .topics_txt {
        width: 67%;
        margin-top: 0;
    }
    #o_box_topics .txtR {
        margin-top: 0;
    }
    /* #o_box_topics .txtR a {
        display: flex;
        justify-content: flex-end;
        align-items: center;
    } */
}