@charset "utf-8";

/*--------------------------------------------------------------------------------------------------------------------------------------------- 
COMMON
---------------------------------------------------------------------------------------------------------------------------------------------*/

* {margin: 0; padding: 0; }

html {font-size: 62.5%; }

body {
  background: #F8F4ED;
  margin: 0;
  color: #553A3A;
  font-family:"source-han-sans-japanese","游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  font-display: optional;
  line-height: 1.8;
  letter-spacing: 0.04em;
  -webkit-font-smoothing: antialiased; 
  -moz-osx-font-smoothing: grayscale; 
}

.fadeIn{
  animation-name:fadeInAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
  opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

ul,ol {padding-left: 0; list-style: none;}

dd {margin-left: 0;}

input,textarea {-webkit-appearance: none;}

a {color: #553A3A; text-decoration: underline; }

a:hover {
 color:#0D9FE9;
 text-decoration: none;
 -webkit-transition: 0.2s ease-in-out;
 -moz-transition: 0.2s ease-in-out;
 -o-transition: 0.2s ease-in-out;
 transition: 0.2s ease-in-out;
}

a:hover img {opacity: 0.75;　filter: alpha(opacity=75);}

a img {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

img {max-width: 100%; height: auto; vertical-align: bottom; display: block;}

section{
  width: 90%;
  max-width: 1340px;
  margin: 0 auto;
  margin-bottom: 180px;
  position: relative;
}

.container_wrapper{
  width: 90%;
  max-width: 1340px;
  margin: 0 auto;
  margin-bottom: 120px;
  position: relative;
}


.title_cover{width: 100%; position: relative;}

.title_cover_pc {
  display: block;
  position: relative;
}

.title_cover_pc:after{
  display: block;
  content: "";
  background:#fff;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height:14vw;
  position: absolute;
  z-index:-1;
  top:0;
  left:0;
}

.title_cover_pc img{border-radius:16px;}

.title_cover_sp{display: none;}

.page_title_box{
  display: flex;
  align-items:center;
  margin:48px 0;
  position: relative;
}

h1.page_title_ja{
  display: inline-block;
  font-size:4rem;
  font-weight:600;
  margin-right: 20px;
  line-height:1;
}

h2.page_title_en{
  display: inline-block;
  color: #FF4710;
  font-size:2.2rem;
  line-height:1;
  font-weight:500;
  font-family:"Inter","游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  padding-top: 10px;
}

.page_container_single{
 width: 100%;
 max-width: 960px;
 margin: 0 auto;
 margin-bottom: 0px;
 position: relative;
}

.page_container_ws{
 width: 100%;
 max-width: 1120px;
 margin: 0 auto;
 margin-bottom: 0px;
 position: relative;
}

.page_container_wrap{
  display: flex;
  flex-direction : row-reverse;
  justify-content:space-between;
  align-items: flex-start;
}

.page_right_navi{
  width: 25%;
  max-width: 340px;
  background:#fff;
  border-radius: 14px;
  padding:60px 4% 60px;
  position: relative;
  position: sticky;
  top: 120px;
}

.page_right_navi ul{
  position: relative;
  margin:0 auto;
}

.page_right_navi ul li a{
  display: block;
  font-weight:600;
  text-decoration: none;
}

.page_right_navi ul li{  margin-bottom: 20px;}

.page_right_navi ul li:last-child{margin-bottom: 0;}

.page_right_navi ul li a i{margin-right:7px;}

.page_main{width: 64%; max-width: 840px;}

.page_block{
  width: 100%;
  background:#fff;
  border-radius: 14px;
  padding:60px 70px;
  position: relative;
  margin-bottom: 90px;
}

h3.page_block_title{
  font-size:2.6rem;
  font-weight:600;
  margin-bottom: 35px;
}

.page_block:last-child{margin-bottom: 0;}

.page_block p{margin-bottom: 30px;  text-align: justify;}

.page_block p a{ color:#0D9FE9;}

/*.element {
  opacity: 0;
  visibility: hidden;
  transform: translateY(30px);
  transition: opacity 1s, visibility 1s, transform 1s;
}

.is-fadein {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}
*/

.pc{display: block;}

.sp{display: none;}

br.pcbr{display: block;}

br.spbr{display: none;}


@media screen and (max-width: 1080px) { 

  .page_right_navi{width: 32%;　max-width: 340px;　padding:40px 4%; }

  .page_right_navi {font-size:1.4rem;}

  .page_main{width: 66%;}

  .page_block{padding:40px 6%;}

}


@media screen and (max-width: 780px) { 

  body {font-size: 1.4rem; line-height: 1.75;}

  section{
    width: 90%;
    max-width: 90%;
    margin: 0 auto 80px;
    padding-top:130px;
    margin-top:-130px;
  }

  .title_cover_pc {display:none;}

  .title_cover_sp{display: block; position: relative;  }

  .title_cover_sp:after{
    display: block;
    content: "";
    background:#fff;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    height:20vw;
    position: absolute;
    z-index:-1;
    top:0;
    left:0;
  }

  .title_cover_sp img{border-radius:8px;}

  .page_title_box{margin:34px 0;}

  h1.page_title_ja{font-size:2.4rem; margin-right: 14px;}

  h2.page_title_en{font-size:1.6rem; padding-top: 4px;}

  .page_container_wrap{display: flex; flex-direction : column;}

  .page_right_navi{
    width: 100%;
    max-width: 100%;
    border-radius: 8px;
    padding:30px 5%;
    margin-bottom: 45px;
    position: relative;
    top:0;
  }

  .page_main{width: 100%; max-width: 100%;}

  h3.page_block_title{font-size:2rem; margin-bottom: 25px;}

  .page_block{border-radius: 8px; padding:40px 5.5%; margin-bottom: 60px;}

  .page_block p{margin-bottom: 30px;}

  .sp{display: block;}

  .pc{display: none;}

  br.pcbr{display: none;}

  br.spbr{display: block;}

}

/*********************************** Header Menu ***********************************/

/*-----------------------PC navigation */

.header{position: relative;}

.header__inner{
  background:#fff;
  height: 110px; 
  box-sizing: border-box;
  position: relative;
  display: flex;
  justify-content: space-between; 
  align-items: center; 
}

h1.logo{margin-left: 45px; display: block; width: 144px; }

h1.logo img{width: 100%; height: auto; display: block;}

nav.gnavi{
  box-sizing: border-box;
  position: relative;
  display: flex;
  justify-content: space-between; 
}

.gnavi ul{
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between; 
}

.gnavi ul li{display:inline-block;}

.gnavi ul li a{
  margin-right: 2.1vw;
  font-size: 1.4rem;
  font-weight: 700;
  color: #553A3A;
  text-decoration: none;
  position: relative;
}

.gnavi ul li a::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 3px;
  background: #19B7FF;
  bottom: -3px;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.3s;
}

.gnavi ul li a:hover{color: #00A0E9;}

.gnavi ul li a:hover::after {transform: scale(1, 1);}

.mobile_menu{display: none;}

h1.mobilelogo{display: none;}

/*-----------------------mobile navigation */

@media screen and (max-width:1000px) {

  .mobile_header{
    background: #fff;
    display: flex;
    align-items: center;
    height: 82px;
    position: relative;
    width: 100%;
    z-index: 50000;
    background:#fff;  
  }

  #toppage  .mobile_header{height: 0;}

  h1.mobilelogo{
    display: block;
    max-width: 110px;
    margin: 0 auto;
    position: absolute;
    z-index: 40000;
    top: 20px;
    left: 3%;
  }

  .mobilelogo img{
    width: 100%;
    height: auto;
  }

  .mobile_menu {
    display: block;
    position: relative;
    height: 100%;
    background:#fff;
  }

  .acordion {
    margin: 0;
    padding: 0;
    position: fixed;
    width: 100%;
    top: 18px;
    right: 3%;
    text-align: right;
    width: 50px;
    height: 50px;
    background:#00A0E9;
    border-radius:100px;
    border:#fff 2px solid;
  }

  .acordion ul {
    margin: 0;
    border-top:1px solid #CEEEFF;
    display: flex;
    flex-wrap:wrap;
  }

  .acordion ul li {
    font-size: 1.4rem;
    font-weight:600;
    width: 50%;
    text-align: center;
    padding: 20px 0 20px;
    border-bottom:1px solid #CEEEFF;
  }

  .acordion ul li:nth-child(odd){border-right:1px solid #CEEEFF; }

  .acordion ul li a {
    position: relative;
    display: block;
    margin-bottom:5px;
    text-decoration: none;
    color:#fff;
  }

/*  .acordion ul li a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
  }*/

  .acordion ul li a:hover {color:#CEEEFF;}

  .acordion ul li a:hover::after {
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
  }

  .submenu {
    overflow-x: hidden;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 200;
    width: 100%;
    height: 100%;
    padding-top: 60px;
    background: rgba(0,160,233,1);
    color: #fff;
  }
  nav {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1000000;
  }

  div.menu{
    width: 100%;
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
  }

  .trigger, .trigger span {
    display: inline-block;
    transition: all .2s;
    box-sizing: border-box;
  }

  .trigger {
    position: absolute;
    top: 53%;
    left: 52%;
    transform: translate(-54%, -50%);
    width: 25px;
    height: 22px;
    z-index: 10000000;
  }

  .trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
  }

  .trigger span:nth-of-type(1) {top: 0;}
  .trigger span:nth-of-type(2) {top: 38%;}
  .trigger span:nth-of-type(3) {top: 76%;}

  #menu05 span:nth-of-type(2)::after {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background-color: #fff;
    transition: all .2s;
  }
  #menu05.active span:nth-of-type(1) {
    transform: translateY(20px) scale(0);
    background-color: #fff;
  }
  #menu05.active span:nth-of-type(2) {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    background-color: #fff;
  }
  #menu05.active span:nth-of-type(2)::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    background-color: #fff;
  }
  #menu05.active span:nth-of-type(3) {
    transform: translateY(-20px) scale(0);
    background-color: #fff;
  }

  #menu05.active span:nth-of-type(4) {color: #fff;}

  #header{display: none !important;}

  .btnMenu {
    position: fixed;
    z-index: 999;
    top: 10px;
    right: 10px;
    width: 40px;
    height: 65px;
    display: block;
    font-size: 30px;
    text-align: center;
    overflow: auto;
  }

  .btnMenu a {text-align: center; color: #000;}

  .btnMenu a:hover {color: #878787;}

  .header{display: none;}

  .menu_chara{max-width: 230px; margin:30px auto 0;}

}

/*********************************** Footer ***********************************/

#footer{background:#00A0E9; color:#fff; position: relative; padding-top:6vw; margin-top: 250px;}

.footer_wave{width:100%; position:absolute; top:-6vw; }

.f_contact_area{
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 60px ;
}

h2.title_contact{font-size:2.6rem;}

.f_contact_right{margin-left:45px; font-size:1.4rem;}

.f_contact_right a{color:#fff;}

.fukidashi{max-width: 500px; margin:0 auto 15px;}

.f_logo_area{padding-top: 80px;}

ul.f-logo{display: flex; justify-content: center; margin-bottom: 30px;}

ul.f-logo li{margin: 0 25px;}

ul.f-logo li img{height: 36px; width: auto;}

ul.f_sns{display: flex; justify-content:center;}

ul.f_sns li a{color:#fff; font-size:4.3rem; margin:0 25px;}

ul.f_sns li a:hover{color:#CEEEFF;}

.copyright{padding: 20px 0;}

.copyright p{text-align: center; font-size:1.2rem; color:#fff;}

.f_chara01{
  max-width:180px;
  position:absolute;
  top:-7vw;
  left:6vw;
}

.f_chara02{
  max-width:90px;
  position:absolute;
  bottom:6vw;
  right:6vw;
}

@media screen and (max-width: 1100px) { 

  .f_chara01{max-width:140px; position:absolute; top:-10vw; left:3vw;}

  .f_chara02{max-width:70px; position:absolute; top:3vw; right:6vw;}

}

@media screen and (max-width: 780px) { 

  #footer{
    background:#00A0E9;
    color:#fff;
    position: relative;
    padding-top:6vw;
    margin-top: 90px;
  }

  .footer_wave{
    width:100%;
    position:absolute;
    top:-6vw;
  }

  .f_contact_area{
    width: 90%;
    margin:0 auto;
    flex-flow: column;
    margin-bottom: 40px;
  }

  h2.title_contact{font-size:1.6rem; margin-bottom:10px;}

  .f_contact_right{margin-left:0; font-size:1.2rem;}

  .fukidashi{width:80%; max-width:80%; margin:0 auto 15px;}

  .f_logo_area{padding-top: 50px;}

  ul.f_sns{display: flex; justify-content:center;}

  ul.f_sns li a{font-size:3.3rem;}

  .copyright p{text-align: center; font-size:1rem; color:#fff;}

  .f_chara01{max-width:120px; position:absolute; top:-80px; left:3vw;}

  .f_chara02{max-width:50px; position:absolute; top:3vw; right:6vw;}

  ul.f-logo{display: block; margin: 0 auto ; width:80%;}

  ul.f-logo li{margin: 0 auto 40px;}

  ul.f-logo li:last-child{margin-bottom:0;}

  ul.f-logo li img{height: 30px; margin: 0 auto;}

}


/*********************************** button ***********************************/

.button a,.button_down a{
  border-radius: 50px;
  max-width: 220px;
  height:50px;
  position: relative;
  display: flex;
  justify-content:center;
  align-items: center;
  padding: 20px 5px;
  transition: 0.3s ease-in-out;
  font-size:1.4rem;
  font-weight:600;
  text-decoration:none;
  border:1px solid #553A3A;
}

.button a {background:#553A3A; color: #fff;}

.button a i{margin-right: 8px; padding-top:3px;}

.button a:hover {background: #fff; color:#553A3A;}

.button_down a {background:#fff; color: #553A3A; border:#D9D3C7 1px solid;}

.button_down a i{margin-right: 8px; color:#E61012;}

.button_down a:hover {background: #553A3A; color:#fff; border:1px solid #553A3A;}

.button_down a:hover i{color:#fff;}

.button_right a{margin: 40px 0 0 auto;}

.button_center a{margin: 40px auto;}

.button_left a{margin:40px 0 0;}

@media screen and (max-width: 780px) { 

  .button_left a, .button_right a{margin: 40px auto;}

}


/*--------------------------------------------------------------------------------------------------------------------------------------------- 
Topページ
---------------------------------------------------------------------------------------------------------------------------------------------*/

.mainvisual{
  background:#fff;
  position: relative;
}
.slider {
  margin-inline: auto;
  max-width: 100%;
  width: 100%;
}
.slider-img {margin: 0 10px;}

.slider-img img {
  height: auto;
  width: 650px;
  border-radius:30px;
}

.message{
  width:80px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}

/*top_about*/
section#top_about{
  position: relative;
  background:#fff;
  width: 100%;
  max-width: 100%;
  padding:0 4% 35px;
  margin-bottom: 100px;
}

.top_about_inner{
  position: relative;
  top:-10px;
  display: flex;
  align-items:flex-end;
  justify-content:space-between;
}

.top_about_info{display: flex; align-items:flex-end; }

.chara_softpia{max-width: 112px; width: 30%; margin-right: 30px; }

.img_suchedule{max-width:608px; width: 70%;  margin-right: 30px;}

.top_about_button .button{width: 160px;}

/*top_info*/
#top_info.top_section_wrap{
  display: flex;
  max-width: 1180px;
  justify-content: space-between;
  margin-bottom: 30px;
}

.top_section_news{
  width: 65%;
  max-width: 760px;
  position: relative;
}

.news_chara{
  position: absolute;
  width: 90px;
  top:-10px;
  right:0;
}

h2.top_title{font-size:4rem; margin-bottom: 25px;}

ul.top_info_list{
  width: 100%;
  border-top:1px solid #D9D3C7;
}

ul.top_info_list li{
  padding:30px 0;
  border-bottom:1px solid #D9D3C7;
}

ul.top_info_list li a{
  text-decoration:none;
  font-weight:600;
}

ul.top_info_list li a .top_info_list_date{
 font-size:1.5rem;
 font-weight:normal;
 display:inline-block;
 margin-right: 14px;
}

ul.top_info_list li a .top_info_list_cat{
  display:inline-block;
  font-size:1.3rem;
  font-weight:normal;
  width: 120px;
  padding:3px 0;
  background:#fff;
  border:#D9D3C7 1px solid;
  border-radius:100px;
  text-align: center;
  margin-right: 20px;
}

ul.top_info_list li a .top_info_list_title{display:inline-block;}

ul.top_info_list li a:hover .top_info_list_date,
ul.top_info_list li a:hover .top_info_list_cat{color:#553A3A;}

.top_section_flyer{
  position: relative;
  margin-top: 50px;
  max-width: 320px;
  width: 27%;
}

.flyer_copy{
  width: 160px;
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateY(0%) translateX(-50%);
  -webkit- transform: translateY(0%) translateX(-50%);
}

.flyer_box{
  width:100%;
  padding:50px;
  background:#fff;
  border-radius:15px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.flyer_box img{width: 220px; height:auto;}

/*top_makers*/

section#top_makers{padding-top: 90px;}

.makers_list_wrap{position: relative;}

.top_title_area{
  display: flex;
  align-items: flex-end;
  justify-content:space-between;
  margin-bottom: 45px;
}

.top_title_maker_img{display: flex; align-items: center;  }

.chara_maker{width: 120px; margin-right: 20px;}

.top_title_maker h2.top_title{font-size: 4rem; margin: 0 45px 0 0;}

.top_makers_caption{font-size:1.4rem; vertical-align: middle;}

.top_title_area .button{width: 180px;}

ul.makers_list{display: flex; flex-wrap: wrap; width: calc(100% + 43px);}

ul.makers_list li a{text-decoration:none;}

ul.makers_list li{box-sizing: border-box; width: calc(33.3333% - 43px); margin: 0 43px 60px 0;}

ul.makers_list li img{width: 100%; margin-bottom: 25px; border-radius: 8px;}

.makers_list_name{font-weight:bold; line-height:1.7; margin-bottom: 15px;}

.makers_list_title{font-size: 1.4rem;  margin-bottom: 18px; color:#553A3A;}

.makers_number{
  display: inline-block;
  color: #00A0E9;
  font-size:1.2rem;
  background:none;
  border:1px solid #00A0E9;
  padding:3px 15px;
  border-radius:4px;
  margin-right: 8px;
  margin-bottom: 8px;
}

.makers_list_cancel{
  display: inline-block;
  color: #222;
  background:#dedede;
  font-size:1.2rem;
  border:1px solid #dedede;
  border-radius:4px;
  padding:3px 15px;
  margin-bottom: 8px;
}



/*top_pw*/
section#top_pw{
  max-width: 1240px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.top_pw_box{
  width: 45%;
  margin:0 15px;
  background:#fff;
  border-radius:20px;
  position: relative;
}

.top_pw_box02{margin-top:90px;}

.top_pw_box_inner{padding:45px 6% 0; }

.top_pw_box_inner h2.top_title{font-size:2.8rem; text-align: center;}

.top_text{margin-bottom: 30px;}

.top_pw_img img{border-radius:0 0 20px 20px;}

.chara_presen{width: 120px; position: absolute; top:-110px; left:0;}

.chara_ws{width: 110px; position: absolute; top:-130px; right:20px;}


@media screen and (max-width: 980px) { 

 section#top_about{margin-bottom: 70px;}

 #top_info.top_section_wrap{display: flex; max-width: 1180px; flex-flow:column;  margin-bottom: 0px;  }

 .top_section_news{width: 100%; max-width: 100%;}

 .news_chara{ width: 70px; top:-10px; right:0;}

 h2.top_title{font-size:2.4rem; margin-bottom: 15px;}

 .top_section_flyer{max-width: 76%; width: 76%; margin:50px auto 0;}

}

@media screen and (max-width: 780px) { 

 .slider {
  padding-top:20px;
  margin-inline: auto;
  max-width: 100%;
  width: 100%;
}

.slider-img {margin: 0 10px;}

.slider-img img {
  height: auto;
  width: 400px;
  border-radius:12px;
}

.message{
  width:50px;
  top: 55%;
  left: 50%;
}

section#top_about{
  background:#fff;
  width: 100%;
  max-width: 100%;
  padding:0 5% 40px;
  margin-bottom:30px;
  margin-top:0;
}

#top_info.top_section_wrap{ margin-bottom: 70px;  padding-top:0; margin-top:0; }

.top_about_inner{
  position: relative;
  top:-10px;
  display: flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
}

.top_about_info{flex-direction:column;}

.chara_softpia{width:80px; margin-right:0px; margin-bottom:0;}

.img_suchedule{
  max-width:500px;
  width:90%;
  margin-bottom: 10px;
  margin:0 auto;
  position: relative;
  top:-45px;
}

.top_about_button .button{width: 180px; margin-top:-10px;}

ul.top_info_list{width: 100%; border-top:1px solid #D9D3C7;}

ul.top_info_list li{padding:20px 0; border-bottom:1px solid #D9D3C7; font-size:1.4rem;}

ul.top_info_list li a .top_info_list_date{font-size:1.4rem;}

ul.top_info_list li a .top_info_list_cat{font-size:1.2rem; width: 100px;}

ul.top_info_list li a .top_info_list_title{display:block; margin-top:8px;}

.makers_list_wrap{position: relative;}

.top_title_area{margin-bottom: 20px;}

.top_title_area .button{display:none;}

.chara_maker{width: 70px; margin-right: 15px;}

.top_title_maker h2.top_title{font-size: 2.4rem; margin: 0;}

.top_makers_caption{font-size:1.2rem; vertical-align: middle;}

ul.makers_list{
  width: 100%;
  justify-content:space-between;
}

ul.makers_list li{
  width: calc(100% / 2 - 13px); 
  margin:0 0 30px;
}

ul.makers_list li:after{
  content: "";
  display: block;
  width: calc(100% / 2 - 13px);
}

ul.makers_list li img{width: 100%; margin-bottom: 18px; border-radius: 6px;}

.makers_list_name{font-size:1.4rem; margin-bottom: 12px; }

.makers_list_title{font-size: 1.2rem;}

.makers_number, .makers_list_cancel{font-size:1.1rem;}

section#top_pw{max-width: 100%; flex-direction:column; padding-top:0; margin-top:0;}

.top_pw_box{width: 100%; margin:0 auto 40px; border-radius:10px;}

.top_pw_box02{margin-top:0;}

.top_pw_box_inner{padding:30px 5% 0; }

.top_pw_box_inner h2.top_title{font-size:2rem; text-align: center; margin-bottom:30px;}

.top_pw_img img{border-radius:0 0 10px 10px;}

.chara_presen{width: 90px; position: absolute; top:-80px; left:3px;}

.chara_ws{width: 80px; position: absolute; top:auto; bottom:-30px; right:20px;}

}

/*--------------------------------------------------------------------------------------------------------------------------------------------- 
ABOUT
---------------------------------------------------------------------------------------------------------------------------------------------*/

.chara_about{
  width: 150px;
  position:absolute;
  top:-100px;
  right:10px;
}

.greeting_catch{
  font-size:2rem;
  font-weight:700;
  margin-bottom: 34px;
  color:#00A0E9;
}

.youtube {width: 100%; aspect-ratio: 16 / 9; margin-top: 20px;}

.youtube iframe {width: 100%;  height: 100%;}

.yotube_caption{font-size:1.2rem; margin-top: 15px;}

dl.outline_schedule{display: flex; flex-wrap: wrap; border-top: 1px solid #D9D3C7;}

dl.outline_schedule dt,
dl.outline_schedule dd{padding:25px; border-bottom: 1px solid #D9D3C7;}

dl.outline_schedule dt{width: 23%; font-weight: 700; background: #F2EFEA;}

dl.outline_schedule dd{width: 77%;}

dl.outline_schedule dd span{font-size: 1.3rem;}

dl.outline_schedule dd .button a{margin:18px auto 5px 0;}

dl.outline_schedule dd span.outline_strong{font-size:1.7rem; font-weight:700;}

dl.outline_schedule dd a{ color:#0D9FE9;}

dl.outline_schedule dd .button a{color:#fff;}

dl.outline_schedule dd .button a:hover{color:#553A3A;}

.attention{border:1px solid #D9D3C7; border-radius:10px; padding:25px 40px; font-size:1.4rem; margin:40px auto 10px;}

.attention_title{ font-weight:700; margin-bottom: 15px; }

.attention ul{list-style:circle; list-style-position: outside; padding-left:20px;}

.attention ul li{margin-bottom: 5px;}


@media screen and (max-width: 780px) { 

  .chara_about{ width: 120px; top:-80px;}

  .greeting_catch{font-size:1.7rem;}

  dl.outline_schedule{flex-direction:column; border:none;}

  dl.outline_schedule dt, dl.outline_schedule dd{width: 100%; border:none;}

  dl.outline_schedule dt{padding:14px 14px;}

  dl.outline_schedule dd{padding:16px 0 27px;}

  dl.outline_schedule dd .button a{margin:18px auto 10px;}


  dl.outline_schedule dd span{font-size:1.2rem;}

  dl.outline_schedule dd span.outline_strong{font-size:1.5rem;}

  .attention{padding:7%; font-size:1.3rem; border-radius:8px;}
}


/*--------------------------------------------------------------------------------------------------------------------------------------------- 
Maker Index
---------------------------------------------------------------------------------------------------------------------------------------------*/

.chara_makers{width: 300px; position: absolute; top:-140px; right:30px; z-index:20;}

.chara_makers02{width: 300px; position: absolute; top:1px; right:30px; z-index:20;}


/*検索部分 PC*/
.search{margin: 0 auto 50px; padding: 40px 45px 30px; background:#fff; border-radius:14px; position: relative; }

.search__container{ padding:0 0 8px; display: flex; flex-direction:column;}

.search_left{font-weight: bold; width:100%; margin-bottom: 18px; font-size:1.8rem;}

.search_right{width:100%;}

.search_right ul{width:100%; display: flex; flex-wrap: wrap;}

.search_right ul li{margin:0 10px 18px 0; }

.search_right ul li a{
  display:block;
  position:relative;
  line-height:1;
  font-size:1.4rem; 
  font-weight: 300;
  border:1px solid #D9D3C7;
  padding:7px 20px;
  text-decoration: none;
  border-radius:100px;
}

.search_right ul li a:hover{
  color:#fff;
  border:1px solid #553A3A;
  background:#553A3A;
}

.search_right ul li:last-child::after{content:none;}

h3.category_title{font-size: 2.3rem;  margin-bottom: 50px; font-weight: 700;}

h3.category_title span{font-size: 2.8rem;}

.taxonomy {margin-bottom: 60px;}

.taxonomy .chara_makers{display:none;}


@media screen and (max-width:1080px) { 

  .search{padding: 40px 4% 35px; }

}


@media screen and (max-width:780px) { 

  .chara_makers{width:180px; position: absolute; top:-140px; right:0;}

  .chara_makers02{width: 180px; position: absolute; top:-50px; right:0px; z-index:20;}


.taxonomy {margin-top:20px; margin-bottom:-10px;}

  .search{margin-bottom: 60px; border: none; padding:0; background:none;}

  .cp_ipselect {
    overflow: hidden;
    width: 100%;
    margin:0 0 1.5em;
    text-align: center;
  }

  .cp_ipselect select {
    font-size:1.6rem;
    width: 100%;
    padding-right: 1em;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
  }

  .cp_ipselect select::-ms-expand {display: none;}

  .cp_ipselect.cp_sl01 {
    position: relative;
    border: 1px solid #bbbbbb;
    border-radius: 2px;
    background: #ffffff;
  }

  .cp_ipselect.cp_sl01::before {
    position: absolute;
    top: 1em;
    right: 0.9em;
    width: 0;
    height: 0;
    padding: 0;
    content: '';
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #666666;
    pointer-events: none;
  }

  .cp_ipselect.cp_sl01 select {padding: 8px 38px 8px 8px; color: #666666;}

  h3.category_title{font-size: 1.6rem;  margin-bottom: 40px; }

  h3.category_title span{font-size: 2rem;}

}

/*--------------------------------------------------------------------------------------------------------------------------------------------- 
Makers Single
---------------------------------------------------------------------------------------------------------------------------------------------*/

article.maker_single{margin-bottom: 55px; position: relative;}

article.makers_sub_block{padding-bottom: 50px;}

.makers_head{margin: 0 0 25px;}

.makers_head_booth{
  display: flex;
    flex-direction: column;
  align-items:flex-start;
  border-bottom: 1px dotted #D9D3C7;
  padding-bottom:15px;
  margin-bottom: 30px;
}

.makers_attribute{
  display: flex;
  flex-wrap:wrap;
  margin-bottom: 18px;
}

.makers_number_single{
  color:#0D9FE8;
  font-size:1.3rem;
  font-weight: 300;
  vertical-align:middle;
  line-height:1;
  text-align: center;
  border-radius:4px;
  border: 1px solid #0D9FE8;
  display: inline;
  padding: 6px 15px;
  margin-right: 15px;
}

.makers_single_cancel{
  background:#dedede;
  color:#222;
  font-size:1.3rem;
  font-weight: 300;
  vertical-align:middle;
  line-height:1;
  text-align: center;
  border-radius:4px;
  border: 1px solid #d8d8d8;
  display: inline;
  padding: 6px 25px;
}  

h3.makers_name{
  display:inline-block;
  font-size: 2.8rem; 
  margin-right: 25px;
}

.slider02{margin-bottom: 40px; }

.slick-next{right:25px !important;}

.slick-prev{left:25px !important; z-index:20;}

.slick-prev:before, .slick-next:before {color: #0D9FE8 !important;  }

ul.makers_tag{ display: flex; flex-direction: row; flex-wrap: wrap;}

ul.makers_tag li{margin:0 11px 12px 0; }

ul.makers_tag li a{
  display:block;
  position:relative;
  line-height:1;
  font-size:1.2rem; 
  font-weight: 300;
  border:1px solid #D9D3C7;
  padding:6px 14px;
  text-decoration: none;
  border-radius:100px;
}

ul.makers_tag li a:hover{
  color:#fff;
  border:1px solid #553A3A;
  background:#553A3A;
}

h4.makers_title{font-size: 2.4rem; margin:35px 0 36px;}

.makers_image img{width: 100%; margin-bottom: 40px;}

.makers_post{ margin:0;}

.makers_post p{margin: 0 0 50px; line-height:2;}

.makers_post p a{text-decoration: underline;}

.makers_post p a:hover{text-decoration: none;}

.movie {width: 100%; aspect-ratio: 16 / 9; margin:30px 0;}

.movie iframe {width: 100%; height: 100%;}

.makers_profile{ padding-bottom: 20px; margin-bottom: 90px; }

.makers_sub_block h5{font-size: 1.8rem; padding-bottom:14px; margin-bottom: 35px; border-bottom: 1px dotted #D9D3C7;}

.makers_sub_block_name{font-weight:bold; margin-bottom:24px;}

.makers_sub_block p{margin:5px 0 30px;}

.presentation_date{color:#FF0002; font-size:1.4rem; font-weight:700; margin-bottom: 2px;}

.workshop_detail{margin:50px 0 30px;font-size:1.4rem;}

.makers_web_box{font-size:1.4rem;}

.makers_web_title{ font-weight:700;}

ul.makers_web{overflow: hidden; margin-bottom: 14px; }

ul.makers_web li a{margin-bottom: 6px; color: #0D9FE8; font-weight: 300;}

ul.makers_web li a:hover{text-decoration: none; color: #0079C4;}

.button_make{position: absolute; bottom:-24px; right:-20px;}

.button_make a{width: 270px;}

.related{padding: 40px 0 0px;}

h4.related_title{font-size: 2.4rem; text-align: center; margin-bottom: 45px;}

ul.related_list{display: flex; flex-wrap: wrap; width: calc(100% + 30px);}

ul.related_list li a{text-decoration:none;}

ul.related_list li{box-sizing: border-box; width: calc(25% - 30px); margin: 0 30px 60px 0;}

ul.related_list li img{width: 100%; margin-bottom: 25px; border-radius: 8px;}

@media screen and (max-width: 980px) { 

ul.related_list{width: 100%; justify-content:space-between;}

ul.related_list li{width: calc(100% / 2 - 13px); margin:0 0 45px;}

ul.related_list li:after{content: ""; display: block; width: calc(100% / 2 - 13px);}

}


@media screen and (max-width: 780px) { 

  article.maker_single{margin-bottom: 48px; position: relative;}

  article.makers_sub_block{padding-bottom: 40px;}

  .makers_head{margin-bottom:5px;}

  .makers_head_booth{
    align-items: flex-start;
    padding-bottom:15px;
    margin-bottom: 30px;
  }


.makers_number_single, .makers_single_cancel{margin-bottom:6px;}

.makers_attribute{margin-bottom:12px;}

.slider02{margin-bottom: 30px; }

  h3.makers_name{font-size:2.2rem;  margin:0; line-height:1.6;}

  ul.makers_tag li a{font-size:1.2rem;}

  h4.makers_title{font-size: 1.8rem; margin:15px 0 27px; line-height:1.6;}

  .makers_image img{margin-bottom: 30px;}

  .makers_sub_block h5{font-size: 1.4rem;  margin-bottom: 25px;}

  .presentation_date{color:#FF0002; font-size:1.3rem; margin-bottom:14px;}

  .workshop_detail{margin:30px 0 30px;font-size:1.3rem;}

  .makers_web_box{font-size:1.2rem;}

  .button_make{position: absolute; bottom:-20px; right:0px; z-index:30;}

  .button_make a{width: 270px; font-size:1.3rem;}

  .related {padding:0;}

  h4.related_title{font-size: 1.8rem; margin-bottom:20px;}

}

/*--------------------------------------------------------------------------------------------------------------------------------------------- 
Workshop / Event
---------------------------------------------------------------------------------------------------------------------------------------------*/

.program_download{
  position: relative;
  margin:0 0 70px;
}

.program_download .button_down a{
  max-width:320px;
  margin-top: 24px;
}

.chara_ws02{
  width: 130px;
  position: absolute;
  bottom:-150px;
  right:7%;
  z-index:30;
}

.chara_ws03{
  width: 130px;
  position: absolute;
  bottom:0;
  right:5%;
  z-index:30;
}

.chara_event{
  width: 180px;
  position: absolute;
  bottom:-120px;
  right:45%;
}

.wsmessage{
  font-weight:bold;
  margin-bottom: 40px;
}

article.ws_single{margin-bottom: 55px; position: relative;}

article.ws_sub_block{padding-bottom: 70px;}

.ws_info, .ws_info02{
  display: flex;
  justify-content:space-between;
  border-bottom: 1px dotted #D9D3C7;
  padding-bottom:35px;
  margin-bottom: 30px;
}

.ws_info{flex-direction: row-reverse;}

.ws_info02{flex-direction: reverse;}

.ws_info_image{width: 35%; max-width: 330px;}

.ws_info_image img{width: 100%;}

.ws_detail_info{width: 63%; max-width: 640px;}

.ws_info02 .ws_detail_info{width: 100%; max-width:100%;}

h4.ws_title{
  font-size: 2.4rem;
  font-weight:600;
  margin:-8px 0 18px;
}

.ws_detail_author{
  display: flex;
  align-items:center;
  margin-bottom: 30px;
}

.ws_detail_name a{
  display:inline-block;
  margin-right: 15px;
  font-weight:700;
  color:#0D9FE8;
}

.ws_detail_number{
  color:#0D9FE8;
  font-size:1.2rem;
  font-weight: 300;
  vertical-align:middle;
  line-height:1;
  text-align: center;
  border-radius:4px;
  border: 1px solid #0D9FE8;
  display: inline;
  padding: 6px 15px;
}

.ws_detail_info p a, .ws_info_sub a{ color:#0D9FE8;}


@media screen and (max-width: 1080px) { 

  .chara_event{bottom:-120px; right:20%;}

}

@media screen and (max-width: 980px) { 

  .chara_ws02{width: 110px; top:auto; bottom:-80px; z-index: 50;}

  .chara_ws03{width: 110px; top:auto; bottom:-110px; right:2%; z-index: 50;}


  .ws_info{flex-direction: column-reverse;}

  .ws_info02{flex-direction: reverse;}

  .ws_info_image, .ws_detail_info, .ws_info_image img{width: 100%; max-width: 100%;}

  .ws_info_image{margin-top:25px;}

}

@media screen and (max-width: 780px) { 

  .program_download{position: relative; margin:0 0 60px;}

  .program_download .button_down a{max-width:320px; margin-top: 24px;}

  .chara_ws02{width: 80px; top:auto; bottom:-58px; right:-1%; z-index: 50;}

  .chara_ws03{width: 80px; bottom:-140px; right:10px;z-index: 50;  }

  .chara_event{width: 130px; bottom:-65px; right:-8px;}

  article.ws_single{margin-bottom: 48px; position: relative;}

  article.ws_sub_block{padding-bottom: 40px;}

  .ws_info{flex-direction: column-reverse;}

  .ws_info02{flex-direction: reverse;}

  .ws_info_image, .ws_detail_info, .ws_info_image img{width: 100%; max-width: 100%;}

  .ws_info_image{margin-top:25px;}

  .ws_info02 .ws_detail_info{width: 100%; max-width:100%;}

  h4.ws_title{font-size: 2rem; margin:0 0 12px; line-height:1.5;}

  .ws_detail_author{flex-direction:column; align-items: flex-start; margin-bottom: 24px;}

  .ws_detail_name{margin-bottom:18px;}

  .ws_info p, .ws_info_sub{font-size:1.4rem;}

  .ws_single .button_left a{margin-bottom: 20px;}

}

/*--------------------------------------------------------------------------------------------------------------------------------------------- 
Presentation
---------------------------------------------------------------------------------------------------------------------------------------------*/

.chara_presen02{width: 150px; position: absolute; bottom:15px; right:2%;}

.bl_tabContainer + * {margin-top: 30px;}

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

.bl_tabList li {width: 49.2%;}

.bl_tabList li a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px 10px;
  font-size: clamp(1.6rem, calc(1rem + 0.625vw), 2rem);
  font-weight:700;
  text-decoration: none;
  color:#fff;
  border-radius:16px 16px 0 0;
  transition: 0.3s;
  background:#C6BEAF;
  box-shadow: inset 0px -15px 15px rgba(0,0,0,0.1);;
}

.bl_tabList li a.active {
  background-color: #fff;
  box-shadow:none;
  color:#553A3A;
  cursor: pointer;
}

/* タブコンテンツ */
.bl_tabContent > div {
  background-color: #fff;
  padding: 60px 70px;
  display: none;
  border-radius:0 0 16px 16px;
}

.bl_tabContent > div.active {display: block;}

.bl_tabContent > div > * + * {margin-top: 10px;}

.tab_content .button a{
  max-width:274px;
  margin:-10px 0 34px;
}

.timetable_body{
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 45px;
}

.timetable_time{
  border: 1px solid #d9d3c7;
  width: 25%;
  background: #f2efea;
  font-weight:700;
  text-align: center;
  vertical-align:middle;
  margin-right: -1px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.timetable_detail{
  padding:35px 40px;
  border: 1px solid #d9d3c7;
  width: 75%;
}

.timetable_detail_title{
  font-size:1.8rem;
  font-weight:700;
  margin-bottom: 18px;
}

.timetable_detail_name a{
  display: block;
  color:#0D9FE8;
  font-weight:700;
  margin-bottom: 30px;
}

.timetable_detail_text{font-size:1.4rem;}

@media screen and (max-width: 945px) { 

  .title_presen h1.page_title_ja{font-size:2.2rem;}

  .chara_presen02{width: 130px; top:-110px; bottom:auto; right:2%;}

}

@media screen and (max-width: 780px) { 

  .chara_presen02{
    width: 110px;
    top:-140px;
    bottom:auto;
    right:0;
  }

  .bl_tabContainer{margin-top:0px; }

  .bl_tabList li a {
    font-size:1.3rem;
    padding: 15px;
    border-radius:8px 8px 0 0;
  }

  .bl_tabContent > div {
    padding: 40px 5.5%;
    border-radius:0 0 8px 8px;
  }

  .tab_content .button a{
    max-width:274px;
    margin:0 auto 40px;
  }

  .timetable_body{
    flex-direction:column;
    flex-wrap: nowrap;
    margin-bottom: 20px;
  }

  .timetable_body:last-child{margin-bottom:0;}

  .timetable_time{
    border: none;
    width: 100%;
    padding:13px 18px;
    text-align: left;
    margin-right: 0;
    display: block;
  }

  .timetable_detail{
    border:none;
    padding:25px 0;
    width: 100%;
  }

  .timetable_detail_title{
    font-size:1.8rem;
    margin-bottom: 15px;
    line-height:1.6;
  }

}


/*--------------------------------------------------------------------------------------------------------------------------------------------- 
NEWS Index
---------------------------------------------------------------------------------------------------------------------------------------------*/

.chara_news{
  width: 110px;
  position: absolute;
  bottom:-100px;
  right:60px;
}

ul.news_list{
  display: flex;
  flex-wrap: wrap;
  width: calc(100% + 43px); 
}

ul.news_list li{
  box-sizing: border-box;
  width: calc(33.3333% - 43px); 
  margin: 0 43px 75px 0;　
}

ul.news_list li img{width: 100%; margin-bottom: 18px; border-radius: 6px;}

ul.news_list li a {text-decoration: none;}

.news_list_title {font-weight:700; margin-bottom: 8px;}

.news_list_date{font-family: inter; color: #707070; font-size: 1.4rem; }

@media screen and (max-width: 780px) {

  .chara_news{ width: 70px; bottom:-100px; right:20px;}

  ul.news_list{width: 100%; justify-content:space-between;}

  ul.news_list li{width: calc(100% / 2 - 13px); margin:0 0 30px;}

  ul.news_list li:after{content: ""; display: block; width: calc(100% / 2 - 13px);  }

  .news_list_title{line-height:1.6; margin-bottom:20px;}

  a .news_list_date{font-size: 1.2rem;}


}

/*--------------------------------------------------------------------------------------------------------------------------------------------- 
NEWS Single
---------------------------------------------------------------------------------------------------------------------------------------------*/

article{border-radius:14px; background:#fff; padding:70px 70px;}

h3.news_title{font-size: 2.6rem; margin:20px 0 45px;}

.news_post{ border-bottom: 1px #222 dotted; padding-bottom: 40px; margin-bottom: 55px; }

.news_post p, .news_post img{margin: 0 0 30px;}

.news_post p{line-height:2;}

.news_post p a{text-decoration: underline; font-weight:bold;}

.news_post p a:hover{text-decoration: none; }

.news_post img{width: 100%;}

article .button_center a{margin-bottom:0;}

@media screen and (max-width: 780px) {

  article{background:#fff;  border-radius:8px; padding:36px 5.5%;}

  h3.news_title{font-size: 1.8rem; margin-bottom: 30px;}

  .news_post{ padding-bottom: 30px; margin-bottom: 40px; }

}

/*--------------------------------------------------------------------------------------------------------------------------------------------- 
SPONSORS
---------------------------------------------------------------------------------------------------------------------------------------------*/

.chara_sponsor{
  width: 170px;
  position: absolute;
  bottom:-100px;
  left:360px;
}

.spn_area{
  margin-bottom: 60px;
  display: block;
}

.spn_area:last-child{
  border: none;
  padding-bottom:  0x;
  margin-bottom: 0;
}

h3.s_title{font-size:2.4rem; margin-bottom: 40px;}

/*ul.s_list_03{
  display: flex;
  flex-wrap: wrap;
  width: calc(100% + 80px); 
}

ul.s_list_03 li{
  box-sizing: border-box;
  width: calc(33.3333% - 80px);
  margin: 0 80px 55px 0;
}*/


ul.s_list_03{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content:space-between;
}

ul.s_list_03 li{
  width: calc(100% / 3 - 2.5%);
  margin:0 0 55px 0;
}

ul.s_list_03 li::after{
  content: "";
  display: block;
  width: calc(100% / 3 - 2.5%);
}

ul.s_list_03 li img{width: 100%; margin-bottom: 20px;}


.s_list_name{margin-bottom: 12px; font-size: 1.5rem; line-height: 1.75; font-weight: 700;}

.s_list_name a{text-decoration: none;}

.s_list_info{
  font-size: 1.25rem;
  text-align: justify;
  text-justify: inter-ideograph;
  word-break: break-word;
}

/*ul.s_list_04{
  display: flex;
  flex-wrap: wrap;
  width: calc(100% + 20px);
}

ul.s_list_04 li{
  box-sizing: border-box;
  width: calc(20% - 20px);
  margin: 0 20px 25px 0;
}*/

ul.s_list_04, ul.s_list_05{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content:space-between;
}

ul.s_list_04 li,
ul.s_list_05 li{
  width: calc(100% / 5 - 15px);
  margin:0 0 20px 0;
}

ul.s_list_04 li::after,
ul.s_list_05 li::after{
  content: "";
  display: block;
  width: calc(100% / 5 - 15px);
}

ul.s_list_05 li{
  background:#fff;
  width:100%;
  aspect-ratio: 20 / 11;
  box-sizing: border-box;
  width: calc(100% / 5 - 15px);
  position: relative;
  font-size:1.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  display: block;
}

ul.s_list_05 li.empty{background:none;}

ul.s_list_05 li a{
  text-decoration:none;
  display: block;
  height:100%;
  width:100%;
  text-align: center;
  vertical-align:middle;
}

ul.s_list_05 li div{
 position: absolute;
 width: 100%;
 padding:15px 5px;
 top: 50%;
 left: 50%;
 transform: translateY(-50%) translateX(-50%);
 -webkit- transform: translateY(-50%) translateX(-50%);
 text-align: center;
}

@media screen and (max-width: 980px) { 

ul.s_list_05 li{font-size:1.3rem;}
}


@media screen and (max-width: 780px) { 

  .chara_sponsor{width: 130px; position: absolute; bottom:-50px; left:auto; right:7px;}

  .sponsor_area{padding-bottom: 20px; margin-bottom: 40px;}

  h3.s_title{font-size:2rem; margin-bottom: 25px;}

  ul.s_list_03{ display: block; width: 100%;}

  ul.s_list_03 li{width: 100%; margin: 0 0 45px 0;}

/*
  ul.s_list_04{width: calc(100% + 20px); }

  ul.s_list_04 li{ width: calc(50% - 20px);  margin: 0 20px 20px 0;}

  ul.s_list_05{display: flex; flex-wrap: wrap; width: calc(100% + 20px);}

  ul.s_list_05{width: calc(100% + 20px);}

  ul.s_list_05 li{ width: calc(50% - 20px); font-size:1.15rem; margin: 0 20px 20px 0;}

*/

  ul.s_list_04, ul.s_list_05{width: 100%; justify-content:space-between;}

  ul.s_list_04 li, ul.s_list_05 li{width: calc(100% / 2 - 10px); margin:0 0 20px;}

  ul.s_list_04 li:after,
  ul.s_list_05 li:after{content: ""; display: block; width: calc(100% / 2 - 10px);  }

  ul.s_list_04 li img{margin-bottom: 0;}

  ul.s_list_05 li.empty{background:none; display:none;}

}


/*--------------------------------------------------------------------------------------------------------------------------------------------- 
ACCESS
---------------------------------------------------------------------------------------------------------------------------------------------*/

.chara_access{width: 160px; position:absolute; top:-110px; left:-30px;}

h4.page_block_title_sub{font-size:1.8rem; margin-bottom: 18px;}

.gmap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  height: 0;
  margin-bottom: 40px;
}

.gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.parking{margin:40px auto;}

.parking img{border:#D9D3C7 1px solid;}

.transport{margin-bottom: 60px;}

.transport:last-child;{margin-bottom: 0;}

.transport .table{
  border: 1px solid #D9D3C7;
  text-align: center;
  width:100%;
  margin-bottom:30px;
  font-size:1.4rem;
}

.transport .table > thead > tr > th{
  text-align: center;
  border-bottom: 1px solid #D9D3C7;
  padding:2px 0;
}

.transport .table > tbody > tr > th{
  text-align: center;
  border-right: 1px solid #EBE3D6;
  padding:2px 0;
}

.transport .table > thead > tr > th{background:#F2EFEA;}

.transport .table > thead > tr > th:nth-child(1),
.transport .table > thead > tr > th:nth-child(2),
.transport .table > tbody > tr > td:nth-child(5){border-right: 1px solid #D9D3C7;}

.transport .table-striped > tbody > tr:nth-of-type(2n+1){background:#fff;}

.transport .table-striped > tbody > tr:nth-of-type(2n){background:#F2EFEA;}


@media screen and (max-width: 1080px) { 

  .chara_access{width: 140px; left:auto; right:20px;}

}

@media screen and (max-width: 780px) { 

  h4.page_block_title_sub{font-size:1.5rem;}

  .chara_access{width: 120px; left:auto; top:-50px; right:20px;}

}
