@charset "utf-8";
/* CSS Document */
/*------------------------------------------------*/
/*------------------------------------------------*/
/*------------------------------------------------*/
html {
  scroll-behavior: smooth;
}
body {
  background: transparent;
}

#dcms_layoutPageBlock {
    font-family: "ten-mincho",serif,"Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, メイリオ, -apple-system, BlinkMacSystemFont, sans-serif;
    margin-top: 100px;
    color: #402020;
}
img{
width: 100%;
    display: block;
}

.inner_{
width: 1200px;
overflow: hidden;
    margin: 0 auto;
}
@media only screen and (max-width: 1200px){
    #dcms_layoutPageBlock {
    margin-top: 60px;        
    }
.inner_{
width: 100%;
}
}

/* main */
#main{
  background-color:#8ED9ED;    
}
.main_bg{
  background:url('../image/csc_bg_main.jpg');
  background-repeat:no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  position: relative;
    height: 40vh;
    min-height: 530px;
}
.main_catch{
    width: 530px;
    position: absolute;
    max-width: 530px;
    top: 35%;
    left: 0%;
    transform: translateY(-50%) translateX(0%);
    -webkit- transform: translateY(-50%) translateX(0%);
}
.img_h1{
width: 360px;
    margin-left: 0;
    position: absolute;
    max-width: 360px;
    top: 75%;
    left: 0%;
    transform: translateY(-50%) translateX(0%);
    -webkit- transform: translateY(-50%) translateX(0%);
}
@media only screen and (max-width: 1200px){
.main_catch {
    margin-left: 20px;
}
.img_h1 {
    margin-left: 20px;
    }
}
@media only screen and (max-width: 640px){
.main_catch {
    width: 90%;
    transform: none;
    top: 5%;
    margin-left: 20px;
}
.img_h1 {
    width: 56%;
    transform: none;
    top: 36%;
    margin-left: 20px;
}
.main_bg{
        background-position: 80% 104%;
background-size: 180%;
}
}

/* aim */
#aim{
  background-color:#F7F7F7;    
}
.aim_bg{
  background:url('../image/csc_bg_01.jpg');
  background-repeat:no-repeat;
  background-position: 50% 50%;
  background-size: cover;
position: relative;
    height: 40vh;
    max-height: 460px;
min-height: 300px;
}

/* series */
#series{
  background-color:#BDE6EA;
}
.series_bg{
  background:url('../image/csc_bg_02.jpg');
  background-repeat:no-repeat;
  background-position: 50% 50%;
  background-size: cover;
position: relative;
    height: 40vh;
    max-height: 460px;
    min-height: 300px;
}

/** storyline **/
.br_sp{
    display: none;
}
.font_h2{
    margin:100px auto 40px;
    text-align: center;
    font-size:max(22px, min(3vw,32px));
    font-size: clamp(22px, 3vw,32px);
    font-weight: 100;
}
.font_h3{
    font-size: 2.2rem;
    text-align: center;
}
.story_con{
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
}
.story_con li{
    width: 30%;
    list-style: none;
}
.img_h2{
    position: absolute;
    max-width: 540px;
    width: 80%;
    top: 50%;
    left: 0%;
    transform: translateY(-50%) translateX(0%);
    -webkit- transform: translateY(-50%) translateX(0%);
}
@media only screen and (max-width: 1200px){
.img_h2{
 margin-left: 20px;
    max-width: 490px;
}
    .story_con{
    width: 94%;
    margin: 0 auto;
    }
.font_h3 {
    font-size: 1.8rem;
    margin-bottom: 6px;
}
}
@media only screen and (max-width: 640px){
.br_sp{
display: block;       
}
.story_con{
    display: block;
}
.story_con li {
    width: 94%;
    margin: 0 auto;
    margin-bottom: 40px;
}
.series_bg {
    background-position: 80% 50%;
    height: 50vh;
}
.img_h2 {
    padding-left: 20px;
    margin-top: 20px;
width: 80%;
transform: translateY(-150%) translateX(0%);
    -webkit- transform: translateY(-150%) translateX(0%);
}
}

/** aim **/
.point_list{
    margin: 50px auto;
}
.aim_con{
list-style: none;
    clear: both;
    overflow: hidden;
    position: relative;
}
.aim_img{
    width: 600px;
}
.aim_con:nth-child(odd) .aim_img{
    float: left;
}
.aim_con:nth-child(even) .aim_img{
    float: right;
}
.aim_text{
    padding: 40px;
    color: #ffffff;
    width: 450px;
    position: absolute;
    top: 50%;
}
.aim_tit{
 font-size: 220%;
margin-bottom: 20px;
}
.aim_tit span{
display: block;
    font-size: 160%;
margin-bottom: -10px;
}
.aim_tit span img{
    display: inline;    
    width:76px;
}
.bg_aim_01 {
    background: #9ED969;
    float: left;
    margin-left: -20px;    
    left: 50%;
    transform: translateY(-50%) translateX(0%);
    -webkit- transform: translateY(-50%) translateX(0%);
}
.bg_aim_02 {
    background: #AE75A2;
    float: right;
    margin-right: -20px;
    right: 50%;
    transform: translateY(-50%) translateX(0%);
    -webkit- transform: translateY(-50%) translateX(0%);
}
.bg_aim_03 {
    background: #F78E6B;
    float: left;
    margin-left: -20px;
    left: 50%;
    transform: translateY(-50%) translateX(0%);
    -webkit- transform: translateY(-50%) translateX(0%);
}
@media only screen and (max-width: 1200px){
.aim_img {
    width: 50%;
}
.aim_text {
    width: 50%;
}
.aim_tit {
    font-size: 160%;
margin-bottom: 10px;
}
}
@media only screen and (max-width: 640px){
.aim_img {
    width: 80%;
float: none;
    }
.aim_bg {
    height: 50vh;
background-position: 83% 110%;
    background-size: 200%;
}
.aim_tit {
    font-size: 120%;
}
.aim_text{
    padding: 20px;
    width: 80%;
position: relative;
margin-top: -20px;
    margin-bottom: 20px;
    transform: none;
    clear: both;
}
.bg_aim_01{
 left: 20%;
}
.bg_aim_02{
right: 80px;
}
.bg_aim_03{
left: 20%;
}
}

/** lineup **/
#lineup{
    overflow: hidden;
background: #D6D6D6;
    padding-bottom: 100px;
}
#lineup .font_h2{
    font-weight: 100;
    font-size: 300%;
}
#lineup .font_h2 span{
    display: block;
    font-size: 80%;
    margin-top: -20px;
}
.lineup_con{
    display: flex;
    display: -webkit-flex;
    flex-wrap: wrap;
    flex-wrap: -webkit-wrap;
    justify-content:center;
    list-style: none;
    padding-bottom: 40px;
    width: 1600px;
    margin: 0 auto;
}
.lineup_item{
    width: 16%;
}

.lineup_item .lineup_img a img{
width: 94%;
    margin: 0 auto;
}
.lineup_item dl dt{
    font-size: 120%;
    margin-bottom: 10px;
    font-weight: 700;
}
.lineup_item dl dd{
    font-size: 80%;    
}
@media only screen and (max-width: 1600px){
    .lineup_con{
    width: 100%;
    }
}
@media only screen and (max-width: 1200px){
.lineup_item {
    width: 28%;
    margin: 0px 2%;
    margin-bottom: 40px;
}
}
@media only screen and (max-width: 640px){
.lineup_item {
    width: 40%;
    margin-bottom: 40px;
}
.lineup_item dl dt {
    font-size: 90%;
    }
}

/** nocoo **/
section#nocoo {
    background: #ffffff;
}
.nocoo_con{
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
    padding-bottom: 100px;
}
.nocoo_con > div{
    width: 48%;
}
.nocoo_text {
    padding: 40px;
}
.nocoo_text p{
    font-size: 120%;
    margin: 40px auto;
}
#nocoo .font_sozai{
    font-size: max(22px, min(3vw,32px));
    font-size: clamp(22px, 3vw,32px);
    font-weight: 100;
}
.btn_more{
    text-align: center;
}
.btn_more a{
    background: #402020;
    color: #ffffff;
padding: 13px 40px;
    border-radius: 30px;
    width: 240px;
    display: block;
    margin: 0 auto;
    box-shadow: 5px 5px 15px -5px #777777;
    position: relative;
}
.btn_more a:hover{
    box-shadow: 0px 0px 0px 0px #777777;
    transform: initial;
}
.btn_more a:before{
        content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-width: 1px 1px 0 0;
    border-style: solid;
    border-color: #ffffff;
    transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 3px);
    right: 1.6em;
    transition: all .5s;
}
@media only screen and (max-width: 1200px){
.nocoo_text {
    padding-left: 0px;
}
#nocoo .font_sozai {
    font-size: max(22px, min(2.8vw,32px));
    font-size: clamp(22px, 2.8vw,32px);
}
}
@media only screen and (max-width: 640px){
.nocoo_con {
    display: block;
}
.nocoo_con > div {
    width: 90%;
    margin: 0 auto;
}
.nocoo_text {
    padding: 0;
    padding-top: 40px;
}
}

/* fin */
#fin{
    background: #ffffff;
}
.fin_bg{
    width: 1600px;
    margin: 0 auto;
}
@media only screen and (max-width: 1600px){
.fin_bg{
    width: 100%;
}
}

/* sns */
.sns_btn {
  width: 1000px;
  margin: 0 auto;
  margin-top: 50px;
  margin-bottom: 50px;
}
.link_list {
  display: flex;
  flex-flow: wrap;
  justify-content: center;
  list-style: none;
  margin-bottom: 0px;
}
.list02 li {
  width: 20%;
  font-size: 100%;
  text-align: center;
}
.list02 li a {
  padding: 10px 20px;
  border: 1px solid;
  margin: 0 10px;
  border-radius: 40px;
  display: block;
  line-height: 1.6;
  font-size: 0.8em;
}
.list02 li:nth-child(1) a {
  background-color: #1DA1F2;
  color: #ffffff;
}
.list02 li:nth-child(2) a {
  background-color: #1877F2;
  color: #ffffff;
}
.list02 li:nth-child(3) a {
  background-color: #DC0000;
  color: #ffffff;
}
.list02 li:nth-child(4) a {
  background-color: #06C755;
  color: #ffffff;
}
@media only screen and (max-width: 896px) {
  .sns_btn {
    width: 94%;
  }
  .list02 li {
    width: 50%;
  }
  .list02 li a {
    font-size: 12px;
    padding: 10px;
    margin: 10px 10px;
  }
}