@charset "UTF-8";
div, p, ul, li, table, table tr td, table tr th, table tr td, dl, dt, dd, img, nav, footer { -webkit-box-sizing: border-box; box-sizing: border-box; }

/*
h2, h3, dl dt, nav > ul li {
	font-feature-settings: "palt";
	letter-spacing: 0.08em;
}
*/
html { font-size: 62.5%; /* 10px */ }

body { font-family: source-han-sans-japanese, "Noto Sans JP", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, 游ゴシック, "Yu Gothic", 游ゴシック体, YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; text-align: center; line-height: 1.8; word-break: break-all; font-size: 1.6em; color: #333; -webkit-text-size-adjust: 100%; /*スマホを横向きにした時用*/ background-size: 80px; letter-spacing: 0.08em; background: #000; }

@media screen and (max-width: 1099px) { html { font-size: 56.25%; /* 10px */ } }

a { color: #fa508b; }

a:hover { text-decoration: none; }

a.mouse_over, a.mouse_over2 { -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; }

a.mouse_over:hover { opacity: 0.7; }

a.mouse_over2:hover { opacity: 0.85; }

.bold { font-weight: 900; }

.f-small { font-size: 1.2rem; }

.f-middle { font-size: 1.4rem; }

.f-large { font-size: 2rem; }

.f-xlarge { font-size: 2.2rem; }

#outline a[target=_blank]::after { font-family: "Font Awesome 5 Free"; content: "\f35d"; font-weight: 900; display: inline-block; /* アイコンに下線がつくのを防止 */ margin-left: 0.5em; }

#wrap img { max-width: 100%; }

/* -------------------------------------------------------------------------------------------------------------------
TOP
------------------------------------------------------------------------------------------------------------------- */
/* nav */
nav { width: 100%; z-index: 99999 !important; }

nav ul { padding: 10px 0; font-size: 0; letter-spacing: -0.5em; }

nav ul li { font-family: 'Open Sans', sans-serif; display: inline-block; text-align: center; font-weight: 700; font-size: 18px; line-height: 20px; letter-spacing: normal; color: #1a1a1a; }

nav ul li a { color: #1a1a1a; /*	color: #1a1a1a;*/ text-decoration: none; display: inline-block; position: relative; overflow: visible; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; }

nav ul li a:hover { opacity: 0.6; }

nav ul li.off { opacity: 0.25; }

h1 img { width: 100%; max-width: 450px !important; }

.overlay { width: 100%; height: 100vh; position: absolute; top: 0; left: 0; background-color: rgba(67, 29, 50, 0.6); z-index: 1; }

.catch img.catch_txt { width: 100%; max-width: 1200px !important; margin: 0 auto; }

.content01, .content02 { width: 90%; max-width: 1400px; margin: 0 auto; overflow: hidden; }

.content01 span, .content02 span { position: relative; display: block; width: 100%; height: 100%; padding: 61.111% 0 0; background-size: 100% !important; }

.content01 span { background: url(../img/photo01.jpg) 100% 50% no-repeat; }

.content02 span { background: url(../img/photo02.jpg) 100% 50% no-repeat; }

.content01_txt, .content02_txt { font-family: "Yu Mincho", 游明朝, YuMincho, 游明朝体, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; color: #FFF; letter-spacing: 0.3em; -webkit-font-feature-settings: "palt"; font-feature-settings: "palt"; font-size: 1.7rem; padding: 20px 0 40px; }

#movie { overflow: hidden; margin: 0 auto 50px; padding: 0 0 30px; background-color: rgba(46, 123, 35, 0.4); }

#movie .youtube-box { width: 90%; max-width: 800px; margin: 0 auto 20px; }

#movie .youtube-box .youtube-inner { position: relative; width: 100%; padding-top: 56.25%; height: 0; overflow: hidden; }

#movie .youtube-box .youtube-inner iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

#movie .youtube-box .movieTitle { color: #FFF; padding: 5px 0 0; }

.fadein { opacity: 0; -webkit-transition: all 2s; -o-transition: all 2s; transition: all 2s; }

.fadein.scrollin { opacity: 1; }

/* 背景画像フェードイン+ズーム */
.fadein2 { opacity: 0; -webkit-transition: all 3s; -o-transition: all 3s; transition: all 3s; }

.fadein2.scrollin2 { opacity: 1; -webkit-animation: fadein2 4s; animation: fadein2 4s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; }

@-webkit-keyframes fadein2 { 0% { -webkit-transform: scale(1); transform: scale(1); }
  100% { -webkit-transform: scale(1.1); transform: scale(1.1); } }

@keyframes fadein2 { 0% { -webkit-transform: scale(1); transform: scale(1); }
  100% { -webkit-transform: scale(1.1); transform: scale(1.1); } }

.fadein3 { opacity: 0; -webkit-transition: all 3s; -o-transition: all 3s; transition: all 3s; }

.fadein3.scrollin3 { opacity: 1; }

h2 { padding: 10px 0 0; }

h2 img.tit { width: 40%; max-width: 300px !important; }

.messageTopLink { position: absolute; bottom: 20px; right: 15px; width: 40%; max-width: 300px; z-index: 3; }

/* -------------------------------------------------------------------------------------------------------------------
about
------------------------------------------------------------------------------------------------------------------- */
#footer-area { background: #fff4e0; margin: 0 0 10px; padding: 8px 0 15px; }

#about table { max-width: 600px; margin: 10px auto; }

#about table th, #about table td { vertical-align: top; font-size: 1.5rem; }

#about table th { text-align: left; letter-spacing: 0.3em; padding: 0 2rem 2rem; white-space: nowrap; }

#about table td { text-align: left; padding: 0 1rem 2rem; }

#about table td .open { display: block; text-indent: -0.5em; }

#about table td img.logo-company { width: 70%; max-width: 220px; margin-left: -3px; }

/* -------------------------------------------------------------------------------------------------------------------
siteTop                                                                                                      
------------------------------------------------------------------------------------------------------------------- */
.siteTop { width: 30%; max-width: 150px !important; margin: 4rem auto; }

.siteTop img { width: 100%; }

/* -------------------------------------------------------------------------------------------------------------------
event-banner                                                                                                       
------------------------------------------------------------------------------------------------------------------- */
.event-banner { width: 80%; max-width: 650px; margin: 3rem auto 2rem; }

/* -------------------------------------------------------------------------------------------------------------------
photospot
------------------------------------------------------------------------------------------------------------------- */
#photospot h3 { width: 80%; max-width: 320px; margin: 0 auto 1.5rem; }

#presentbox, #campaign { width: 90%; max-width: 500px; margin: 0 auto 4rem; padding: 4% 3%; background: #FFF; border-radius: 4px; text-align: left; }

#presentbox h4, #campaign h4 { margin: 0 0 1rem; padding: .8rem 1rem .9rem 1rem; background: #f2e189; font-weight: 900; line-height: 1.5; }

#presentbox p.content-dsc, #campaign p.content-dsc { margin: 0 0 1.5rem; font-weight: 900; font-size: 1.5rem; color: #896800; line-height: 1.5; }

#presentbox .photo-image, #campaign .photo-image { margin: 2rem 0 1.5rem; }

#presentbox table tr th, #presentbox table tr td, #campaign table tr th, #campaign table tr td { font-size: 1.5rem; }

#campaign { margin: 0 auto 4rem; }

/* -------------------------------------------------------------------------------------------------------------------
footer                                                                                                       
------------------------------------------------------------------------------------------------------------------- */
footer { width: 100%; text-align: center; font-size: 0.8em; line-height: 1.5; }

footer .footer-inner { width: 100%; margin: 0 auto; }

footer .copyright { clear: both; padding: 35px 0; }

footer .copyright a { display: block; text-decoration: none; }

footer .copyright a:hover { opacity: 0.7; -webkit-transition: 0.2s; -o-transition: 0.2s; transition: 0.2s; }

div#haro_root_element { overflow: hidden; }

.sns-archive { max-width: 1100px; margin: 0 auto !important; padding: 20px 4% !important; width: 100%; -webkit-box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0); box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0); background-color: transparent !important; color: #FFF; }

.sns .snstitle { font-size: 2rem !important; font-family: ff-nuvo-web-pro, sans-serif !important; }

/* Page Top
=================================== */
#page-top { position: fixed; bottom: 11px; right: 13px; display: block; z-index: 999; width: 80px; }

#page-top a img { width: 100%; }

#page-top a:hover { opacity: 0.7; -webkit-transition: all 0.2s; -o-transition: all 0.2s; transition: all 0.2s; }

/* -------------------------------------------------------------------------------------------------------------------
Tablet&SP                                                                                                        
------------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width: 1099px) { .pc { display: none; }
  .sp { display: block; }
  nav { background: rgba(255, 255, 255, 0.9); }
  nav ul { max-width: 480px; margin: -5px auto 0; padding: 10px 0; font-size: 0; letter-spacing: -0.5em; }
  nav ul li { width: 20%; }
  .header_logo { width: 80px; margin: 0 auto; padding: 15px 0 0; } }

/* -------------------------------------------------------------------------------------------------------------------
961px-                                                                                                           
------------------------------------------------------------------------------------------------------------------- */
@media screen and (min-width: 1100px) { .pc { display: block; }
  .sp { display: none; }
  /* nav */
  header { display: none; }
  .header_logo { display: block; position: relative; }
  .header_logo img { width: 70px !important; position: absolute; top: 18px; left: 20px; }
  nav { /* top: 0; left: 0; */ width: 100%; height: 92px; z-index: 99999 !important; /* width: 19.6%; height: 100%; */ background: white; }
  nav.fixed { position: fixed; top: 0; background: rgba(255, 255, 255, 0.92); -webkit-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; }
  nav ul { margin: 0 auto; padding: 5px 0; }
  nav ul li { font-family: 'Roboto', Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", sans-serif; display: inline-block; text-align: center; font-weight: 700; font-size: 18px; /*	color: #FFF;*/ }
  nav ul li img { max-width: 160px !important; }
  nav ul li a { text-decoration: none; display: inline-block; position: relative; overflow: visible; }
  nav ul li.off { opacity: 0.25; }
  .nav-logo img { width: 70%; max-width: 180px; margin: 50px auto 0; }
  .gnav { display: none; }
  .sns-archive { margin: 0 auto 20px !important; }
  .f-small { font-size: 1.4rem; }
  .f-middle { font-size: 1.6rem; }
  #movie { margin: 0 auto 20px; padding: 40px 0 30px; }
  #movie .youtube-box { margin: 20px auto 80px; }
  #movie .youtube-box .movieTitle { padding: 10px 0 0; line-height: 1; }
  .messageTopLink { bottom: 4%; right: 4%; }
  .content01_wrap, .content02_wrap { display: -moz-flex; display: -webkit-flex; display: -ms-flexbox; display: -webkit-box; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; padding: 100px 0; }
  .content02_wrap { -webkit-flex-flow: row-reverse; -ms-flex-flow: row-reverse; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; flex-flow: row-reverse; }
  .content01, .content02 { width: 55%; }
  .content01 span { height: auto; }
  .content02 span { height: auto; }
  .content01_txt, .content02_txt { width: 45%; padding: 0; }
  .content01_txt p, .content02_txt p { font-size: 28px; }
  .content01_txt { float: right; }
  .content02_txt { float: left; }
  #footer-area { margin: 40px 0 30px; padding: 0; }
  #about { margin: 100px 0 80px; padding: 60px 0; }
  #about h2 { font-size: 36px; margin-bottom: 40px; }
  footer { padding: 30px 0 0; }
  footer .credit { text-align: center; margin: 0 auto .5em; color: #ffd2db; }
  footer .copyright a { color: #FFF; }
  /* event-banner =================================== */
  .event-banner { margin: 0 auto 80px; }
  /* photospot =================================== */
  #photospot h3 { width: 70%; max-width: 430px; margin: 5rem auto 3rem; }
  #presentbox, #campaign { display: inline-block; vertical-align: top; width: 40%; margin: 0 auto 3rem; padding: 40px 30px; }
  #presentbox h4, #campaign h4 { position: relative; margin: 0 0 1.5rem; padding: 10px 0 11px 10px; background: #f2e189; font-weight: 900; line-height: 1; }
  #presentbox h4::after, #campaign h4::after { position: absolute; content: ''; display: inline-block; width: 80px; height: 53px; top: -15px; right: 0; background: url(../img/twinkle.png) no-repeat; background-size: contain; vertical-align: middle; }
  #presentbox p.content-dsc, #campaign p.content-dsc { margin: 0 0 1.5rem; font-weight: 900; font-size: 1.65rem; color: #896800; line-height: 1.5; }
  #presentbox .photo-image img, #campaign .photo-image img { display: block; margin: 0 auto; }
  #presentbox table tr th, #presentbox table tr td, #campaign table tr th, #campaign table tr td { font-size: 1.7rem; }
  /* Page Top =================================== */
  #page-top { bottom: 17px; right: 18px; width: 100px; } }
