@charset "utf-8";
/* CSS Document */

img{max-width: 100%;}

main{
  background-color:#FFEBFC;
  color: #666666;
}
.cms_bgwrap{
  background-image:url("../img/il_bg.png");
  background-position:center;
  background-repeat:no-repeat;
  background-size: cover;
  background-attachment: fixed;
  max-width:1920px;
  margin:auto;
}

.cms_blstripe{
  padding: 40px 16px;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

.cms_top{
  margin-bottom: 52px;
}
.cms_top h1{
  padding-top: 32px;
  text-align: center;
}
.cms_schedule{text-align: center;}
.cms_entry{
  text-align: center;
  margin-top: -24px;
}
.cms_entrytext{margin-bottom: 8px;}
.cms_entry a{
  display: inline-block;
  margin-bottom: 16px;
}



.cms_seminardetail{
  max-width: 1000px;
  margin: 0 auto 8px;
  padding: 16px  0 0 0;
  border-radius: 20px;
  background-color: #FFFFFF;
  position:relative;
}
h2.cms_headtitle02{
  text-align: center;
  margin-top: -32px;
}
.cms_seminardetail > div{
  padding-top:40px;
  border: solid 4px #FFF;
  border-radius: 20px;
}

.cms_learning{padding-top: 32px;}
.cms_learningcontent{
    max-width: 800px;
    margin: 0 auto;
}
.cms_learningtext{
  line-height: 2;
  margin-bottom: 14px;
}
.cms_txtbold{
  font-weight: bold;
}
.cms_coin{
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 0 auto;
  margin-bottom: 32px;
}
.cms_kubota{
  position: relative;
  padding-bottom: 30px;
}
.cms_learningtext2{
  line-height: 2;
}
.cms_kubota img{
  position: absolute;
  left: 0;
  bottom: 0;
}
.cms_present{
  padding: 16px  52px 32px;
  background-color: #FFEEAF;
  border-radius: 0 0 20px 20px;
}
.cms_present h3{
  text-align: center;
  /* position: absolute; */
  /* top: -17px; */
  /* left: calc(50% - 150px); */
}
.oma_presflex{
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 32px;
  margin-top: 24px;
}
.oma_presflex-01{
  flex: 1 1 80%;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  background-color: #FFFFFF;
  padding: 10px;
}
.oma_presflex-01-kome {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px 0;
  align-items: end;
}
.oma_presflex-01-kome span{
  /* display: block; */
  /* text-align: right; */
  font-size: 0.625rem;
}
.oma_presflex-02{
  flex: 1 1 33%;
  text-align: center;
}
.oma_presbgw{
  display: flex;
  flex-direction: column;
  gap: 16px 0;
  background-color: #FFFFFF;
  padding: 16px 24px;
}


.cms_instarea{
  display:flex;
  max-width:1024px;
  margin:auto;
  gap:0 24px;
}
.cms_instarea > div{
  max-width:500px;
  width:49%;
  background-color:#FFF;
  border-radius:20px;
  padding:24px;
}
.cms_instarea > div p{
  padding-top:16px;
  line-height:1.65;
}

.cms_outline{
  max-width: 1000px;
  margin: auto;
  padding: 56px 48px 64px;
  border-radius: 20px;
  border: 2px solid #FC6199;
  background-color: #FFFFFF;
  position:relative;
}
.cms_outline h2{
  position: absolute;
  top: -20px;
  left: calc(50% - 64px);
  margin-top:0;
}
.cms_outline dl{
  display: flex;
  flex-wrap: wrap;
  max-width: 864px;
}
.cms_outline dl dt{
  width: 82px;
  line-height: 1.75;
  padding-right: 14px;
  text-align: right;
  color: #FC6199;
}
.cms_outline dl dd{
  width: calc(100% - 82px);
  padding-left:14px;
  line-height: 1.75;
  border-top: 1px solid #FC6199;
  margin-top: 10px;
  padding-top: 16px;
}
.cms_outline dl dt:nth-last-of-type(n+2),
.cms_outline dl dd:nth-last-of-type(n+2){margin-bottom: 16px;}
.cms_outline dl dd p{
  font-size: 1.25rem;
  font-weight: bold;
}
.cms_outline dl dd span{
  font-size: 0.75em;
  padding-bottom: 0.5em;
  display: block;
}
.cms_map{
  max-width: 770px;
  width: 100%;
  height: 330px;
  margin: 10px 0 20px;
  padding-left: 108px;
}
.cms_outline iframe{
  width: 100%;
  height: 100%;
}
.cms_outline dd img{
  position: absolute;
  width: 140px;
  height: 140px;
  bottom: 224px;
}
.cms_outline dd:nth-of-type(2) img{left: 433px;}
.cms_outline dd:nth-of-type(3) img{left: 585px;}



.cms_bodyentry{
  padding:32px 16px;
  background-color:#FFF;
  margin:42px calc(50% - 50vw);
  width: 100vw;
}
.cms_commentary{
  margin-top: 10px;
  text-align: center;
  font-size: 0.875rem;
  color: #707070;
}



.cms_notes{padding: 32px 16px;}
.cms_notes > div{
  max-width: 1000px;
  margin: auto;
  padding: 24px 32px 32px;
  border: 3px solid #eee15a;
  border-radius: 20px;
  background-color: #FFFFFF;
}
.cms_notes > div p,
.cms_notes > div li{
  line-height: 2;
  font-size: 0.875rem;
  color: #666666;
}
.cms_notestxt{
  text-align: center;
  font-weight: bold;
  color: crimson;
  line-height: 1.4;
  font-size: 1.125em;
  margin-top: -1em;
}


.cms_footer{
  padding: 56px 16px 72px;
  background-color: #FFFFFF;
  margin: 80px calc(50% - 50vw) 0;
  width: 100vw;
}
.cms_footer dl{
  max-width: 720px;
  width: 100%;
  line-height: 1.5;
  margin: auto;
}
.cms_footer dl dt{
  text-align:center;
  color: #666666;
  padding-top:16px;
}
.cms_footer dl dd{
  color: #666666;
  justify-content: center;
  text-align: center;
}
.cms_footer dl dd:nth-of-type(-n+2){
  display:flex;
}
.cms_footer dl dd img{
  max-width:220px;
  width:40vw;
}
.cms_footer dl dd:first-of-type img{
  max-width:320px;
  width:50vw;
}
.cms_footer dl dd p{font-weight: bold;}
.cms_footer dl dd span{margin-left: 1em;}
.cms_footer dl dd div{
  margin-top: 8px;
  font-size: 0.875rem;
}
.cms_footer dl dt:last-of-type{
  padding-bottom:16px;
}

.cms_entrybtn{
  position: fixed;
  right: 0;
  top: 50vh;
  writing-mode: vertical-rl;
}
.cms_entrybtn a{
  display: block;
  padding: 1em 0.5em;
  text-decoration: none;
  font-size: 1.125rem;
  font-weight: bold;
  color: #832507;
  text-shadow: 0 1px #FFFFFF, 1px 0 #FFFFFF, 1px 1px #FFFFFF, 0 -1px #FFFFFF, -1px 0 #FFFFFF, -1px -1px #FFFFFF, 1px -1px #FFFFFF, -1px 1px #FFFFFF;
  border: 2px solid #fb6b47;
  border-right:none;
  border-radius: 20px 0 0 20px;
  background-color: #ffeeaf;
  box-shadow: 0px 3px 0px rgba(0, 0, 0, 0.16);
}

.tss_footer{background-color:#FFF18F;}
.tss_footer a{color:#6E6526;}


.cms_colsetxt{
  color:red;
  font-weight:bold;
  line-height:1.5;
  padding-bottom:1em;
  font-size:1.125rem;
}




@media screen and (min-width:821px){
  .cms_entry a:hover{opacity: 0.5;}
  .cms_entrybtn:hover{opacity: 0.5;}

  .tss_gotop a:hover{opacity: 0.5;}
}




@media screen and (max-width:1050px){/*コンテンツ幅+padding+スクロールバー*/
  .cms_coin{
    width: 100%;
    justify-content: space-between;
    margin-bottom: 20px;
  }
  .cms_coin div{width: 28.5vw;}
  .cms_present{padding: 20px 4.2vw;}


  .cms_outline{padding: 56px 5.33vw;}
}
@media screen and (max-width:905px){/*トップの円のサイズ+スクロールバー*/
  .cms_top{background-size: 100vw 100vw;}
  .cms_schedule img{width: 73%;}
  .cms_entrytext img{width: 30%;}
  .cms_entry a{width: 46.6%;}
}
@media screen and (max-width:820px){
  
  .cms_learningcontent{
    padding:0 16px;
  }
  .cms_seminardetail{
    width:calc(100% - 36px);
    margin-bottom: 40px;
    font-size:0.875em;
  }
  .cms_seminardetail > div{
    padding-top:4px;
  }
  .cms_colsetxt{font-size:0.75em;}
  .tss_body{padding-bottom: calc(17.5vw + 60px);}
  
  .cms_entry{
    margin-top:0;
  }

  .cms_schedule img{width: 82%;}
  .cms_entrytext img{width: 38.4%;}
  .cms_entry a{width: 61.8%;}
  .cms_limit{font-size: 0.875rem;}
  .cms_commentary{
    font-size:0.75em;
    line-height:1.5;
  }
  .cms_instarea{
    flex-direction:column;
    gap: 16px;
    font-size:0.875em;
  }
  .cms_instarea > div{
    width:90%;
    margin:auto;
  }
  
  .cms_invite{
    width: 100%;
    margin-top: 10px;
    font-size: 0.875rem;
    order: 3;
  }


  .cms_seminardetail > h2{
    position:absolute;
    width: 80.4vw;
    left: calc(50% - 40.6vw);
  }


  .cms_outline dl dt{
    width: 100%;
    text-align: left;
    font-size: 0.875rem;
    border-right: none;
  }
  .cms_outline dl dt::after{
    content: "";
    display: inline-block;
    width: 64px;
    margin-left: 8px;
    vertical-align: middle;
  }
  .cms_outline dl dt:nth-last-of-type(n+2){margin-bottom: 0;}
  .cms_outline dl dd{
    width: 100%;
    padding-left: 0;
    font-size: 0.875rem;
  }
  .cms_outline dl dd:nth-last-of-type(n+2){margin-bottom: 24px;}
  .cms_outline dl dd p{font-size: 1rem;}
  .cms_map{padding-left: 0;}
  .cms_outline dd img{
    position: static;
    display: block;
  }
  
  .cms_notes{
    padding-top:8px;
    padding-bottom: 40px;
  }
  .cms_notes > div p,
  .cms_notes > div li{font-size: 0.75rem;}


  .cms_footer dl dt{
    width: 100%;
    text-align: center;
    font-size: 0.875rem;
    border-right: none;
  }
  .cms_footer dl dt:nth-last-of-type(n+2){margin-bottom: 0;}

  .cms_footer dl dd{
    width: 100%;
    padding-left: 0;
    font-size: 0.875rem;
  }
  .cms_footer dl dd:nth-last-of-type(n+2){
    margin-bottom: 10px;
  }
  .cms_footer dl dd p{font-size: 1rem;}
  .cms_footer dl dd span{
    display: block;
    margin-left: 0;
  }
  .cms_footer a{
    color:#666;
  }


  .cms_entrybtn{left: calc(100vw - 1.25em);}
  .cms_entrybtn a{font-size:0.875rem;}
}
@media screen and (max-width:430px){
  .cms_present h3{
    width: 53.3vw;
    top: -2vw;
    left: calc(50% - 26.6vw);
  }
  .cms_present{padding: 6.3vw 8px 4px;}
  .oma_presflex{
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 16px;
  }
  .oma_presflex-01{
    margin-bottom: 8px;
    padding:16px 4vw 16px 0;
  }
  .oma_presflex-02{
    width: 56%;
    margin: -16px auto 24px;
    flex: inherit;
  }


  .cms_outline{padding: 6.8vw 5.33vw 32px;}
  .cms_outline h2{
    width: 52.8vw;
    top: -4.9vw;
    left: calc(50% - 26.4vw);
  }
  .cms_outline dd img{
    width: 100px;
    height: 100px;
    margin: auto;
  }
  .cms_footer{
    padding:32px 0 0;
    margin-top:32px;
  }


  .cms_commentary span{display: block;}
}