@charset "utf-8";

/*PCSP共通設定*/
section {
  color: #333333;
}

html {
  scroll-behavior: smooth;
}
main {
  font-family:"Noto Sans JP","ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO",serif;
	font-feature-settings: "palt";
}

/*smooth scroll*/


/*759px以下*/
@media screen and (max-width: 759.9px) {
  main {
    scroll-margin-top: 80px;
  }

  #wrapper {
    line-height: 1.4;
  }

  .spnone {
    display: none;
  }

  /* CSS */
  #dirPathBlock,
  #anchorLinkBlock {
    font-size: 10px;
    margin: 1% 1% 0 1%;
  }

  #dirPathBlock p,
  #anchorLinkBlock a {
    font-size: 12px;
  }

  h1 {
    font-size: 12px;
    margin: 0 1%;
  }

  h2 {
    font-size: 1.7rem;
    font-weight:700;
    position: relative;
    display: inline-block;
    margin: 0 auto 0.5rem;
  }

  h2.underline {
    color: #0b308e;
    margin: 0 auto 2rem;
  }

  h2.underline:before {
    content: '';
    position: absolute;
    bottom: -15px;
    display: inline-block;
    width: 60px;
    height: 5px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #8597c6;
  }

  h3 {
    font-size: 1.4rem;
    line-height: 1.35;
    font-weight:700;
    padding-bottom: 10px;
    margin: auto;
    text-align: center;
  }

  h3.logo_title {
    font-size: 1.4rem;
    text-align: center;
    font-weight:700;
    padding: 0 0 10px;
  }

  .inner {
    width: 96%;
    margin: 0 2%;
    padding: 24px 0;
    box-sizing: border-box;
  }

  /*title*/

section.mv img {
    width: 100%;
}


  .mv_title p {
    font-size: 1.25rem;
    color: #FFF;
  }

  .mv_title img {
    width: 50%;
  }

  section.mv_txt {
    width: 95%;
    margin: 1.5rem auto;
    text-align: center;
  }

  .mv_txt span.mv_txt_p {
    font-size: 1.1rem;
    line-height: 1.5;
    display: block;
    padding: 2px 0;
  }

  span.mv_txt_b {
        font-size: 1.35rem;
        color: #0b308e;
        font-weight: 700;
        display: block;
        padding: 5px 0;
  }

  /*nav*/
  nav#menu120 {
    text-align: center;
    position: sticky;
    top: 0;
    z-index: 1000;
    background-color: #FFF;
	transition: background-color 0.3s ease; 
  }

  nav#menu120 ul {
    margin: 0 auto;
    width: 95%;
    display: grid;
    grid-template-columns: 1fr 1fr;　/*3列の場合は1fr 1fr 1fr*/
    justify-items: center;
  }

  nav#menu120 li {
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(to bottom right, #3c59a5, #0d328f);
    border-radius: 4px;
    width: 90%;
    margin: 5px;
    padding: 8px 0;
    min-height: 30px;
  }

  nav#menu120.fixed {
    background-color: #0b308e;
  }

  nav#menu120 a {
    display: block;
    font-size: 0.8rem;
    font-weight:700;
    width: 90%;
    margin: auto;
  }

  .nav_ph {
    height: 20px;
  }

  nav#menu120 li:nth-child(1),
  nav#menu120 li:nth-child(2),
  nav#menu120 li:nth-child(3) {
    padding-bottom: 0.5rem;
  }

  nav#menu120 a:link,
  nav#menu120 a:visited {
    text-decoration: none;
    color: #FFF;
  }



  /*container_01*/
  .container_01 {
    text-align: center;
    padding: 4rem 0;
    position: relative;
    scroll-margin-top: 80px;
  }

  .wave_b {
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: auto;
  }

  .news_area {
    font-size: 1rem;
    width: 95%;
    margin: 1rem auto;
  }

  #news dl {
    max-width: 95%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px;
  }

  #news dt {
    display: flex;
  }

  #news span {
    margin-right: 1.25rem;
  }

  #news dd {
    text-align: left;
    padding-bottom: 1rem;
  }

  .label-r,
  .label-g,
  .label-b {
    color: #fff;
    font-weight:700;
    padding: 2px 3px;
    text-decoration: none;
    width: 80px;
  }

  .label-b {
    background-color: #0b308e;
  }

  .label-g {
    background-color: #404040;
  }

  .label-r {
    background-color: #de0050;
  }

  /*container_02*/
  .container_02 {
    text-align: center;
    padding: 4rem 0;
    background: #e7eaf4;
    position: relative;
    scroll-margin-top: 80px;
  }



  /*swiper*/
  .swiper {
    width: 100%;
    position: relative;
    padding: 1rem 0 3rem;
    overflow: hidden;
    height: auto;

  }

  .swiper-wrapper {
    margin: auto;
    position: relative;
  }

  .swiper-slide {
    width: 90%;
    transition: transform 0.3s ease, opacity 0.3s ease;
    margin: 0;
  }

  .slider-inner-box {
    background-color: #ffffff;
    border-radius: 20px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding: 20px;
    gap: 20px;
    flex-direction: column-reverse;
  }

  .text-box {
    flex: 1;
    font-size: 1rem;
    color: #333;
    display: flex;
    flex-direction: column;
    text-align: left;
    justify-content: space-between;
    height: auto;
  }


  .text-box p.title {
    font-size: 1.25rem;
    font-weight:700;
    padding-bottom: 10px;
  }

  .text-box p.txtbox {
    line-height: 1.5;
    margin: 0 auto 1rem;
  }

  .highlight {
    font-size: 1.5rem;
    color: #0b308e;
    font-weight:700;
    display: block;
    width: 100%;
    border-bottom: 2px solid #0b308e;
    padding-bottom: 5px;
    margin: 0 0 0.5rem;
  }

  .sptxtbox dl {
    margin: 0 0 1rem;
  }

  .highlight span.month {
    font-size: 1.7rem;
    margin: auto;
  }

  .request_btn a {
    background: #0b308e;
    border: 2px solid #FFF;
    border-radius: 20px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px 10px;
    color: #FFF;
    font-size: 1rem;
    text-decoration: none;
    transition: 0.2s ease-in-out;
  }

  .request_btn a:after {
    content: '';
    width: 10px;
    height: 10px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 48%;
    right: 13px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
  }


  .image-box img {
    object-fit: cover;
    width: 100%;
  }

  .sptxtbox {
    display: flex;
    flex-direction: column;
  }

  .swiper-pagination-bullet {
    background-color: #8597c6;
    width: 16px;
    height: 16px;
    margin: 0 10px;
  }

  .swiper-pagination-bullet-active {
    background-color: #0b308e;
  }

  .arrow {
    width: 100%;
    margin: auto;
    position: relative;
  }

  .image-box {
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
  }

  .image-box iframe {
    width: 100%;
    height: 100%;
  }

  .overlay {
    position: absolute;
    top: 22%;
    right: -4px;
    width: 102%;
    text-align: center;
    z-index: 10;
  }

  .swiper-button-prev svg,
  .swiper-button-next svg {
    fill: rgba(11, 48, 142, 0.35);
  }

  .swiper-pagination {
    position: absolute;
    bottom: 15px;
    display: flex;
    justify-content: center;
    z-index: 999;
  }

  .swiper-button-next:after,
  .swiper-rtl .swiper-button-prev:after,
  .swiper-button-prev:after,
  .swiper-rtl .swiper-button-next:after {
    display: none;
  }




  /*history*/
  .history_container {
    width: 90%;
    margin: auto;
  }

  .movie {
    aspect-ratio: 16 / 9;
    width: 100%;
    height: 100%;
    border: none;
    margin: 0 auto 0 auto;
    display: block;
  }

  .movie_history {
    margin: 1rem auto;
  }

  .history_txt {
    line-height: 2;
    font-size: 1rem;
  }

  .history_txt_l {
    font-size: 1.25rem;
    line-height: 1.5;
  }

  .history_container img {
    width: 100%;
    margin: 1rem auto;
  }


  /*アコーディオン*/
  .acChild_box {
    width: 100%;
    margin: 2rem auto 0;
    overflow: hidden;
    position: relative;
  }

  .content {
    padding: 2rem 1rem;
    height: 300px;
    overflow: hidden;
    position: relative;
    transition: all 0.3s ease;
  }

  .expanded {
    height: auto;
    background: none;
  }

  .btn-toggle {
    display: block;
    width: 150px;
    padding: 10px 20px;
    background-color: black;
    color: white;
    text-align: center;
    border-radius: 20px;
    cursor: pointer;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    transition: background-color 0.3s ease;
    z-index: 20;
    bottom: 0;
  }

  .content::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 10;
    background: linear-gradient(0deg, #ffffff, transparent);
    transition: background 0.3s ease;
  }

  .content.expanded::after {
    background: none;
  }

  .btn-toggle::after {
    content: ' 続きを見る';
    font-size: 14px;
    transition: content 0.3s ease;
  }

  .expanded+.btn-toggle::after {
    content: ' 閉じる';
  }

  .container {
    display: flex;
    width: 100%;
    height: auto;
    margin: auto;
  }

  .left {
    flex: 1;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }

  .right {
    flex: 10;
    box-sizing: border-box;
    position: relative;
  }

  .group {
    display: flex;
    align-items: center;
  }

  .circle {
    width: 4rem;
    height: 4rem;
    border: 2px solid #333333;
    background-color: #f7f7f7;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    font-weight:700;
  }

  .line {
    width: 15px;
    height: 2px;
    background-color: #333333;
  }

  /* flex-schedul */
  .flex-schedule {
    list-style: none;
    box-sizing: border-box;
    padding: 2rem 0 0 2.5rem;
  }

  .flex-schedule li {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    position: relative;
  }

  .stline {
    border-left: 2px solid #333333;
    margin: 33px 0 0 0;
  }

  .stline2 {
    border-left: 2px solid #333333;
    margin: 0;
  }

  .flex-schedule .area {
    display: block;
    width: 100%;
  }

  .flex-schedule .sch_box {
    position: relative;
    margin: 1rem 0;
    text-align: left;
  }

  .flex-schedule .sch_box::before {
    content: "";
    position: absolute;
    left: -50px;
    top: 0px;
    background: #333333;
    width: 20px;
    height: 20px;
    border-radius: 10px;
  }

  .flex-schedule .sch_title {
    font-size: 20px;
    font-weight:700;
  }

  .flex-schedule .sch_tx {
    font-size: 18px;
    font-weight: normal;
  }


  /* logo */
  .logo_container {
    width: 90%;
    margin: 1rem auto;
    background-color: #FFF;
    border-radius: 20px;
  }

  .logo_container01 {
    display: flex;
    width: 80%;
    flex-direction: column;
    margin: auto;
  }

  .logo_container01_imgbox {
    padding: 3rem 0;
  }

  .logo_container01 img {
    width: 80%;
    margin: auto;
  }

  .logo_origin {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .logo_txt {
    font-size: 1.1rem;
    line-height: 1.5;
    text-align: left;
    padding: 0 0 20px;
  }

  .con_titletxt {
    border: solid 2px #0b308e;
    padding: 2px;
    font-size: 1.25rem;
    font-weight:700;
    color: #0b308e;
  }

  .cen_txt {
    font-size: 1.25rem;
    font-weight:700;
    padding: 1rem 0;
  }

  .theme,
  .concept {
    flex: 1;
    padding: 0 0 1rem;
  }
}


/*760px以上*/
@media screen and (min-width: 760px),
print {

  /* CSS */
  #wrapper {
    line-height: 1.231;
  }

  #dirPathBlock,
  h1,
  .iframe_end-content_gadget,
  #anchorLinkBlock {
    width: 100%;
    max-width: 970px;
    min-width: 760px;
    margin: auto;
  }

  /*panlist&back*/
  #dirPathBlock,
  #anchorLinkBlock {
    width: 100%;
    margin: 0 auto;
    display: block;
    font-size: 12px;
  }

  #dirPathBlock p,
  #anchorLinkBlock a {
    font-size: 12px;
  }

  h1 {
    font-size: 14px;
    width: auto;
    max-width: 970px;
    min-width: 760px;
    margin: 0 auto 5px;
  }

  h2 {
    font-size: 35px;
    font-weight:700;
    position: relative;
    display: inline-block;
    margin-bottom: 1em;
    letter-spacing: 5px;
  }

  h2.underline {
    color: #0b308e;
  }

  h2.underline:before {
    content: '';
    position: absolute;
    bottom: -15px;
    display: inline-block;
    width: 60px;
    height: 5px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #8597c6;
  }

  h3 {
    font-size: 25px;
    font-weight:700;
    padding-bottom: 10px;
  }

  h3.logo_title {
    font-size: 35px;
    text-align: left;
    font-weight:700;
    padding: 0 0 10px;
  }

  .inner {
    width: 96%;
    max-width: 970px;
    min-width: 760px;
    margin: 0 auto;
    padding: 50px 0;
    display: block;
  }


  /*title*/
  section.mv {
    height: 650px;
    width: 100%;
    position: relative;
    background: #FFF url(../images/mv_bg.jpg) no-repeat 50% 50%;
    background-size: cover;
  }

  .wave {
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: auto;
  }

  .mv_title {
    width: 435px;
    height: 600px;
    text-align: center;
    display: flex;
    /*justify-content: center;*/
    align-items: center;
    margin: 0 auto;
  }

  .mv_title p {
    color: #FFF;
    font-size: 1.8rem;
    text-align: left;
    line-height: 1.5;
	padding: 0px 20px 0 0;  
  }

  section.mv_txt {
    max-width: 970px;
    margin: 7rem auto 6rem;
    text-align: center;
  }


  .mv_txt span.mv_txt_p {
    font-size: 20px;
    line-height: 1.65;
    display: block;
    padding: 2px 0;
  }

  span.mv_txt_b {
    font-size: 26px;
    color: #0b308e;
    font-weight:700;
    display: block;
    padding: 10px 0;
  }


  /*nav*/
  nav#menu120 {
    text-align: center;
    position: sticky;
    top: 0;
    z-index: 1000;
    background-color: #FFF;
    transition: background-color 0.3s ease;	  
  }

  nav#menu120 ul {
    margin: 1rem auto;
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 970px;
    gap: 40px;
    padding: 15px 0;
  }

  nav#menu120.fixed {
    background-color: #0b308e;
  }

  nav#menu120 a {
    text-decoration: none;
    color: #FFF;
  }

  nav#menu120 a:link,
  nav#menu120 a:visited {
    text-decoration: none;
    color: #FFF;
  }

  .nav_ph {
    height: 60px;
  }

  .button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100px;
    height: 100px;
    text-align: center;
    font-size: 16px;
    font-weight:700;
    background: linear-gradient(to bottom right, #3c59a5, #0d328f);
    box-shadow: 0px 4px 8px #080e1857;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.3s ease;
  }

  .button:hover {
    background-color: #556fb0;
    color: #aab7d7;
    border-radius: 50%;
    box-shadow: none;
  }

  /*container_01*/
  .container_01 {
    text-align: center;
    padding: 5rem 0 8rem;
    position: relative;
    scroll-margin-top: 100px;
  }

  .wave_b {
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: auto;
  }

  .news_area {
    font-size: 16px;
    width: 100%;
    margin: 3rem auto;
  }

  #news dl {
    max-width: 970px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 20px;
  }

  #news dt {
    width: 25%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #news span {
    margin-right: 20px;
  }

  #news dd {
    width: 70%;
    text-align: left;
  }

  .label-r,
  .label-g,
  .label-b {
    color: #fff;
    font-weight:700;
    padding: 3px;
    text-decoration: none;
    width: 80px;
  }

  .label-b {
    background-color: #0b308e;
  }

  .label-g {
    background-color: #404040;
  }

  .label-r {
    background-color: #de0050;
  }


  /*container_02*/
  .container_02 {
    text-align: center;
    padding: 6rem 0 3rem;
    background: #e7eaf4;
    position: relative;
    scroll-margin-top: 100px;
  }

  /*swiper*/
  .swiper {
    position: relative;
    padding: 3rem 0;
  }

  .swiper-wrapper {
    width: 100%;
    margin: auto;
    position: relative;
  }

  .swiper-slide {
    width: 970px;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }

  .swiper-slide-active {
    opacity: 1;
    transform: scale(1);
    z-index: 1;
  }

  .swiper-slide:not(.swiper-slide-active) {
    opacity: 0.3;
    transform: scale(0.8);
  }

  .slider-inner-box {
    background-color: #ffffff;
    border-radius: 20px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding: 20px;
    gap: 20px;
    flex-direction: row;
    height: auto;
  }

  .text-box {
    flex: 1;
    font-size: 1.1rem;
    color: #333;
    display: flex;
    flex-direction: column;
    text-align: left;
    justify-content: space-between;
    height: auto;
  }

  .text-box p.txtbox {
    line-height: 1.5;
    margin: 0 0 1rem;
    height: auto;
    /* 高さを自動に設定 */
  }

  .highlight {
    font-size: 25px;
    color: #0b308e;
    font-weight:700;
    display: block;
    width: 100%;
    border-bottom: 2px solid #0b308e;
    padding-bottom: 5px;
    margin: 0 0 1rem;
  }

  .highlight span.month {
    font-size: 35px;
    margin: auto;
  }

  .request_btn a {
    background: #ffffff;
    border: 2px solid #0b308e;
    border-radius: 35px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px 25px;
    color: #0b308e;
    font-size: 20px;
    text-decoration: none;
    transition: 0.2s ease-in-out;
  }

  .request_btn a:after {
    content: '';
    width: 10px;
    height: 10px;
    border-top: 2px solid #0b308e;
    border-right: 2px solid #0b308e;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
  }

  .request_btn a:hover {
    background: #0b308e;
    color: #ffffff;
    opacity: 1;
  }

  .request_btn a:hover:after {
    border-top-color: #ffffff;
    border-right-color: #ffffff;
  }

  .image-box {
    flex: 1;
  }

  .image-box img {
    width: 100%;
    height: auto;
    /*object-fit: cover;*/
    aspect-ratio: 4 / 3;
  }

  .image-box iframe {
    width: 100%;
    margin: auto;
    height: 100%;
    aspect-ratio: 4 / 3;
  }

  .swiper-pagination-bullet {
    background-color: #8597c6;
    width: 16px;
    height: 16px;
    margin: 0 10px;
  }

  .swiper-pagination-bullet-active {
    background-color: #0b308e;
  }

  .arrow {
    max-width: 970px;
    margin: auto;
    position: relative;
  }

  .swiper-button-prev,
  .swiper-button-next {
    position: absolute;
    top: 50%;
    transform: translateY(-400%);
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .swiper-button-prev {
    left: -60px;
  }

  .swiper-button-next {
    right: -60px;
  }

  .swiper-button-prev svg,
  .swiper-button-next svg {
    width: 30px;
    height: 60px;
    fill: rgba(11, 48, 142, 0.35);
  }

  .swiper-pagination {
    position: absolute;
    bottom: 15px;
    display: flex;
    justify-content: center;
    z-index: 999;
  }

  .swiper-button-next:after,
  .swiper-rtl .swiper-button-prev:after,
  .swiper-button-prev:after,
  .swiper-rtl .swiper-button-next:after {
    display: none;
  }


  /*history*/
  .history_container {
    max-width: 970px;
    font-size: 18px;
    margin: auto;
  }

  .movie {
    aspect-ratio: 16 / 9;
    width: 100%;
    height: 100%;
    border: none;
    margin: 0 auto 0 auto;
    display: block;
  }

  .movie_history {
    margin: 3rem auto;
    max-width: 970px;
  }

  .history_txt {
    line-height: 2;
  }

  .history_txt_l {
    font-size: 35px;
    line-height: 1.5;
  }

  .history_container img {
    width: 100%;
    margin: 3rem auto;
  }

  /*アコーディオン*/
  .acChild_box {
    width: 100%;
    margin: 2rem auto 0;
    overflow: hidden;
    background-color: #f7f7f7;
    position: relative;
  }

  .content {
    padding: 2rem 1rem;
    height: 300px;
    overflow: hidden;
    position: relative;
    transition: all 0.3s ease;
  }

  .expanded {
    height: auto;
    background: none;
  }

  .btn-toggle {
    display: block;
    width: 150px;
    padding: 10px 20px;
    background-color: black;
    color: white;
    text-align: center;
    border-radius: 20px;
    cursor: pointer;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    transition: background-color 0.3s ease;
    z-index: 20;
    bottom: 35px;
  }

  .btn-toggle:hover {
    background-color: #333;
  }

  .content::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 10;
    background: linear-gradient(0deg, #ffffff, transparent);
    transition: background 0.3s ease;
  }

  .content.expanded::after {
    background: none;
  }

  .btn-toggle::after {
    content: ' 続きを見る';
    font-size: 14px;
    transition: content 0.3s ease;
  }

  .expanded+.btn-toggle::after {
    content: ' 閉じる';
  }

  .container {
    display: flex;
    width: 900px;
    height: auto;
    margin: auto;
  }

  .left {
    flex: 1;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }

  .right {
    flex: 6;
    box-sizing: border-box;
    position: relative;
  }

  .group {
    display: flex;
    align-items: center;
  }

  .circle {
    width: 100px;
    height: 100px;
    border: 2px solid #333333;
    background-color: #f7f7f7;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 25px;
    font-weight:700;
  }

  .line {
    width: 25px;
    height: 2px;
    background-color: #333333;
  }

  /* flex-schedul */
  .flex-schedule {
    list-style: none;
    box-sizing: border-box;
    padding: 5rem 0 0 2.5rem;
  }

  .flex-schedule li {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    position: relative;
  }

  .stline {
    border-left: 2px solid #333333;
    margin: 51px 0 0 0;
  }

  .stline2 {
    border-left: 2px solid #333333;
    margin: 0;
  }

  .flex-schedule .area {
    display: block;
    width: 100%;
  }

  .flex-schedule .sch_box {
    position: relative;
    margin: 1rem 0;
    text-align: left;
  }

  .flex-schedule .sch_box::before {
    content: "";
    position: absolute;
    left: -50px;
    top: 0px;
    background: #333333;
    width: 20px;
    height: 20px;
    border-radius: 10px;
  }

  .flex-schedule .sch_title {
    font-size: 20px;
    font-weight:700;
  }

  .flex-schedule .sch_tx {
    font-size: 18px;
    font-weight: normal;
  }

  /* logo */
  .logo_container {
    max-width: 970px;
    margin: 3rem auto;
    background: #FFF;
    border-radius: 30px;
    padding: 30px;
	  line-height: 1.5;
  }

  .logo_container01 {
    display: flex;
    width: 90%;
    margin: 2rem auto;
    gap: 30px;
  }

  .logo_container01 img {
    width: 35%;
  }

  .logo_origin {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .logo_txt {
    font-size: 18px;
    text-align: left;
  }

  .con_titletxt {
    border: solid 2px #0b308e;
    padding: 5px;
    font-size: 25px;
    font-weight:700;
    color: #0b308e;
  }

  .cen_txt {
    font-size: 18px;
    font-weight:700;
    padding: 1rem 0;
	line-height: 1.35;  
  }

  .theme,
  .concept {
    flex: 1;

  }

}