@charset "utf-8";
/* CSS Document */

.tabs {
  margin-top: 50px;
  padding: 0 0 40px;
  width: 100%;
  margin: 0 auto;}

/*タブのスタイル*/
.tab_item {
  width: calc(100%/3);
  height: 50px;
  background-color: #eee;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
  color: #3764ff;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
  border-left: 2px solid #fff;
  border-right: 2px solid #fff;
}
.tab_item.tab_long { width: calc(100%/2); font-weight: 400 !important; }
.tab_item:hover {
  opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 40px 6px 10px;
  margin: 0;
  clear: both;
  overflow: hidden;
}


/* チェックボックス */
.book_info input[type=checkbox]{
display: none;
}
    
.book_info input[type=checkbox] + label{
position: absolute;
top: 44px;
right: 54px;
}    
      
.book_info input[type=checkbox] + label:before{
display: block;
position: absolute;
content: "";
width: 24px;
height: 24px;
border-radius: 50%;         
background-color: #fff;
border: 1px solid #444;
}
.book_info input[type=checkbox]:checked + label:before{
background-color: #3764ff;
border: 1px solid #3764ff;
}

.book_info input[type=checkbox]:checked + label:after{
display: block;
position: absolute;
content: "";
width: 12px;     
height:5px;
border-bottom: 3px solid;
border-left: 3px solid;
border-color:  #fff;
transform: rotate(-45deg);
top: 50%;         
left: 5px;
margin-top: 8px;
}


/*選択されているタブのコンテンツのみを表示*/
#cat01:checked ~ #cat01_content,
#cat02:checked ~ #cat02_content,
#cat03:checked ~ #cat03_content {
  display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  background-color: #3764ff;
  color: #fff;
}


.book_area, .book_inner, .event_area, .event_info { display: flex; justify-content: space-between; flex-wrap: wrap; }

.book_info { width: 48%; background: #fff; box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.3); padding: 40px; position: relative; margin-bottom: 44px; }
.book_ttl { font-weight: 600; font-size: 125%; margin-bottom: 12px; padding-right: 40px; }
.trial_btn { text-align: right; margin: 12px 0 0; }
.trial_btn a { color: #fff; background: #3764ff; padding: 1px 40px 2px; display: inline-block; list-style: 1.1; border: 2px solid #3764ff; }
.trial_btn a:hover { background: #fff; color: #3764ff; }
.event_info .trial_btn { text-align: center; font-size: 110%; font-weight: 600; display: block; width: 100%; margin: 0; }
.event_info .trial_btn a { padding: 1px 60px 2px; }

.book_thumb { display: flex; justify-content: flex-start; flex-flow: column; width: 32%; }
.book_thumb span { display: block; margin-top: 18px; color: #666; font-size: 90%; }
.book_txt { width: 64%; }

.event_info { width: 100%; border: 1px solid #333; padding: 40px; margin-bottom: 40px; }
.event_thumb { width: 160px; }
.event_thumb img { margin-bottom: 20px; }
.event_inner { width: calc(100% - 195px); }
.event_ttl { display: flex; justify-content: flex-start; align-content: center; align-items: center; border-bottom: 1px solid #333; padding-bottom: 16px; margin-bottom: 16px; font-weight: 600; font-size: 120%; }
.event_ttl span { display: flex; width: 100px; padding: 6px 12px 7px; font-size: 70%; color: #fff; background-color: #3764ff; margin-right: 12px; text-align: center; line-height: 1.2; justify-content: center; font-weight: 400; align-content: center; align-items: center; min-height: 44px; }
.event_tag { margin: 24px 0 20px; }
.event_tag li { display: inline-block; padding: 3px 8px 4px; font-size: 90%; color: #505050; background-color: #ddd; margin-right: 1px; margin-bottom: 4px; }
dl.event_txt { display: flex; justify-content: space-between; flex-wrap: wrap; align-content: flex-start; align-items: flex-start; margin-bottom: 24px; }
dl.event_txt dt { width: 100px; padding: 5px; font-size: 80%; border: 1px solid #333; text-align: center; }
dl.event_txt dd { width: calc(100% - 115px); margin-bottom: 16px; padding-top: 5px; }

@media all and (max-width: 810px){
.tab_item { font-size: 14px; line-height: 1.25; padding-top: 7px; }
.book_info input[type=checkbox] + label { top: 32px; right: 52px; }
.book_info { width: 100%; padding: 30px; margin-bottom: 32px; }
.event_info { padding: 30px; }
.event_thumb { width: 100%; text-align: center; padding-bottom: 12px; }
.event_inner { width: 100%; }
}

@media all and (min-width: 561px){ .event_ttl { min-height: 68px; } .event_thumb img { max-width: 160px; height: auto; } }

@media all and (max-width: 560px){
.tab_content { padding-top: 24px; }
.tab_item { font-size: 2.4vw; padding: 2vw 0.75vw; height: auto; }
.book_info input[type=checkbox] + label { top: 24px; right: 46px; }
.book_info { padding: 20px; }
.book_thumb, .book_txt { width: 100%; }
.book_thumb { flex-flow: row; justify-content: space-between; margin-bottom: 16px; }
.book_thumb img { width: 48.5%; }
.book_thumb span { width: 48.5%; margin-top: 0; }

.event_info { padding: 24px; }
.event_ttl { display: block; }
.event_ttl span { margin-bottom: 16px; }
dl.event_txt { display: block; }
dl.event_txt dt { margin-bottom: 4px; padding: 3px; }
dl.event_txt dd { margin-bottom: 24px; width: 100%; }
}