@charset "UTF-8";
@media screen and (max-width: 1100px) {
  .inner_wrap {
    width: 100%;
    padding: 0 3%;
  }
}

/*==============================================================
　タブレット〜スマホ
===============================================================*/
@media screen and (max-width: 900px) {
  header .head_logo {
    width: 20%;
  }
  header nav ul {
    font-size: clamp(14px, 2vw, 14px);
  }
}

@media screen and (max-width: 768px) {
  .pc_el {
    display: none !important;
  }
  .sp_el {
    display: inline-block;
  }
  /*==============================================================
 header : ヘッダー
===============================================================*/
  header {
    padding: 5px 0 0;
  }
  header .head_logo {
    width: 50%;
  }
  header .head_logo img {
    width: 100%;
    height: auto;
  }

  #globalMenuSp.active {
    padding: 80px 0 0;
  }

  #globalMenuSp nav {
    width: 100%;
    padding: 0 10px;
  }
  #globalMenuSp .nav_list {
    text-align: left;
    margin-bottom: 15px;
  }
  #globalMenuSp nav .nav {
    width: 100%;
  }
  #globalMenuSp .info_box {
    width: 100%;
  }
  #globalMenuSp .copy {
    padding: 10px 0;
  }
  #globalMenuSp .contact_txt {
    margin-top: 20px;
  }
  #globalMenuSp .address {
    margin-top: 20px;
  }
  /*==============================================================
modal : モーダル
===============================================================*/
  #headline {
    padding: 80px 0 60px;
    height: auto;
  }
  #mogiten #headline img {
    max-width: 300px;
  }
  #information #headline img {
    max-width: 300px;
  }
  #shukakusai #headline img {
    max-width: 250px;
  }
  #bunten #headline img {
    max-width: 250px;
  }
  #stage #headline img {
    max-width: 250px;
  }
  #gallery #headline img {
    max-width: 300px;
  }
  /*==============================================================
　footer : フッター共通
===============================================================*/
  footer .ft_wrap {
    text-align: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  footer nav {
    width: 100%;
  }
  footer .nav_list {
    text-align: left;
    margin-bottom: 15px;
  }
  footer nav .nav {
    width: 100%;
  }
  footer .info_box {
    width: 100%;
  }
  footer .copy {
    padding: 10px 0;
  }
  footer .contact_txt {
    margin-top: 20px;
  }
  footer .address {
    margin-top: 20px;
  }
  /*==============================================================
	#pageTitle : 見出し共通
===============================================================*/
  .base_tl {
    margin-bottom: 20px;
  }
  .base_tl .en {
    font-size: clamp(24px, 2vw, 24px);
  }
  .base_tl .ja {
    font-size: clamp(28px, 2vw, 30px);
    margin-bottom: 5px;
  }
  /*==============================================================
　#home : トップ
===============================================================*/
  #home .mv_area {
    padding: 100px 0 50px;
  }
  #home .m_lead_txt {
    padding-top: 40px;
    font-size: 15px;
  }
  #home .about_area {
    padding: 0px 0 50px;
  }
  #home .about_area .txt {
    font-size: clamp(14px, 2vw, 14px);
  }
  #home .project_area {
    padding: 40px 0 50px;
  }
  #home .project_area .txt {
    font-size: clamp(14px, 2vw, 14px);
  }
  #home .project_area .project_list li {
    width: 48%;
    margin-bottom: 10px;
  }
  #home .decoration_area {
    padding: 0 0 50px;
  }
  /*==============================================================
　#mogiten 
===============================================================*/
  #mogiten .map_area .list li {
    width: 100%;
    margin-bottom: 10px;
  }
  #mogiten .mogiten_area {
    padding: 0px 0 50px;
  }
  #mogiten .box {
    padding: 20px;
  }
  #mogiten .box .fl_box {
    flex-wrap: wrap;
  }
  #mogiten .box .txt_box {
    order: 2;
    width: 100%;
  }
  #mogiten .box .photo {
    width: 100%;
    order: 1;
    margin-bottom: 20px;
    text-align: center;
  }
  #mogiten .box .tl {
    font-size: clamp(20px, 2vw, 24px);
  }
  /*==============================================================
　#information
===============================================================*/
  #information .bg_object .info_box {
    padding: 20px 10px;
  }
  #information .raijyo_area {
    padding: 50px 0 0;
  }
  #information .kansen_area {
    padding: 30px 0 0;
  }
  #information .pamphlet_area {
    padding: 30px 0 0;
  }
  #information .gakunai_area {
    padding: 30px 0 0;
  }
  #information .kyosan_area {
    padding: 30px 0 0;
  }
  #information .kyosan_area .list li {
    width: 48%;
  }
  #information .faq_area {
    padding: 30px 0 0;
  }
  #information .que_box h3 p {
    width: calc(100% - 40px);
  }

  #information .contact_area {
    padding: 30px 0 50px;
  }
  /*==============================================================
　#shukakusai
===============================================================*/
  #shukakusai .shukakusai_area {
    padding: 80px 0;
  }
  #shukakusai .shukakusai_area .head_txt {
    font-size: 18px;
    margin-bottom: 50px;
  }
  #shukakusai .shukakusai_area .con_box {
    padding: 5%;
    margin-bottom: 30px;
  }
  #shukakusai .shukakusai_area .con_box:last-child {
    margin-bottom: 0;
  }
  #shukakusai .shukakusai_area .fl_box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #shukakusai .shukakusai_area .con_box .photo {
    width: 100%;
    margin-bottom: 20px;
  }
  #shukakusai .shukakusai_area .con_box .txt_box {
    width: 100%;
    padding: 0;
  }
  #bunten .gekijyo_area {
    padding: 0 0 50px;
  }
  #bunten .timeschedule_area {
    padding: 0 0 50px;
  }
  #bunten .dantai_area {
    padding: 0 0 50px;
  }
  #bunten .dantai_area .list li {
    padding: 20px 10px;
    width: 100%;
  }
  #bunten .dantai_area .list li .tl {
    height: auto;
  }
  /*==============================================================
　#bunten
===============================================================*/
  #bunten .menu_area {
    padding: 50px 0 20px;
  }
  #bunten .menu_list {
    flex-wrap: wrap;
  }
  #bunten .menu_list li {
    width: 100%;
    margin-bottom: 10px;
  }

  #bunten .controller_box li {
    font-size: 16px;
  }
  #bunten .bunka_area .tab_content {
    padding: 20px;
  }
  #bunten .bunka_area .list li {
    width: 100%;
    margin: 0 0 10px;
  }
  #bunten .bunka_area .list li .tl {
    height: auto;
  }
  /*==============================================================
　#stage
===============================================================*/
  #stage .menu_area {
    padding: 50px 0 20px;
  }
  #stage .menu_list {
    flex-wrap: wrap;
  }
  #stage .menu_list li {
    width: 100%;
    margin-bottom: 10px;
  }
  #stage .kikaku_area {
    padding: 50px 0 20px;
  }
  #stage .kikaku_area .box {
    width: 100%;
    margin-bottom: 30px;
  }
  #stage .leader_area {
    padding: 50px 0 20px;
  }
  #stage .leader_area .fl_box {
    flex-wrap: wrap;
  }
  #stage .leader_area .box {
    margin-bottom: 30px;
  }
  #stage .leader_area .box .photo {
    width: 100%;
    margin-bottom: 20px;
  }
  #stage .leader_area .box .txt {
    width: 100%;
  }
  /*==============================================================
　#gallery
===============================================================*/
  #gallery .gallery_area {
    padding: 80px 0 50px;
  }
  #gallery .con_box .tl {
    font-size: clamp(24px, 2vw, 26px);
    margin-bottom: 5%;
  }
  #gallery .con_box .list li {
    width: 48%;
  }
  #toTop {
    width: 30px;
  }
}
