@charset "utf-8";
body {
    font-size: 16px;
    font-family: "Roboto", "Noto Sans JP", "Droid Sans", "Verdana", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "游ゴシック", "YuGothic", sans-serif;
    overflow-x: hidden;
    font-feature-settings : "pkna";
     color: #0f1419;
    background: #F8F5EF;
}
/*------------------------------全体の設定*/

main {
    width: 1200px;
    margin: 0 auto;
}
.top_btn {
    background-image: url("../img/top_btn.png");
    background-size: cover;
    background-repeat: no-repeat;
    width: 60px;
    height: 60px;
}
.pc_img{
    display: block;
}
.sp_img{
        display: none;
    }

p {
    text-align: justify;
    text-justify: inter-ideograph;
    line-height: 2em;
}
/*-----------*/ 


/*------------------------------全体の設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 999px) {
main {
    width: 700px;
    margin: 0 auto;
}	
.top_btn {
    background-image: url("../img/top_btn.png");
    background-size: cover;
    background-repeat: no-repeat;
    width: 60px;
    height: 60px;
}

}

/*-----------*/ 

/*------------------------------全体の設定*/
/*----------------------------------------------スマホ*/
@media (max-width: 640px) {
main, footer {
    width: 100vw;
    margin: 0 auto;
    overflow-y: hidden;
}	
.top_btn {
    background-image: url("../img/top_btn.png");
    background-size: cover;
    background-repeat: no-repeat;
    width: 50px;
    height: 50px;
    bottom: 5vw;
    right: 5vw;
}
  
.pc_img{
    display: none;
}    
    .sp_img{
        display: block;
    }    

p {
    line-height: 1.8em;
    font-size: 4.5vw;
}
}
/*-----------*/ 

/*------------------------------ヘッダーPC*/
header {
    background: #fff;
    margin: 0 auto;
}
header .title_logo_img {
    width: 180px;
    margin: 15px 0 15px 15px;
}
header h1 {
    width: 100%;
    background: #2554b7;
    text-align: center;
    padding: 5px 0 0;
    margin: 0 auto;
}
header h1 img{
    width: 700px;
    object-fit: cover;
    margin: 0 auto;
}
/*-----------*/ 

/*------------------------------ヘッダー*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 999px) {
header .title_logo_img {
    width: 150px;
}
header h1 img{
    width: 660px;
}
}

/*-----------*/ 

/*------------------------------ヘッダー*/
/*----------------------------------------------スマホ*/
@media (max-width: 640px) {
header .title_logo_img {
    width: 35vw;
    margin: 3vw;
}
header h1 {
    padding: 1vw 0 0;
}
header h1 img{
    width: 100%;
    object-fit: contain;
}
}
/*-----------*/ 



/*-----------------------------大枠の設定*/
.menu_flex{
    display: flex;
    flex-direction: row-reverse;
    align-content: space-between;
}
#list{
    width: 900px;
}
#side_menu{
    width: 330px;
	margin: 0 0 0 10px;
}
/*-----------*/

/*------------------------------大枠の設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 999px) {
.menu_flex{
    display: block;
    align-content:center;
}
#list{
    width: 700px;
}
#side_menu{
    width: 100%;
	margin: 0 auto;
}
}

/*-----------*/ 

/*-----------------------------大枠の設定*/
/*----------------------------------------------スマホ*/
@media (max-width: 640px) {
.menu_flex{
    display: block;
    align-content:center;
}
#list{
    width: 90vw;
    margin: 0 auto;
}
#side_menu{
    width: 100%;
	margin: 0 auto;
}
}
/*-----------*/ 


/*------------------------------リストの設定*/
#article-list{
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
    margin: 40px auto 0;
}
.card {
    width: 46%;
    background: #fff;
    border-radius: 15px;
    box-shadow: 2px 2px 10px 0 #DDDDDD;
    margin:0 auto 40px 0;
}
.card img{
    border-radius: 15px 15px 0 0;
}
.card h2 {
    line-height: 1.6em;
    font-size: 1.1em;
    font-weight: 600;
    padding:30px; 
}
.card a{
    color: #333;
  text-decoration: none;
}

/*ページネーションの設定*/
.pagination{
    text-align: center;
}
.pagination button{
    font-size: 1em;
    margin: 20px 10px 0;
}
.pagination button.active{
    color: #2554b7;
}


/*-----------*/


/*------------------------------リストの設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 999px) {
.card {
    width: 48%;
    margin:0 auto 20px 0;
}
    .card:nth-child(2n){
        margin:0 0 20px;    
    }    
.card h2 {
    font-size: .9em;
    padding:0 10px; 
  margin: 10px auto 0;
}

.pagination button{
    margin: 40px 20px 0;
}
    
    
}

/*-----------*/ 


/*-----------------------------リストの設定*/
/*----------------------------------------------スマホ*/
@media (max-width: 640px) {
#article-list{
    margin: 5vw auto 0;
}
.card {
    width: 43vw;
    border-radius: 2vw;
    box-shadow: .2vw .2vw 1vw 0 #DDDDDD;
    margin:0 auto 5vw 0;
}
    .card:nth-child(2n) {
        margin:0 0 5vw 0;
    }    
.card img{
    width: 120%;
    height: 35vw;
    border-radius: 2vw 2vw 0 0;
    object-fit: cover;
}
.card h2 {
    font-size: 3.2vw;
    font-weight: normal;
    padding:2vw 4vw 4vw; 
}


/*ページネーションの設定*/
.pagination button{
    background: #2554b7;
    color: #fff;
    font-size: 3.5vw;
    padding: 2vw 3vw;
    margin: 5vw 1vw;
}
.pagination button.active{
    color: #fff;
    background: #fbb03b;
}

}
/*-----------*/ 



/*------------------------------サイドメニューの設定*/

.navBtn{
    display: none;
}

.side_contents{
    margin: 40px 0 20px;
}

/*カテゴリーの設定*/
/*.category_title{
     color: #2554b7;
    font-size: 1em;
    font-weight: 600;
    text-align: center;
    margin: 0 0;
}
*/
.disease-buttons{
      background: #fff;
    border-radius: 10px;
    padding:15px 15px;
    margin:  0 0 50px;
}

.disease-buttons button {
    width: 100%;
    color: #2554b7;
    font-size: 1.1em;
    text-align: left;
    border-bottom:1px solid #2554b7;
    padding: 15px 10px;
  cursor: pointer;
}

.disease-buttons button:nth-last-child(1) {
    border-bottom:none;
}
.disease-buttons button.active {
  background:  #FFFCE4;
}


.disease-icon {
  width: 20px;
  height: 20px;
}

/*タグの設定*/
.actions-checkboxes{
    background: #fff;
    border-radius: 0 0 15px 15px;
    padding: 0 0 20px;
    margin: 0 0 50px;
}

.actions-checkboxes label {
    color:#555;
    font-size: 1em;
    margin: 15px 10px 0 0;
}
.actions-checkboxes input{
    /*display: none;*/
    margin: 0 2px 0 0;
}

/* label.active {
    background: #F7E185;
}*/

details {
  border-bottom: 1px dotted #2554b7;
  padding:15px;
}

summary {
    color: #2554b7;
    font-size: 1em;
    font-weight: 600;
  cursor: pointer;
}

.card .meta {
  font-size: 0.9em;
    font-weight: normal;
  color: #555;
}

/*人気の記事の設定*/
#pickup{
    margin: 0 0 50px;
}

#pickup .pickup_card{
    padding: 10px 0;
}

#pickup .pickup_card a{
    display: flex;
    align-content: center;
    align-items: center;
    color: #0f1419;
    font-size: .8em;
    text-decoration: none;
}

#pickup .pickup_card img{
    width: 110px;
    height: 60px;
    object-fit: cover;
    margin: 0 10px 0 0;
}

/*検索窓の設定*/
#search{
    margin: 20px 0;
}

#___gcse_0 .gsc-control-cse,#___gcse_0 .gsc-control-cse-ja {
    background-color:#F8F5EF;
    border: none;
}
.gsc-control-cse {
    padding:0 0;
}



/*-----------*/


/*------------------------------サイドメニューの設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 999px) {
/*ここからナビ*/
nav{
    width:45%;
    height:100%;
    background: #F8F5EF;
	position:fixed;
    top:0;
	right: 0;
	bottom: 0;
    z-index:9999;
    visibility:hidden;
    transition:0s;
    overflow: auto;
  }
.nav_list {
	margin:100px 5%;
}

/*--openNav---*/
.openNav nav{
    visibility:visible;
  }
/*---------------------
navigation btn
----------------------*/
.navBtn{
    display: block;
    width:50px;
    height:50px;
    cursor:pointer;
    background:#2554b7;
    text-align: center;
    border-radius: 50%;
    position:fixed;
    top:10px;
    right:10px;
    z-index: 999999;
  }
.navBtn img{
    display: block;
    width: 25px;
    object-fit: contain;
    margin: 16px auto;
  }

.icon-close {
  display: none;
}

.openNav .icon-open {
  display: none;
}

.openNav .icon-close {
  display: inline;
    font-size: 2em;
    font-weight: 600;
    color: #fff;
}    
    
}

/*-----------*/ 



/*-----------------------------サイドメニューの設定*/
/*----------------------------------------------スマホ*/
@media (max-width: 640px) {
/*ここからナビ*/
nav{
    width:80%;
    height:100%;
    background: #F8F5EF;
	position:fixed;
    top:0;
	right: 0;
	bottom: 0;
    z-index:9999;
    visibility:hidden;
    transition:0s;
    overflow: auto;
  }
.nav_list {
	margin:15vw 5vw;
}

/*--openNav---*/
.openNav nav{
    visibility:visible;
  }
/*---------------------
navigation btn
----------------------*/
.navBtn{
    display: block;
    width:10vw;
    height:10vw;
    cursor:pointer;
    background:#2554b7;
    text-align: center;
    border-radius: 2vw;
    position:fixed;
    top:2vw;
    right:2vw;
    z-index: 999999;
  }
.navBtn img{
    display: block;
    width: 6vw;
    object-fit: contain;
    margin: 3vw auto;
  }

.icon-close {
  display: none;
}

.openNav .icon-open {
  display: none;
}

.openNav .icon-close {
  display: inline;
    font-size: 7vw;
    color: #fff;
}  
    
    
    
    
.side_contents{
    margin: 5vw auto;
}

.disease-buttons{
    border-radius: 3vw;
    padding:5vw;
    margin:  0 0 5vw;
}

.disease-buttons button {
    font-size: 4vw;
    font-weight: 600;
    border-bottom:.1vw solid #2554b7;
    padding:4vw 0;
}

.disease-icon {
  width: 5vw;
  height: 5vw;
}

/*タグの設定*/
.actions-checkboxes{
    border-radius: 0 0 3vw 3vw;
    padding: 0 0 5vw;
    margin: 0 0 5vw;
}

.actions-checkboxes label {
    font-size:3.5vw;
    margin: 2vw 3vw 0 0;
}
.actions-checkboxes input{
    margin: 0 .5vw 0 0;
}

details {
  border-bottom: .1vw dotted #2554b7;
  padding:3vw 6vw;
}

summary {
    font-size: 3.8vw;
}

.card .meta {
  font-size: 3vw;
}

/*人気の記事の設定*/
#pickup{
    margin: 0 0 8vw;
}

#pickup .pickup_card{
    padding: 4vw 0 0;
}

#pickup .pickup_card a{
    font-size: 3vw;
}

#pickup .pickup_card img{
    width: 25vw;
    height: 13vw;
    margin: 0 2vw 0 0;
}

/*バナーの設定*/    
    #banner{
        width: 50vw;
        margin: 0 auto;
    }
    
/*検索窓の設定*/
#search{
    margin: 5vw 0;
}
    
    
    
    
}
/*-----------*/ 





/*------------------------------フッターPC*/

#footer{
        background: #fff;
        padding: 20px 0;
        margin: 100px auto 0;
    }

.gme_hp {
    text-align: center;
    margin: 50px auto;
}
.gme_hp span {
    display: block;
    text-align: center;
    line-height: 1.5em;
    margin: 0 0 20px;
}
.gme_hp div {
    width: 400px;
    height: 80px;
    background: rgba(255,87,98,1.00);
    border-radius: 5px;
    font-size: 1.2em;
    text-align: center;
    padding: 10px 0;
    margin: 0 auto 50px;
}
.gme_hp div a {
    display: block;
    text-decoration: none;
    color: #fff;
}
.gme_hp img {
    width: 200px;
}
.foot_nav {
    width: 700px;
    margin: 0 auto;
}
.foot_nav li {
    width: 200px;
    height: 35px;
    line-height: 35px;
    font-size: 0.8em;
    text-align: center;
    margin: 0 15px 20px;
    float: left;
}
.foot_nav li a {
    display: block;
    text-decoration: none;
    color: #000;
}
.small_box {
    margin: 0 auto;
}
small {
    display: block;
    font-size: 0.6em;
    margin: 0 0 50px;
    text-align: center;
}

/*-----------*/ 
    






/*------------------------------フッター*/
/*----------------------------------------------スマホ*/
@media (max-width: 640px) {
    
    #footer{
        background: #fff;
        padding: 5vw 0;
        margin: 8vw auto 0;
    }    
    
.gme_hp {
    text-align: center;
    margin: 5vw auto;
}
.gme_hp span {
    font-size: 3vw;
    line-height: 1.5em;
    margin: 0 0 4vw;
}
.gme_hp div {
    width: 70vw;
    height: 18vw;
    background: rgba(255,87,98,1.00);
    border-radius: 2vw;
    font-size: 3.5vw;
    text-align: center;
    padding: 4vw 0;
    margin: 0 auto 8vw;
}
.gme_hp img {
    width: 50vw;
}
.foot_nav {
    width: 60vw;
    margin: 8vw auto 0;
}
.foot_nav li {
    width: 100%;
    height: 10vw;
    line-height: 10vw;
    font-size: 3vw;
    margin: 0 auto;
    float: inherit;
}
small {
    display: block;
    font-size: 2.5vw;
    margin: 5vw 0 5vw;
    text-align: center;
}
}
/*-----------*/ 



.clearfix:after {
    content: "";
    display: block;
    clear: both;
}
