/*===============================================
共通
===============================================*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,figure,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	font-family: inherit;
	font-size: 100%;
	font-weight: inherit;
	font-style: inherit;
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
}

* {
	box-sizing: border-box;
}

body {
  color: #333;
  font-size: 16px;
  line-height:1.8em;
  font-family:  "游ゴシック", YuGothic,  "Meiryo","ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ",sans-serif;
  font-weight: 500;
}

br.sp_only{
    display:none;
 }

img{
	max-width: 100%;
	height: auto;
}

ul,ol {
  list-style : none
}

p{
    text-align: justify;
}

a {
  text-decoration:none;
	transition: 0.5s;
}

a:hover{
  opacity:0.7;
}

h2{font-size:16pt;font-weight:bold;text-align:left;color:#060;padding-top:10px;letter-spacing:0.1em;text-shadow: 1px 1px 0px #666;}

table{
    border-collapse: collapse;
    width: 100%;
}

.clearfix:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}

#pagetop{
  position:fixed;
  right:20px;
  bottom:20px;
  cursor:pointer;
  z-index:200;
  display: block ;
	background: #D36015 ;
	width: 50px ;
	height: 50px ;

	color: #fff ;
	line-height: 50px ;
	text-decoration: none ;
	text-align: center ;

	-webkit-transition:all 0.3s ;
	-moz-transition:all 0.3s ;
	transition:all 0.3s ;
}

.sp_only{
    display: none;
}

/*===============================================
contents
===============================================*/
header{
    width: 100%;
    height: 50px;
    background:#b1d4b7;
}

.header_inner{
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header_ttl{
    font-size: 14px;
    font-weight: 600;
    line-height: 50px;
}

.header_logo img{
    width: 170px;
}

.main_visual{
    background:#fafafa;
    height: 306px;
    margin: 0 auto;
}

.main_visual_inner{
    display: flex;
    justify-content: space-between;
    max-width: 1200px;
}

.main_visual_img img{
    height: 306px;
    width: 576px;
}

.main_visual_txt{
    width: calc(100% - 576px);
    #width:100%;
    text-align: center;
    position: relative;
    font-weight: 600;
    
}

.main_visual_txt_inner{
    position: absolute;
    top:30%;
    left: 10%;
    width:100%;
    #transform: translate(-50%,-50%);
    background:#fc6;
}

.main_visual_ttl{
    width: 445px;
    padding: 0 0 40px;
}

.main_visual_ttl h1{
    font-size: 20px;
    padding: 0 0 10px;
}

.main_visual_lead{
    position: relative;
    text-align:center;
    line-height:200%;
    padding: 20px;
    font-size: 20pt;
    color:#0a6;
}

.main_visual_lead::before, .main_visual_lead::after {
	content: '';
	width: 15px;
	height: 100%;
	position: absolute;
}

.main_visual_lead::before {
	border-left: solid 10px #fff100;
	border-top: solid 10px #fff100;
	border-bottom: solid 10px #fff100;
	top: -10px;
	left: 0;
}

.main_visual_lead::after {
	border-right: solid 10px #fff100;
	border-top: solid 10px #fff100;
	border-bottom: solid 10px #fff100;
	top: -10px;
	right: 0;
}

.header_txt_inner{
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.basic_cont{
    max-width: 1000px;
    margin: 0 auto;
    padding: 30px 0;
}

.cont_block{
    padding: 50px 0;
}

.cont_ttl{
    text-align: center;
    padding: 0 0 30px;
}

.cont_ttl h2{
    position: relative;
    display: inline-block;
    padding: 0 55px;
    font-weight: 600;
    font-size: 23px;
    text-align: center;
}

.cont_ttl h2:before, .cont_ttl h2:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: black;
}

.cont_ttl h2:before {
  left:0;
}

.cont_ttl h2:after {
  right: 0;
}

.steam_lead{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 30px 0;
}

.steam_lead_txt{
    width: 60%;
    padding: 0 30px 0 0;
}

.steam_lead_txt p{
    padding: 0 0 .5em;
}

.steam_lead_img{
    width: 40%;
}

.koganei_link{
    border:solid 1px #404040;
    border-radius: 10px;
    padding: 30px;
}

.steam_skill{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 0;
}

.steam_skill_list{
    border:solid 1px #404040;
    width: calc(100% - 330px);
    background:#fffde7;
    padding: 30px;
    margin: 0 40px 0 0;
    font-size: 18px;
    font-weight: 600;
}

.steam_skill_list li{
    padding: 0 0 .25em;
}

.steam_skill_list li:before{
    content:"□";
    padding: 0 .25em 0 0;
}

.steam_skill_img{
    width: 330px;
}

.steam_skill_img img{
    width: 330px;
    height: 300px;
    border-radius: 330px;
}

.bg_cont{
    width: 100%;
    background:#f9f7f6;
}

.ttl_logo{
    width: 220px;
}

.steam_illust_block{
    border:solid 1px #404040;
    background:#fff;
    margin: 30px 0;
    padding: 35px;
}

.steam_illust_lead{
    text-align: center;
    font-size: 20px;
    font-weight: 600;
}

.steam_illust{
    text-align: center;
    padding: 30px 0;
    width: 550px;
    margin: 0 auto;
}

.steam_table th,.steam_table td{
    border:solid 1px #404040;
    padding: 10px;
}

.steam_table th{
    background:#e8e8e8;
    padding: 10px 20px;
    font-weight: 600;
}

.steam_lesson_table th,.steam_lesson_table td{
    border:solid 1px #404040;
    padding: 10px;
    
}

.steam_lesson_table th{
    background:#e8e8e8;
    font-weight: 600;
    white-space: nowrap;
}

.steam_lesson_table th.lesson_theme{
    padding: 10px 15px;
    background:#a0a0a0;
}

.steam_lesson_table td{
    background: #fff;
    white-space: nowrap;
}

.steam_lesson_table td.remarks{
    white-space: inherit;
}

.benham_block{
    border:solid 1px #404040;
    background: #fff;
}

.benham_block_ttl{
    background:#b1d4b7;
    font-size: 22px;
    font-weight: 600;
    padding: .5em 1em;
}

.benham_block_ttl-sub{
    font-size: 20px;
    font-weight: 600;
    padding: 0 0 .5em;
}

.benham_block_inner{
    padding: 30px;
}

.benham_block_item{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.benham_block_txt{
    width: 60%;
}

.benham_block_img{
    width: 40%;
    padding: 0 0 0 30px;
}

.benham_flow{
    border:solid 1px #404040;
    margin: 30px 0 0;
    padding: 20px;
}

.materials_img{
    padding: 30px 0;
    text-align: center;
}

.raspi_block{
    border: solid 1px #404040;
    padding: 30px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    border-radius: 10px;
}

.raspi_txt{
    width: 60%;
}

.raspi_ttl{
    border-bottom: solid 1px #404040;
    padding: 0 0 .5em;
    margin: 0 0 1em;
    display: flex;
    align-items: center;
}

.raspi_txt h3{
    font-size: 20px;
    font-weight: 600;
    padding: 0 0 0 .5em;
}

.raspi_img{
    width: 35%;
}

.lesson_step_lead{
    text-align: center;
    padding: 20px 0 0;
}

.lesson_step{
    padding: 30px 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.step_item{
    width: calc((100% - 160px) / 3);
}

.step_item h3{
    text-align: left;
    padding: 0 0 20px;
    font-weight: bold;
}

.step_item p{
    padding: 10px 0 0;
}

.step_arrow{
    width: 80px; 
    font-size: 20px;
}

.steam_class_block{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 30px 0;
}

.steam_class_item{
    width: 45%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.steam_class_item h3{
    text-align: center;
    font-size: 20px;
    font-weight: 600;
}

.steam_class_item p,.gmap_link{
    width: 100%;
}

.steam_class_img{
    padding: 20px 0;
}

.gmap_btn{
    display: inline-block;
    
}

.class_detail{
    padding: 20px 0 0;
    width: 100%;
}

.class_common{
    border:solid 1px #404040;
    border-radius: 10px;
    padding: 20px;
}

.trial_banner{
    border:solid 2px #8dc21f;
    background:#f9f9f9;
    padding: 30px;
    position: relative;
}

.trial_waku{
    width: 155px;
    position: absolute;
    top:-60px;
    left: 50px;
}

.trial_item{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.trial_txt{
    width: 70%;
}

.trial_img{
    width: 30%;
}

.trial_ttl{
    width: 500px;
    margin: 0 auto;
}

.trial_txt p{
    text-align: center;
}

.trial_btn{
    background:#fff100;
    display: block;
    text-align: center;
    font-size: 23px;
    font-weight: 600;
    padding: 10px;
}

.antivirus_block{
    border:solid 1px #404040;
    padding: 30px;
}

.antivirus_ttl{
    text-align: center;
    font-size: 23px;
    font-weight: 600;
}

.antivirus_img{
    display: flex;
    justify-content: space-between;
    padding: 30px 0;
    width: 80%;
    margin: 0 auto;
}

.antivirus_img li{
    width: 25%;
}

.event_image_block{
    width: 740px;
    margin: 0 auto;
}

.event_image{
    display: flex;
    justify-content: space-between;
    margin: 30px 0 0;
}

.event_image li{
    width: 240px;
}

li.event_name{
    width: 100%;
}

.group_info{
    border-top:solid 1px #404040;
    border-bottom:solid 1px #404040;
    padding: 30px;
    display: flex;
    justify-content: space-between;
}

.group_info_ttl{
    font-size: 23px;
    font-weight: 600;
    padding: 0 0 10px;
}

.group_info_pr{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.group_pr_img{
    width: 125px;
    margin: 0 30px 0 0;
}

.group_pr_img img{
    width: 125px;
    height: 125px;
    border-radius: 50%;
}

.group_pr_txt{
    width: calc(100% - 155px);
}

.group_pr_btn{
    background:#fff100;
    display: block;
    text-align: center;
    font-size: 20px;
    font-weight: 600;
    padding: 10px;
}

.copyright{
    width: 100%;
    background: #b1d4b7;
    font-size: 14px;
    margin: 30px 0 0;
    padding: 20px;
}

.copyright p{
    text-align: center;
}

@media only screen and (max-width:1000px) {
    .main_visual{
        height: auto;
    }
    
    .main_visual_inner{
        flex-wrap: wrap;
    }
    
    .main_visual_img{
        width: 100%;
        text-align: center;
    }
    
    .main_visual_img img{
        width: auto;
        height: auto;
    }
    
    .main_visual_txt{
        width: 100%;
        padding: 20px;
    }
    
    .main_visual_ttl{
        width: 100%;
    }
    
    .main_visual_txt_inner {
        position: static;
        top: auto;
        left: auto;
        transform: inherit;
    }
    
    .basic_cont {
        padding: 30px 20px;
    }
}

@media only screen and (max-width:768px) {
    
    .steam_illust{
        width: 100%;
    }
    
    .trial_ttl{
        width: 100%;
    }
    
    .event_image_block{
        width: 100%;
    }
    
    .event_image li{
        width: 32%;
    }
}

@media only screen and (max-width:480px) {
    .pc_only{
        display: none;
    }
    
    .sp_only{
        display: block;
    }
    
    header{
        height: auto;
    }
    
    .header_inner{
        flex-wrap: wrap;
        padding: 10px;
    }
    
    .header_ttl{
        line-height: inherit;
    }
    
    .header_logo{
        width: 100%;
        text-align: right;
    }
    
    
    .cont_ttl{
        text-align: left;
    }
    
    .cont_ttl h2{
        text-align: left;
        padding: 0;
    }
    
    .cont_ttl h2:before,.cont_ttl h2:after{
        display: none;
    }
    
    .steam_lead_txt{
        width: 100%;
        padding: 0;
    }
    
    .steam_lead_img{
        width: 100%;
    }
    
    .steam_illust_block{
        padding: 35px 20px;
    }
    
    .steam_skill{
        flex-wrap: wrap;
    }
    
    .steam_skill_list{
        width: 100%;
        margin: 0;
    }
    
    .steam_skill_img{
        width: 100%;
        text-align: center;
    }
    
    .steam_lesson_table th,.steam_lesson_table td{
        display: block;
        width: 100%;
    }
    
    .steam_lesson_table td{
        white-space:inherit;
    }
    
    .benham_block_inner{
        padding: 30px 20px;
    }
    
    .benham_block_txt{
        width: 100%;
    }

    .benham_block_img{
        width: 100%;
        padding: 10px 0 0;
    }
    
    .raspi_block{
        padding: 30px 20px;
    }
    
    .raspi_ttl{
        flex-wrap: wrap;
    }
    
    .raspi_txt{
        width: 100%;
    }
    
    .raspi_txt h3{
        padding: 10px 0 0;
    }
    
    .raspi_img{
        width: 100%;
    }
    
    .lesson_step_lead{
        text-align: left;
    }
    
    .step_item{
        width: 100%;
        padding: 20px 0;
    }
    
    .step_item figure{
        text-align: center;
    }
    
    .step_arrow{
        width: 100%;
        text-align: center;
    }
    
    .steam_class_item{
        width: 100%;
        padding: 0 0 40px;
    }
    
    .steam_class_item:last-child{
        padding: 0;
    }
    
    .trial_banner{
        padding: 20px;
    }
    
    .trial_txt{
        width: 100%;
    }
    
    .trial_img{
        width: 100%;
    }
    
    .trial_btn{
        margin: 20px 0;
    }
    
    .antivirus_block{
        padding: 30px 20px;
    }
    
    .antivirus_img{
        width: 100%;
    }
    
    .antivirus_img li {
        width: 32%;
    }
    
    .group_info{
        flex-wrap: wrap;
        padding:30px 20px;
    }

}
