@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;}
img {max-width: 100%;}
/* イエローマーカー */
span {background:linear-gradient(transparent 20%, #ff6 60%); }
p { line-height:1.5; letter-spacing:0.07em;}

/* メニュー */
.header {background-color: #020942; position: sticky; top: 0; z-index: 10;}
.header-inner {max-width: 1200px; height: 110px; 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: #020942;}
.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(760px - 110px); background-image: url("../img/main_pic2.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; }　

/* news */
.news { background-color: #CCC; margin: 0 0 0.2em 0; padding: 0.5em 2em; display: flex;}
.news-box {width: 20%}
ul2 {list-style: none; width:calc(100% - 150px); padding:20px 18px; box-sizing: border-box; height: 155px;overflow: auto;}
ul2 li {line-height: 1.5; padding: 0.5em 0; margin: 0 auto 10px auto; font-size:14px; line-height: 22px; padding:0 0 0 7em; width: 100%; box-sizing:border-box; position: relative;}
ul2 li time{position: absolute; top:3px; left:0; font-size:12px; color:#000080; margin:0; line-height:1.5em; font-weight:bold; width:7em}
.flame01 {
border: 1px solid #000;
margin: 2em auto;
padding: 1em;
width: 30%;
}

/* 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: #0C308E url("../img/top_back4.png") ; background-repeat: no-repeat; background-position: center; background-position: top; background-size: auto; margin: 0.2em 0 0.2em 0; padding: 3em 1em 3em 1em; display: flex; flex-direction: column; align-items: center; }
.top p { color: #FFFFFF; max-width:700px; margin: 0.8em;}
.top .small { font-size:0.8em;} 
.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); 
}

/* 追加展示について */
.tsuika { background-image: linear-gradient(180deg, rgba(243, 196, 170, 1), rgba(228, 81, 154, 1) 50%, rgba(77, 84, 224, 1)); padding: 4em 1em 3em 1em; margin: 0.2em 0 0.2em 0; background-size: cover;  display: flex; flex-direction: column; align-items: center;}
.tsuika-container { display: grid; gap:27px; margin: 0 0 0.2em 0; padding: 1em; }
.tsuika-box { padding:35px 27px; border-radius: 20px; margin: 1em 0; background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22); display:flex; flex-direction: column; align-items: center;}

.tsuika-p2 { font-size:1.5em; 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;}

.tsuika-box h3{margin-bottom: 4px; font-family: 'Noto Sans JP', sans-serif; font-size: 33px; font-weight: 800; color:#FF9E00; line-height:1.5; letter-spacing:0.05em; text-align:center;}
.tsuika-box .name-p {margin-bottom: 5px; font-family: 'Noto Sans JP', sans-serif; font-size: 27px; font-weight: 400; color:#FF9E00; line-height:1.5; letter-spacing:0.05em; text-align:center;}
.tsuika-box .name-italic{ font-style: italic; border-bottom:solid #FF9E00 2px; /*borderの指定*/padding-bottom:8px;/*余白の指定*/}
.tsuika-box .name-text{ margin-top: auto; margin-bottom: 38px; font-family: 'Noto Sans JP', sans-serif; font-size: 17px; line-height:1.5; letter-spacing:0.05em; text-align:center; padding-top:8px; }

.tsuika img {margin-bottom: 20px; text-align:center;}
.tsuika-box .tsuika-p {margin-top: auto;}

/* 事前予約 */
.text { padding: 4em 1em 3em 1em; margin: 0.2em 0 0.2em 0; background-size: cover; background: rgb(158,189,214); /* Old browsers */ background: linear-gradient(90deg, rgba(158,189,214,1), rgba(229,229,229,1));/* 背景画像指定 */ background-repeat:  no-repeat;/* 背景の繰り返し設定 */ background-position: center;/* 背景の位置指定 */text-align: center;  display: flex; flex-direction: column; align-items: center;}
.text h2 { font-size:1.5em; margin: 0 0 0.8em 0; font-weight: bold; text-align: center; display: inline-block;}
.text p { display: flex; 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.5em; 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;}

/* 事前予約内ボタンデザイン */
.button_line007 a {
	font-size: 2em;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 500px;
    padding: 30px 80px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    background: #eee;
}
.button_line007 a:hover {
    background: #ebfcfe;
    color: #6bb6ff;
}
.button_line007 a:before, .button_line007 a:after {
  box-sizing: inherit;
  content: "";
  position: absolute;
  border: 2px solid transparent;
  width: 0;
  height: 0;
}
.button_line007 a:before {
  top: 0;
  left: 0;
}
.button_line007 a:after {
  bottom: 0;
  right: 0;
}
.button_line007 a:hover:before, .button_line007 a:hover:after {
  width: 100%;
  height: 100%;
}
.button_line007 a:hover:before {
  border-top-color: #6bb6ff;
  border-right-color: #6bb6ff;
  transition: width 0.15s ease-out, height 0.15s ease-out 0.15s;
}
.button_line007 a:hover:after {
  border-bottom-color: #6bb6ff;
  border-left-color: #6bb6ff;
  transition: border-color 0s ease-out 0.2s, width 0.15s ease-out 0.2s, height 0.15s ease-out 0.3s;
}

/* ご来館の前に見出し */
h2 {
  position: relative;
  padding: 1.5rem 2rem;
  color: #fff;
  border-radius: 10px;
  background: #1e90ff;
  width: 500px;
}

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;
}
/* 缶バッジ */
.badge { background: url("../img/badge_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;}
.badge_box { align-items: center; margin: 0.2em;}
.badge_box p { color:#020942; max-width:700px; margin: 0.2em;}

/* 関連イベント */
.event { background: #FCFCCB; margin: 0.2em 0 0 0; padding: 2em 0 0 0; }
.event img { display: flex; align-items: center; margin: 0 auto; }
.event .p2 { text-align: center; margin:0.5em 0.8em 0 0.8em; font-family: 'Noto Sans JP', sans-serif; font-size: 20px; font-weight: 700; color:#005AAA;}
.event-container { display: grid; gap:27px; background: #FCFCCB; margin: 0 0 0.2em 0; padding: 1em; }
.event-box { padding:35px 27px; border-radius: 20px; margin: 1em 0; background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22); display:flex; flex-direction: column;}
.event-box h3{margin-bottom: 20px; font-family: 'Noto Sans JP', sans-serif; font-size: 30px; font-weight: 700; color:#E20280; line-height:1.5; letter-spacing:0.05em;}
.event-box .comment{margin-bottom: 38px;}
.event-box .button-reserve{margin-bottom: 22px; font-size:26px; font-weight:bold;}
.event-box .button-accent{background-color:rgb(149,202,252);}
.event-box .button-accent2{background-color: #555555;}
.event-box .title{ background: #b0dcfa;  padding: 0 0 0 1em;  color: #FFFFFF; border-radius: 0.5em; color: #020942; font-weight: bold;}
.event-box .list{margin-top: auto;}
.event-box .list-text{ padding: 0.1em 1em 0.1em 1em;/*文字周りの余白*/ border-radius: 0.5em;/*角の丸み*/ margin: 0.1em 0 0.3em 0;}

/* 見出し上アイコン */
.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 img { display: flex; align-items: center; margin: 0 auto;}
.pdf .button04 { padding:1em; margin:0 auto; display: flex;}

/* チラシダウンロード内ボタン */
.button04 a {
  text-align: center;
  padding: 1em 2em;
  width: 200px;
  color: #2285b1;
  font-size: 18px;
  font-weight: 700;
  border: 3px solid #a0c4d3;
  border-radius: 10px;
}

.button04 a::after {
  width: 5px;
  height: 5px;
  border-top: 3px solid #2285b1;
  border-right: 3px solid #2285b1;
  transform: rotate(45deg);
}

.button04 a:hover {
  color: #333333;
  text-decoration: none;
  background-color: #a0c4d3;
}

.button04 a:hover::after {
  border-top: 3px solid #333333;
  border-right: 3px solid #333333;
}

/* footer */
.footer {color: #ffffff; background-color: #020942; 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 (max-width: 1000px) {
.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 (min-width : 1150px ){
.tsuika-container { grid-template-columns: repeat(3,1fr);}
.event-container { grid-template-columns: repeat(3,1fr);}
.top-contener { grid-template-columns: repeat(2,1fr);}
}

@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) {
.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;}
}
@media (max-width: 420px) {
.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;}
}

@media (max-width: 385px) {
.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;}
}