@charset "utf-8";
/* CSS Document */
/* 基本セット */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, 
fieldset, input, textarea, p, blockquote, th, td {margin: 0; padding: 0; box-sizing: border-box;}
ol, ul {list-style: none;}
a {color: inherit; text-decoration: none;}
body { font-size: 18px; color: #000000; line-height: 1; background-color: #ffffff; }
:root {--v-space: clamp(90px, 7vw, 120px);}
img {max-width: 100%;}

/* イエローマーカー */
span {background:linear-gradient(transparent 20%, #ff6 60%); }
p { line-height:1.5; letter-spacing:0.07em;}

/* テーブル装飾　*/
table.a{
  border-collapse: collapse;
  border-spacing: 0;
  width: 50%;
  margin:2em 0 3em 0;
}

table.a tr{
  border-bottom: solid 1px #cccccc;
}

table.a th{
  text-align: center;
  width: 15%;
  padding: 15px 0;
}
table.a td{
  width: 35%;
  padding: 15px 0;
}


/* メニュー */
.header {background-color:#25579E; position: sticky; top: 0; z-index: 10;}
.header-inner {max-width: 1150px; height: 80px; margin-left: auto; margin-right: auto; padding-left: 40px; padding-right: 40px; display: flex; justify-content: space-between; align-items: center; color: #ffffff; background-color: #25579E;}
.toggle-menu-button {display: none;}
.header-logo {display: block; width: 170px;}
.site-menu ul {display: flex;}
.site-menu ul li {margin-left: 20px; margin-right: 20px;}

/* ヒーローイメージ */
.hero-pic { height: calc(768px - 80px); background-image: url("../img/main_pic5.jpg") ; height: 650px; background-repeat: no-repeat; background-position: center; background-size: cover; display: grid; align-items: center; justify-content: center;}
.hero-container{display: grid;}


/* YOUTUBE */
.youtube { background : #020942; padding: 5em 2em 5em 2em;}
.movie-wrap {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: calc(100% - 120px);
     overflow: hidden;
}
 
.movie-wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}

/* 導入　*/
.top { background:#FFFFFF ; background-repeat: no-repeat; background-position: center; background-position: top; background-size: auto; margin: 0.2em 0 0.2em 0; padding: 3em 1em 0 1em; display: flex; flex-direction: column; align-items: center; }
.top p { color: #020942; max-width:700px; margin: 0.8em; line-height:2;}
.top .big { font-size:2em; text-align: center;}
.top-contener { display: grid; gap:20px; margin: 0 0 0.2em 0;}
.top-box{ padding:35px 27px; border-radius: 20px; margin: 1em 0; background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22); margin-bottom: auto; text-align: center; }
.top-box h3{ margin-bottom: 38px; font-family: 'Noto Sans JP', sans-serif; font-size: 25px; font-weight: 700; color:#000; line-height:1.5;}

/* 枠 */
.btn-gradient-radius {
  display: inline-block;
  padding: 7px 20px;
  border-radius: 25px;
  color: #FFF;
  background-image: linear-gradient(45deg, #FFC107 0%, #ff8b5f 100%);
　font-weight: 700;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.29); 
}

/* イメージエリア */
.posts{padding: var(--v-space) 0; background-color: #020942；}
.posts-conteiner{display: grid; grid-template-columns: repeat(2,1fr); gap:32px 25px;}
.post img{width: 100%;}
@supports not(aspect-ratio: 3 / 2){.post img{height: 180px}}
.post a{display: block;}
.post h3{margin:0.5em 0 0.5em; font-size: clamp(12px,2vw,20px); min-height: 0vw;}
.post p{font-size: clamp(10px,1.6vw,14px); min-height: 0vw;}
.w-container{width: min(90%); margin: auto; position: relative;}
.imgtext{padding:ver(--v-space)0;}

/* ナゾ解きミッションエリア */
.nazo { background: url("../img/nazo_back.jpg"); background-position: center; background-size: cover; margin: 0.2em 0 0.2em 0; padding: 2em 1em 2em 1em; display: flex; flex-direction: column; align-items: center;}
.nazo_box { width:min(98%,1166px); align-items: center; margin: 0.2em;}
.nazo_box img{display: flex; align-items: center; margin: 0 auto;}

/* 見出し上アイコン */
.icon005 p {
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    max-width: 230px;
    padding: 2px 5px 2px 5px;
	margin: 5px 2px 10px;
    color: #FFF;
    transition: 0.3s ease-in-out;
	font-size: 0.7em;
    font-weight: 600;
    background:#005AAA;
}

/* 申込み・詳細ボタン */
.btn {display: block; width: 260px; padding: 10px; box-sizing:  border-box; border-radius: 4px; background-color:#E20280; color:#fff; font-size: 18px; text-align: center; text-shadow: 0 0 6px #00000052; margin: 20px 0 0 0; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);}
.btn-accent{text-shadow: 0 0 0px;}
.event-box .btn {width:auto;}

/* チラシダウンロード */
.pdf { background-color: #CCC; margin: 0 0 0.2em 0; padding: 4em 0 2em; display: flex; flex-flow: column;}
.pdf-button-area { display: flex; flex-flow: row nowrap; align-items: center; margin: 0 auto;}
.pdf-button-area img{ width: 400px; padding: 5px;}
.pdf .button04 { padding:1em; margin:0 auto; display: flex;}

/* チラシダウンロード内ボタン */
.button04 a {
  text-align: center;
  padding: 1em 2em;
  width: 200px;
  color: #041078;
  font-size: 18px;
  font-weight: 700;
  border: 3px solid #041078;
  border-radius: 10px;
}

.button04 a::after {
  width: 5px;
  height: 5px;
  color: #fff;
  border-top: 3px solid #041078;
  border-right: 3px solid #041078;
  transform: rotate(45deg);
}

.button04 a:hover {
  color: #fff;
  text-decoration: none;
  background-color: #242e82;
}

.button04 a:hover::after {
  border-top: 3px solid #333333;
  border-right: 3px solid #333333;
}

/* footer */
.footer {color: #ffffff; background-color: #25579E; padding-top: 30px; padding-bottom: 15px; margin-top: 2px; display: flex; flex-direction: column; align-items: center;}
.copyright {font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"; font-size: 14px;}

/* メディアクエリ　*/
@media (min-width : 1200px ){
	table.a{width: 700px;}
}
@media (max-width : 1200px ){
	table.a{width: 70%;}
}
@media (max-width: 1000px) {
table.a{width: 80%;}
.tsuika-p2 { font-size:1.2em; font-weight: bold; display: inline-block; flex-direction: column; justify-content: center; align-items: center; line-height:1.7; letter-spacing:0.07em; margin:1.5em;}
.text p2 { font-size:1.2em; font-weight: bold; display: inline-block; flex-direction: column; justify-content: center; align-items: center; line-height:1.7; letter-spacing:0.07em; margin:1.5em;}
.text h2 { font-size:1em; margin: 0 0 0.8em 0; font-weight: bold; text-align: center; }
h2 {
  position: relative;
  padding: 1.5rem 2rem;
  color: #fff;
  border-radius: 10px;
  background: #1e90ff;
  width: 300px;
}

h2:after {
  position: absolute;
  bottom: -9px;
  left: 2em;
  width: 0;
  height: 0;
  content: '';
  border-width: 10px 10px 0 10px;
  border-style: solid;
  border-color: #1e90ff transparent transparent transparent;}
}

@media (max-width:850px){
.pdf-button-area { display: flex; flex-flow: column; align-items: center; margin: 0 auto;}
.pdf-button-area img{ width: 380px; padding: 5px;}	
}

@media (max-width: 800px) {
.site-menu ul {display: block; text-align: center;}
.site-menu li {margin-top: 20px;}
.header {position: fixed; top: 0; left: 0; right: 0; background-color: #020942; height: 50px; z-index: 10;}
.header-inner {padding-left: 20px; padding-right: 20px; padding-top: 10px; height: 120%; position: relative;}
.header-logo {width: 100px;}
.header-site-menu {position: absolute; top: 100%; left: 0; right: 0; color: #ffffff; background-color: #020942; padding-top: 30px; padding-bottom: 50px; display: none;}
.toggle-menu-button {display: block; width: 44px; height:42px; background-image: url("../img/icon-menu.png"); background-size: 100%; background-position: center; background-repeat: no-repeat; background-color: transparent; border:none; border-radius: 0; outline: none;}
.header-site-menu.is-show {display: block;}
.main {padding-top: 0px;}
.main-pic {height: calc(100vh - 50px); background-position: top; }
}

@media (max-width: 700px) {
.badge_box { align-items: center; }
}

@media (max-width: 600px) {
.top .big { font-size:1.5em; text-align: center;}
.event .p2 {text-align: center; margin:0.5em 0.5em 0 0.5em; font-family: 'Noto Sans JP', sans-serif; font-size: 18px; font-weight: 700; color:#005AAA;}
.button_line007 a {font-size: 1.3em; padding: 30px 30px;}
}
@media (max-width: 550px) {
.event-box h3{margin-bottom: 38px; font-family: 'Noto Sans JP', sans-serif; font-size: 25px; font-weight: 700; color:#E20280; line-height:1.5; letter-spacing:0.05em;}
.hero-container{display: grid; margin: 80 10 10 10;}
}

@media (max-width: 450px) {
.top .big { font-size:1.3em; text-align: center;}
}
	
@media (max-width: 420px) {
.top .big { font-size:1.2em; text-align: center;}
.event .p2 {text-align: center; margin:0.5em 0.8em 0 0.8em; font-family: 'Noto Sans JP', sans-serif; font-size: 15px; font-weight: 700; color:#005AAA;}
.tsuika-p2 { font-size:1em; font-weight: bold; display: inline-block; flex-direction: column; justify-content: center; align-items: center; line-height:1.7; letter-spacing:0.07em; margin:1.5em; max-width: 800px;}
.text p2 { font-size:1em; font-weight: bold; display: inline-block; flex-direction: column; justify-content: center; align-items: center; line-height:1.7; letter-spacing:0.07em; margin:1.5em; max-width: 800px;}
.hero-pic { height: calc(700px - 80px); background-image: url("../img/main_pic5.jpg") ; height: 600px; background-repeat: no-repeat; background-position: center; background-size: cover; display: grid; align-items: center; justify-content: center;}
	}
@media (max-width: 385px) {
.hero-pic { height: calc(600px - 80px); background-image: url("../img/main_pic5.jpg") ; height: 500px; background-repeat: no-repeat; background-position: center; background-size: cover; display: grid; align-items: center; justify-content: center;}
.hero-container{display: grid; margin: 80 10 10 10;}
.top-box h3{ margin-bottom: 38px; font-family: 'Noto Sans JP', sans-serif; font-size: 20px; font-weight: 700; color:#000; line-height:1.5;}
p { font-size:0.9em; line-height:1.5; letter-spacing:0.07em;}
}