/* Zen Kaku Gothic Newをimport */
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New&display=swap');

/* 全体 */
html {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    /* font-size: min(max(16px, 3vmin), 20px); */
    /* font-size: max(16px, 1vmax); */
    font-size: 1.2vmax;
    font-style: normal;
    color: #000000;
}
h1{
    /* font-weight: 300; */
    font-weight: 900;
    font-size: 3rem;
    color: inherit;
}
a{
    font: inherit;
    text-decoration: underline;
    /* text-decoration-thickness: 0.1em; */
    /* font-style: italic; */
}
a.inherit{
    font: inherit;
    color: inherit;
}
a.none{
    font: inherit;
    color: inherit;
    text-decoration: none;
}
button:hover, summary:hover{
    cursor: pointer;
    background-color: #e0e0e0;
}
input[type="checkbox"]{
    margin: 0rem 0rem 0rem 1rem;
}
/* 共通角丸 */
.round-space{
    font: inherit;
    margin: 1rem;
    padding: 1rem;
    border: none;
    border-radius: 2rem;
    background-color: #f0f0f0;
}
.round-box{
    font: inherit;
    margin: 0.5rem;
    padding: 0.3rem 0.6rem;
    /* padding: 0.5em; */
    border: none;
    border-radius: 1rem;
    background: #ffffff;
}
.white{
    font: inherit;
    background-color: #ffffff;
}
.gray{
    font: inherit;
    background-color: #f0f0f0;
}


/* form */
.search, .sort, .conditions{
    /* margin: 0.5em; */
    padding: 0rem 1.5rem;
}
input.search-text{
    width: 50%;
}
div.condition{
    margin: 0.5rem;
    padding: 1rem 0rem 1rem 0rem;
    border-color: #e0e0e0;
    border-bottom: 1px solid;
}
h3.condition-group{
    display: inline-block;
    font: inherit;
    font-weight: bolder;
    font-size: 1rem;
    padding: 0.5rem;
    background-color: #f0f0f0;
}

/* 検索結果 */
div.tile{
    padding: 1rem 2rem;
}
h2.course-title{
    font: inherit;
    font-weight: 300;
    font-size: 2rem;
    margin: 0.5rem;
    padding: 0rem 0rem;
}
table.course-info{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    /* grid-template-columns: repeat(auto-fill, maxmin(10em, 1fr)); */
    /* gap: 0.5em; */
    gap: 0;
    /* width: 67%; */
    font: inherit;
    /* background-color: #f0f0f0; */
}
table.course-info tr{
    /* table row */
    font: inherit;
    /* display: grid; */
    /* grid-template-columns: 1fr 1fr; */
    width: auto;
    height: 100%;
    border-color: #e0e0e0;
    border-width: 1px;
    border-style: solid;
    padding: 0rem;
    margin: 0rem;
}
table.course-info th, table.course-info td{
    /* table header and data */
    /* display: inline-block; */
    font: inherit;
    text-align: left;
    width: 10rem;
    height: 100%;
    padding: 0rem 0.5rem;
    margin: 0rem;
}
table.course-info th{
    /* table header */
    font-weight: bolder;
    background-color: #f0f0f0;
}
table.course-info td{
    /* table data */
    background-color: #ffffff;
}
h3.course-description{
    font: inherit;
    font-weight: 300;
    font-size: 1.5rem;
    margin: 0.5rem;
    padding: 0rem 0rem;
}
p.course-description{
    background-color: #f0f0f0;
    height: 10rem;
    overflow: auto;
    /* scrollbar-width: thin; */
    scrollbar-width: none;
}
p.course-description-detail{
    background-color: #f0f0f0;
    /* height: 20rem; */
    overflow: auto;
    /* scrollbar-width: thin; */
    scrollbar-width: none;
}

span.stars{
    display: flex;               /* 要素をフレックスボックスにする */
    flex-direction: row-reverse; /* 星を逆順に並べる */
    justify-content: flex-end;   /* 逆順なので、左寄せにする */
}
input[type='radio'].rate{
    display: none;               /* デフォルトのラジオボタンを非表示にする */
}
label.star{
    font: inherit;
    font-size: 1.5rem;
    color: #c0c0c0;
    padding: 0.5rem;
    margin: 0.5rem;
}
input[type='radio'].rate:hover ~ label{
    color: #aaaa00;
}
input[type='radio'].rate:checked ~ label{
    /* color: #000000; */
    color: #ffff00;
}
textarea.review{
    width: 100%;
    height: 10rem;
}