@charset "utf-8";
/* ============================ 
common
===============================*/
html { 
    font-size: 62.5%;    /* 1remを10pxにする下処理 */
}

body {
    font-family: 
        "Noto Sans JP", 
        Arial, 
        sans-serif;
    font-style: normal;
    color: #2F2F2F;
    background-color: #fff;
    line-height: 1.5;  /* 通常の行間 */
}

img {
    max-width: 100%; /* 元画像の横幅100％のサイズマックスまで対応 */
    height: auto;
}

p {
    color: #2F2F2F;
    font-size: 1.4rem;
}

/* ============================ 
header
===============================*/
.header {
    padding: 20px 6.4% 20px;  /* 左右の空きの計算方法：空き24pxならスマホ枠W375と割る（24÷375＝0.64）*/
}

.header__topic
 {
    max-width: 60%; 
}


/* ★★切り替え　.header pc用★★ */
@media screen and (min-width: 769px) { /* スマホ幅から広げて、769px超えたら */

    .header {
        padding: 0;
    }

    .header__topic {
    max-width: 70%; 
    margin: 30px 0 10px 30px;

    }

} /*★★ pcサイズの設定 769px ここまで！★★*/


/* ============================ 
main
===============================*/


/* 開催概要 */
.section--overview {
    padding: 0 0 0px;
}

.section_topic {
    color: #FFF;
    font-size: 2rem;
    font-weight: 700;
    line-height: 0.5; 
    text-align: center;
    background-color: #388d85;
    padding: 14px;
}

.overview__list {
    padding: 28px 7.2%;
}

.overview__topic {
    font-size: 1.8rem;
    font-weight: 700;
    background-color: #97e0bc;
    border: 1px solid #FFF;
    text-align: center;
    height: 30px;
}

.overview__txt {
    font-size: 1.6rem;
    font-weight: 400;
    background-color: #E7F7F8;
    border: 1px solid #FFF;
    padding: 10px 2.6%;
}

/* ★★切り替え pc用★★ */
@media screen and (min-width: 769px) {

/* 開催概要 */


.section_topic { /* ★★帯部分★★ */
    font-size: 2rem;
    font-weight: 700;
    line-height: 1; 
}

.section--overview {
 	background-color: #FFF;
        padding: 0 0 50px;
}

.overview__list {
    padding: 40px 0 1px; /* ★★枠の上下空き★★ */
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
}

.overview__topic {
    width: 300px;
    height: 90px;
    padding: 30px;
    text-align: center;

    font-size: 1.6rem;
    font-weight: 700;
}

.overview__txt {
    width: 700px;
    height: 90px;
   display: flex;
   align-items: center;

    font-size: 1.6rem;
    font-weight: 400;
}

.display-flex {
  	display: flex; /* 横並びにする！ */
}
	
}/*★★ pcサイズの設定 769px ここまで！★★*/

/* プログラム */
.section--program {
    background-color: #E7F7F8;
}

.section__topic--top {  /* 帯の所 */
    color: #FFF;
    font-size: 2rem;
    font-weight: 700;
    line-height: 0.5; 
    text-align: center;
    background-color:  #388d85;
    padding: 14px;
}
 
.program__wrapper {
    padding:  10px 7.2% 25px;
}

.program__content {
    background-color: #fff;
    padding-bottom: 30px;
    margin-top: 10px;
}

.program__topic {
    color: #FFF;
    font-size: 2rem;
    font-weight: 700;
    background-color:#388d85;
    padding: 7px 13px;
}

.program__time {
    font-size: 1.6rem;
    font-weight: 700;
    padding: 0 13px;
}

.program__txt {
    color: #f07707;
    font-size: 1.8rem;
    font-weight: 700;
    padding: 0 13px;
    margin-bottom: 25px;
}

.program__speaker  {
    color: #a72f0a;
    font-size: 1.6rem;
    font-weight: 700;
    margin-top: 7px;
    padding: 0 13px;
}

.program__neme {
    font-size: 1.6rem;
    font-weight: 400;
    margin-top: 7px;
    padding: 0 13px;
}
/* ★★切り替え pc用★★ */

@media screen and (min-width: 769px) {
/* プログラム */

.section__topic--top {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1; 
}

.program__wrapper {
    padding: 50px ;
}

.program__content {
    max-width: 900px;
    width: 90%;
    margin: 0 auto;  /*(センター合わせ）*/
    margin-bottom: 15px;
}
.program__time {
    padding: 0 65px;

    font-size: 1.8rem;
    font-weight: 700;
}

.program__txt {
    padding: 0 65px;
    font-size: 1.8rem;
    font-weight: 700;
}

.program__speaker {
    padding: 0 65px;
    font-size: 1.5rem;
    font-weight: 700;
}

    .spBr {
        display: none; /* スマフォ時の改行をPC版ではナシにする */
    }

.program__neme {
    padding-left: 65px;
    font-size: 1.8rem;
    font-weight: 700;
}

}/*★★ pcサイズの設定 769px ここまで！★★*/

/* 参加登録 */
.section--Registration {
    padding: 0 0 63px;
}

.Registration__list {
    padding: 28px 7.2%;
}

.Registration__topic {
    font-size: 1.8rem;
    font-weight: 700;
    background-color:#faee80;
    border: 1px solid #FFF;
    text-align: center;

}

.Registration__txt {
    font-size: 1.6rem;
    font-weight: 400;
    background-color: #fdf4c2;
    border: 1px solid #FFF;
    padding: 10px 2.6%;
}

/* ボタン */
.btn {  /* .btn（ボタン*/
    margin-left: auto;
    margin-right: auto;
    display: block;
        text-align: center;
    width: 50%;
    height: 60px;
    text-align: center;
    line-height: 60px;
    text-decoration: none;  /*text-decoration（装飾）*/
    font-size: 2rem;
    font-weight: bold;
    border-radius: 20px;
    transition: 0.4s; 


}

.btn a {
    background: orange;
    border-radius: 30px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 800px;
    padding: 10px 25px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 700;   /* 文字の太さ */
	font-size: 2rem;
            box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3); /* 影 */
}
.btn a:after {
    display: block;
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.btn a:hover {
  background: orangered;
  color: #FFF;
}
.btn a:hover:after {
  right: 1.4rem;
}

.btn:active {
    transform: translateY(2px); /* 移動 */
}


.end-btn {  /* .btn（ボタン*/
    background-color: rgb(117, 117, 115);
    display: block;
    width: 80%;
    height: 60px;
    text-align: center;
    line-height: 60px;
    text-decoration: none;  /*text-decoration（装飾）*/
    font-size: 2rem;
    font-weight: bold;
    border-radius: 20px;
    transition: 0.4s; 
	margin: 55px;
}
.end-btn:hover {
    background-color: rgb(117, 117, 115);
}


/* ★★切り替え pc用★★ */
@media screen and (min-width: 769px) {

/* 参加登録 */

.Registration__list { 
    padding: 40px 0 20px; /* ★★枠の上下空き★★ */
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
}


.Registration__topic {
    width: 276px;
    padding: 38px;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    
}

.Registration__txt {
    width: 724px;
   display: flex;
   align-items: center;

    font-size: 1.6rem;
    font-weight: 400;
}
      
}/*★★ pcサイズの設定 769px ここまで！★★*/

/* 会場・交通案内  */
.trafficGuide {
    
    padding: 28px 7.2%;
}

.trafficGuide__topic {
    margin-top: 23px;
    color: #276862;
    font-size: 1.8rem;
    font-weight: 700;
}

.trafficGuide__txt {
    font-size: 1.6rem;
    font-weight: 400;
}

.map {
    display:block;

    width: 100%;
    margin-top: 24px;
    height: 400px;
}


/* ★★切り替え pc用★★ */
@media screen and (min-width: 769px) {
/* 会場・交通案内  */

.trafficGuide {
    display: flex; /* PCの時は横並びにする！ */
    padding: 47px 250px;
}

.trafficGuide__item {
    width: 440px;
    margin: 0 auto;
}

.map {
    max-width:1000px;
    margin: 0 auto;
    margin-bottom: 66px;
}

}/*★★ pcサイズの設定 769px ここまで！★★*/



/* フッター */
.footer {
    background: #97e0bc;
}


.footer__list {
    padding: 43px 10% 0;
}

.footer__topic {
    width: 178x;
    display: flex;
    padding: 0px 17px;

    color: #FFF;
    background-color: #429189;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: normal;
}

.footer__txt_01 ,
.footer__txt_02 {
    padding: 17px 0 31px 30px;
    font-size: 1.8rem;
    font-weight: 400;
}


.copy {
    padding: 20px;
    color: #276862;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: normal;
}

/* ★★切り替え pc用★★ */
@media screen and (min-width: 769px) { 

.display-flex_footer {
     display: flex; /* 横並びにする！ */
     justify-content: center;/* 横並びにしたのを真ん中に集める */
}

.list {
    flex-flow: column;
    padding: 0 70px;

}

.footer__topic {
    font-size: 1.6rem;
    font-weight: 700;
}

.footer__txt_01 {
    width: 480px;
    padding: 10px 0 31px 20px;
    font-size: 1.5rem;
    font-weight: 400;
    position: relative;
}

.footer__txt_02 {
    width: 480px;
    padding: 10px 0 31px 20px;
    font-size: 1.5rem;
    font-weight: 400;
}

.footer__group {
    position: relative; /* SNSアイコンposition位置の設定*/
}



}/*★★ pcサイズの設定 769px ここまで！★★*/



/*==========================
scrollTop (上に戻るボタン）
==========================*/
.topBtn {
    display: inline-block;
    padding: 18px;
    border-radius: 50%;
    background-color:#ffa332;
    color: #fff;
    font-size: 1.2rem;
    box-shadow: 2px 2px 4px 2px rgba(29, 101, 101, 0.2);

    position: fixed;
    bottom: 1.4%;
    right: 1.4%;
}
/*==========================
scrollTop (上に戻るボタン）
==========================*/


