@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;
  }
  .base_tl .ja::before,
  .base_tl .ja::after {
    width: 50px;
    background-size: cover;
  }
  .base_btn {
    min-width: auto;
    width: 100%;
    padding: 10px;
    font-size: clamp(14px, 5vw, 16px);
  }
  .menu_area {
    padding: 80px 0 0;
  }
  .menu_list {
    grid-template-columns: repeat(2, 1fr);
  }
  .menu_list li {
    max-width: 100%;
  }
  .menu_list li a {
    font-size: clamp(13px, 5vw, 14px);
  }
  .popup_inner {
    padding: 20px 10px;
  }
  .popup_inner .tl {
    font-size: clamp(18px, 5vw, 18px);
  }
  /*==============================================================
 header : ヘッダー
===============================================================*/
  header {
    padding: 0;
    top: 10px;
  }
  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;
    padding-left: 0;
  }
  #globalMenuSp .nav_list li {
    margin-top: 10px;
  }
  #globalMenuSp .nav_list a {
    margin-left: 20px;
  }
  #globalMenuSp nav .nav {
    width: 50%;
  }
  #globalMenuSp nav .first {
    width: 100%;
  }
  #globalMenuSp nav .nav:last-child {
    width: 100%;
  }
  #globalMenuSp .sub_nav_list li a {
    margin-left: 0;
  }
  #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 {
    margin-top: 150px;
  }
  footer::before {
    height: 100px;
  }
  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 nav .nav:last-child {
    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: 20px 0;
  }
  .base_tl::before {
    width: 40px;
    height: 20px;
  }
  .base_tl .en {
    font-size: clamp(14px, 2vw, 14px);
  }
  .base_tl .ja {
    font-size: clamp(28px, 2vw, 28px);
  }
  .base_subtl {
    font-size: clamp(24px, 2vw, 24px);
    margin-bottom: 10px;
  }
  /*==============================================================
　#home : トップ
===============================================================*/
  #home .mv_area {
    padding: 0;
  }
  #home .mv_area .inner_wrap {
    padding: 0;
  }
  #home .m_lead_txt {
    padding-top: 40px;
    font-size: 15px;
  }
  #home .mv_area .mv_tl {
    display: none;
  }
  #home .mv_area .mv_img {
    display: block;
  }
  #home .about_area {
    padding: 50px 0 0;
  }
  #home .about_area .txt {
    font-size: clamp(14px, 2vw, 14px);
  }
  #home .project_area {
    padding: 50px 0 0;
  }
  #home .project_area .txt {
    font-size: clamp(14px, 2vw, 14px);
  }
  #home .project_area .project_list li {
    width: 80% !important;
    margin: 0 auto 20px;
  }
  .decoration_area {
    padding: 50px 0 0;
  }
  .decoration_area.last {
    padding: 50px 0 0;
  }
  .decoration_area .tl {
    font-size: 24px;
  }
  .decoration_area .list {
    grid-template-columns: repeat(1, 1fr);
  }
  .decoration_area .custom_tl {
    font-size: 24px;
  }
  .decoration_area .custom_tl .switchIcon {
    top: -7px;
  }
  .decoration_area .contents {
    margin-bottom: 20px;
  }

  /*==============================================================
　#mogiten 
===============================================================*/
  #mogiten .map_area {
    padding: 50px 0 0;
  }
  #mogiten .map_area .list li {
    width: 100%;
    margin-bottom: 10px;
  }
  #mogiten .mogiten_area {
    padding: 50px 0 0;
  }
  #mogiten .group_area {
    padding: 50px 0 0;
  }
  #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 10px;
  }
  #information .raijyo_area {
    padding: 50px 0 0;
  }
  #information .raijyo_area .txt_box {
    padding: 20px;
  }
  #information .raijyo_area .txt_box .txt {
    width: 100%;
    margin-bottom: 20px;
  }
  #information .kansen_area {
    padding: 50px 0;
  }
  #information .pamphlet_area {
    padding: 50px 0 0;
  }
  #information .gakunai_area {
    padding: 50px 0 0;
  }
  #information .kyosan_area {
    padding: 50px 0;
  }
  #information .kyosan_area .list {
    grid-template-columns: repeat(2, 1fr);
  }
  #information .sorting_area {
    padding: 50px 0 20px;
  }
  #information .sorting_area .fl_box {
    flex-wrap: wrap;
  }
  #information .sorting_area .photo {
    width: 100%;
    margin-bottom: 20px;
  }
  #information .sorting_area .txt_box {
    width: 100%;
  }
  #information .faq_area {
    padding: 50px 0 0;
  }
  #information .faq_area .faq_box {
    padding: 15px;
  }
  #information .que_box h3 p {
    width: calc(100% - 40px);
  }
  #information .switchIcon {
    right: 5px;
  }
  #information .contact_area {
    padding: 50px 0 0;
  }
  /*==============================================================
　#shukakusai
===============================================================*/
  #shukakusai .shukakusai_area {
    padding: 80px 0 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: 50px 0 0;
  }

  #bunten .gekijyo_area .list li {
    width: 100%;
    padding: 10px;
  }
  #bunten .gekijyo_area .lead_txt {
    font-size: 16px;
  }
  #bunten .gekijyo_area .list li .tl {
    font-size: 18px;
  }
  #bunten .bunka_area .lead_txt {
    font-size: 16px;
  }
  #bunten .timeschedule_area {
    padding: 50px 0;
  }

  #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 .buntenmon_area .lead_txt {
    font-size: 16px;
  }
  #bunten .buntenmon_area .list {
    flex-wrap: wrap;
    gap: 20px;
  }
  #bunten .buntenmon_area .list li {
    width: 100%;
  }
  /*==============================================================
　#bunten
===============================================================*/
  #bunten .menu_area {
    padding: 80px 0 0;
  }
  #bunten .menu_list {
    flex-wrap: wrap;
  }
  #bunten .menu_list li {
    width: 100%;
  }
  #bunten .buntenmon_area {
    padding: 50px 0 0;
  }
  #bunten .bunka_area {
    padding: 50px 0 0;
  }
  #bunten .tohyo_area {
    padding: 50px 0 0;
  }
  #bunten .tohyo_area .info_box {
    padding: 30px 10px 20px;
  }
  #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;
    font-size: 18px;
  }
  /*==============================================================
　#stage
===============================================================*/
  #stage .menu_area {
    padding: 50px 0 0;
  }
  #stage .menu_list {
    flex-wrap: wrap;
  }
  #stage .menu_list li {
    width: 100%;
  }
  #stage .timeschedule_area {
    padding: 50px 0;
  }
  #stage .kikaku_area {
    padding: 50px 0;
  }
  #stage .kikaku_area .fl_box {
    grid-template-columns: repeat(1, 1fr);
  }
  #stage .kikaku_area .box {
    width: 100%;
  }
  #stage .kikaku_area .box:last-child {
    margin-bottom: 0;
  }
  #stage .leader_area {
    padding: 50px 0 0;
  }
  #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%;
  }
  #stage .seat_area {
    padding: 50px 0 0;
  }
  #stage .seat_area .txt {
    font-size: 16px;
  }
  #stage .precautions_area {
    padding: 50px 0 0;
  }
  #stage .contact_area {
    padding: 50px 0 0;
  }

  /*==============================================================
　#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;
  }
}
