@charset "UTF-8";
@import url("https://fonts.googleapis.com/earlyaccess/mplus1p.css");
@import url("https://fonts.googleapis.com/earlyaccess/roundedmplus1c.css");
@import url("https://fonts.googleapis.com/css?family=Dosis");
@import url("https://use.fontawesome.com/releases/v5.5.0/css/all.css");
/*  reset
----------------------------------------------------*/
* { font-feature-settings: "palt"; -webkit-font-feature-settings: "palt"; -moz-font-feature-settings: "palt"; -o-font-feature-settings: "palt"; -ms-font-feature-settings: "palt"; padding: 0; margin: 0; }

*, *:before, *:after { box-sizing: border-box; -webkit-tap-highlight-color: rgba(255, 255, 255, 0); outline: 1px solid transparent; }

@​media (prefers-reduced-motion: reduce) { * { animation-duration: 0.001s !important; transition-duration: 0.001s !important; } }
html { overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; height: 100%; font-size: 10px; }

body { text-rendering: optimizeLegibility; margin: 0; background-color: #fff; color: #4c4c4c; font-size: 10px; font-family: "YakuHanJP","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, sans-serif; position: relative; }

h1 { font-size: 2rem; margin: 0.67em 0; }

h2 { font-size: 1.7rem; }

h3 { font-size: 1.5rem; }

h4 { font-size: 1.00rem; }

h5 { font-size: 0.83rem; }

h6 { font-size: 0.67rem; }

h2, h3, h4, h5, h6 { line-height: 1; margin: 0 0 0 0; }

nav ul, ul, ol, li { list-style: none; margin: 0; padding: 0; font-size: 1.4em; }

p { line-height: 1.5; }

p, li, dt, dd { font-size: 1.4rem; line-height: 1.5em; letter-spacing: 1px; }

pre { white-space: pre-wrap; }

:root { line-sizing: normal; }

:root { text-spacing: trim-start allow-end trim-adjacent ideograph-alpha ideograph-numeric; }

img { border-style: none; display: block; vertical-align: bottom; max-width: 100%; width: 100%; height: auto; }

a { outline: 0; text-decoration: none; -webkit-transition: all 100ms linear; -moz-transition: all 100ms linear; transition: all 100ms linear; }

a, a:link { color: #39c; text-decoration: none; }

button:focus { outline: 0; background-color: transparent; border: 0 solid transparent; }

* > span { font-size: inherit; }

@media screen and (max-width: 320px) { p, li, dt, dd { font-size: 1.2rem; letter-spacing: .02em; }
  * span { font-size: inherit; } }
/*  header
----------------------------------------------------*/
#container-fluid > header > div.container { z-index: 9; }

header { width: 100%; height: 11vh; position: fixed; margin: 0px 0; padding: 0; z-index: 9; }
header::before { content: ""; display: block; background: url("../images/header_wave.png") repeat-x 0 center; background-size: auto 100%; animation: bg-slider 72s linear infinite; position: absolute; height: 11.5vh; top: 0; left: 0; right: 0; z-index: 7; }
header::after { content: ""; display: block; background: url("../images/header_wave2.png") repeat-x 0 center; background-size: auto 100%; animation: bg-sliderR 72s linear infinite; position: absolute; height: 11vh; top: 0; left: 0; right: 0; z-index: 8; }
header h1 { font-size: 1.1rem; font-weight: normal; display: block; width: 100%; text-align: center; color: #fff; line-height: 3; letter-spacing: 2px; z-index: 999; text-shadow: 1px 1px 4px #67da10, 1px -1px 4px #67da10, -1px 1px 4px #67da10, -1px -1px 4px #67da10; }

.topWave1 { display: block; background: url("../images/wave_top_fff.png") repeat-x 0 center; background-size: auto 100%; animation: bg-slider 144s linear infinite; position: absolute; height: 10vh; top: -2px; left: 0; right: 0; z-index: 7; }

.bottomWave1 { display: block; background: url("../images/wave_btm_fff.png") repeat-x 0 center; background-size: auto 100%; animation: bg-slider 144s linear infinite; position: absolute; height: 10vh; bottom: -2px; left: 0; right: 0; z-index: 7; }

@keyframes bg-slider { from { background-position: 0 0; }
  to { background-position: -1440px 0; } }
@keyframes bg-sliderR { from { background-position: 0 0; }
  to { background-position: 1440px 0; } }
@keyframes bg-sliderS { from { background-position: 0 0; }
  to { background-position: 1440px 0; } }
.bottomIsland1 { display: block; background: url("../images/bg_island1.png") repeat-x bottom center; background-size: contain; position: absolute; height: 10vh; bottom: -2px; left: 0; right: 0; z-index: 7; }

header > .container { width: 100%; height: auto; overflow: hidden; position: relative; padding-bottom: .2rem; z-index: 9; /* logo */ /* header_sp_nav bergerMenu */ }
header > .container .navbar-brand { width: 25%; position: relative; left: 1rem; margin-top: .8vh; z-index: 999; }
header > .container #gnav { width: 100%; position: relative; top: .5em; }
header > .container #gnav ul.gnav-inner { display: none; background: #54c156; width: 100%; }
header > .container #gnav ul.gnav-inner li { border-bottom: 1px solid #fff; position: relative; }
header > .container #gnav ul.gnav-inner li:last-child { border: none; }
header > .container #gnav ul.gnav-inner li::before { content: ""; background: url(../images/sprite_gnav_icon5050.png) no-repeat; background-position: 0 top; background-size: 2.5em auto; height: 2.5em; width: 2.5em; display: block; position: absolute; left: 2px; top: .4em; }
header > .container #gnav ul.gnav-inner li a { color: #fff; display: inline-block; padding: .9em 0 .9em 3em; text-decoration: none; font-size: .9em; letter-spacing: 1px; text-align: left; }
header > .container #gnav ul.gnav-inner li.active::before { background-image: url(../images/sprite_gnav_icon5050.png); background-position: 0 bottom; background-size: 2.5em auto; }
header > .container .header_sp_nav { width: 45px; height: 40px; padding: 5px; position: absolute; top: .5vh; right: 1rem; margin: auto; cursor: pointer; z-index: 10000; transition: all 0.8s ease-in-out; pointer-events: auto; }
header > .container .nav_line { display: block; width: 100%; height: 2px; background: #fff; -webkit-transition: .3s; transition: .3s; }
header > .container .nav_line1 { transform: translateY(10px); animation: line1_de 1s ease 0s 1 alternate; }
@keyframes line1_de { 0% { transform: translateY(30px) rotate(45deg); }
  10% { transform: translateY(30px) rotate(0deg); }
  30% { transform: translateY(30px) rotate(0deg); }
  100% { transform: translateY(10px); } }
header > .container .nav_line2 { opacity: 1; transform: translateY(20px); animation: line2_de 1s ease 0s 1 alternate; }
@keyframes line2_de { 0% { opacity: 0; }
  90% { opacity: 1; } }
header > .container .nav_line3 { animation: line3_de 1s ease 0s 1 alternate; transform: translateY(30px); }
@keyframes line3_de { 0% { transform: translateY(10px) rotate(-45deg); }
  30% { transform: translateY(10px) rotate(0deg); }
  100% { transform: translateY(30px); } }
header > .container .header_sp_nav.active .nav_line2 { opacity: 0; animation: line2 1s ease 0s 1 alternate; }
@keyframes line2 { 0% { opacity: 1; }
  40% { opacity: 0; } }
header > .container .header_sp_nav.active .nav_line1 { animation: line1 1s ease 0s 1 alternate; transform: translateY(22px) rotate(45deg); }
@keyframes line1 { 0% { transform: translateY(0px) rotate(0deg); }
  30% { transform: translateY(22px) rotate(0deg); }
  100% { transform: translateY(22px) rotate(45deg); } }
header > .container .header_sp_nav.active .nav_line3 { animation: line3 1s ease 0s 1 alternate; transform: translateY(18px) rotate(-45deg); }
@keyframes line3 { 0% { transform: translateY(40px) rotate(0deg); }
  30% { transform: translateY(18px) rotate(0deg); }
  100% { transform: translateY(18px) rotate(-45deg); } }
@media (max-width: 374px) { h1 { font-size: 1rem !important; width: 49vw !important; left: 32% !important; }
  /* header_sp_nav bergerMenu */
  .header_sp_nav { top: .7vh !important; } }
@media (max-width: 767px) { header h1 { width: 47vw; display: block; position: absolute; top: 1.4vh; line-height: 1.4; left: 34%; }
  ul.gnav-inner { display: none; }
  .loading { display: none; } }
@media (min-width: 768px) { /* iPadmini以上 --------------------------------------------------- */
  .container { max-width: 100%; }
  /*-- header --*/
  header { height: 14vh; }
  header h1 { font-size: 14px; letter-spacing: 6px; margin-bottom: 0; }
  header::before { content: ""; height: 14.5vh; }
  header::after { content: ""; height: 14vh; }
  header > .container { width: 100%; height: auto; overflow: hidden; position: relative; padding-bottom: .2rem; /* logo */ /* header_sp_nav bergerMenu */ }
  header > .container .navbar-brand { width: 17%; height: auto; position: relative; left: 1rem; top: -1vh; margin-top: 0; z-index: 998; }
  header > .container .navbar-brand a { display: block; }
  header > .container #gnav { display: inline-block; width: 100%; overflow: hidden; padding: 0; position: relative; top: -6.5vh; }
  header > .container #gnav ul.gnav-inner { background-color: transparent; float: right; margin-right: .5rem; width: 83%; display: flex; flex-wrap: wrap; justify-content: center; z-index: 9; }
  header > .container #gnav ul.gnav-inner li { background: none; border-bottom: none; border-right: 1px solid #fff; overflow: visible; display: flex; justify-content: center; align-items: center; position: relative; }
  header > .container #gnav ul.gnav-inner li:last-child { border: none; }
  header > .container #gnav ul.gnav-inner li a { height: 100%; display: block; padding: 25px 10px 10px; display: flex; align-items: center; justify-content: center; }
  header > .container #gnav ul.gnav-inner li a span { color: #fff; display: inline-block; vertical-align: middle; font-size: 13px; line-height: 1.4; text-align: center; position: relative; z-index: 1; }
  header > .container #gnav ul.gnav-inner li::before { content: ""; background-image: url(../images/sprite_gnav_icon5050.png); background-position: center top; background-size: 30px auto; /*sync*/ display: block; margin: 0 auto; width: 30px; /*sync*/ height: 28px; /*sync*/ overflow: hidden; position: absolute; top: 5px; left: 0; right: 0; text-align: center; z-index: -1; }
  header > .container #gnav ul.gnav-inner li:hover::before { content: ""; background-image: url(../images/sprite_gnav_icon5050.png); background-position: center top; background-size: 30px auto; /*sync*/ position: absolute; top: -1px; transition: .3s; }
  header > .container #gnav ul.gnav-inner li.active { background: none; }
  header > .container #gnav ul.gnav-inner li.active::before { content: ""; background-image: url(../images/sprite_gnav_icon5050.png); background-position: center bottom; /*sync*/ background-size: 30px auto; /*sync*/ }
  header > .container .header_sp_nav { display: none; }
  header.abbr h1 { line-height: 1.5; font-size: 12px; }
  header.abbr::before { content: ""; height: 11.5vh; }
  header.abbr::after { content: ""; height: 11vh; } }
@media (min-width: 801px) { /* notePC ---------------------------------------------------------------- */
  header { height: 203px; z-index: 9; }
  header::before { content: ""; height: 203px; }
  header::after { content: ""; height: 203px; }
  header h1 { position: relative; top: 20px; }
  header .container { padding: 0; margin: 0; }
  header .container .row .navbar-brand { width: 202px; top: 20px; margin-top: 0; z-index: 999; }
  header .container .row #gnav { top: -50px; z-index: 998; }
  header .container .row #gnav ul.gnav-inner { width: 720px; }
  header .container .row #gnav ul.gnav-inner li a { position: relative; padding: 20px 10px 10px !important; }
  header .container .row #gnav ul.gnav-inner li a span { font-size: 15px !important; }
  header .container .row #gnav ul.gnav-inner li a:hover { color: #fff !important; text-shadow: 1px 1px 4px #67da10, 1px -1px 4px #67da10, -1px 1px 4px #67da10, -1px -1px 4px #67da10, 1px 1px 8px #ceda00, 1px -1px 8px #ceda00, -1px 1px 8px #ceda00, -1px -1px 8px #ceda00; }
  header .container .row #gnav ul.gnav-inner li a:hover::after { background-color: rgba(255, 255, 255, 0.1); border-radius: .5rem; display: block; position: absolute; top: 0; bottom: 0; right: 0; left: 0; }
  .bottomIsland1 { height: 335px; }
  header.abbr { height: 140px; }
  header.abbr h1 { position: relative; top: 0; line-height: 1.5; font-size: 13px; letter-spacing: 4px; }
  header.abbr .navbar-brand { width: 150px !important; top: -20px !important; left: 50px; }
  header.abbr #gnav { top: -75px !important; }
  header.abbr::before { content: ""; height: 120px; }
  header.abbr::after { content: ""; height: 120px; } }
/*  footer
----------------------------------------------------*/
body { display: flex; flex-flow: column; min-height: 100vh; }

#container-fluid { flex: 1; }

/* footerWave */
img.footerWav { position: relative; margin-bottom: -12.1vh; }

@keyframes pulse { 0% { transform: scale(1, 1); }
  50% { opacity: 0.3; }
  100% { transform: scale(1.04, 1.5); opacity: 0; } }
footer { background-color: #ceda00; padding: 0 0 1em; position: relative; }
footer .youtube { position: relative; max-width: 100%; padding-top: 53.25%; /*56.25%*/ margin: 0 3%; }
footer .youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }
footer p.cap { text-align: center; font-size: 1rem; color: #444; margin: 1em auto; padding: 0 1em; }
footer ul.footerLink { padding: 1em 3%; width: 100%; }
footer ul.footerLink li { margin-bottom: 1em; }
footer ul.footerLink li.footerBtn a { display: block; border-radius: 1rem; padding: 1em; background: #ff5a24; color: #fff; font-size: 1.35rem; font-weight: bold; text-indent: -1em; text-align: center; position: relative; box-shadow: 4px 4px 0 rgba(55, 55, 55, 0.3); }
footer ul.footerLink li.footerBtn a:hover { background: #f80; opacity: 1; box-shadow: 1px 1px 0 rgba(55, 55, 55, 0.3); transition: .1s; }
footer ul.footerLink li.footerBtn a::before { content: ""; display: flex; align-items: center; justify-content: center; width: 100%; border-radius: 1rem; position: absolute; top: 0; bottom: 0; left: 0; right: 0; animation: pulse 1.2s ease infinite; background: #ff5a24; z-index: 0; }
footer ul.footerLink li.footerBtn a::after { content: "\f0a9"; font-family: "Font Awesome 5 Free"; font-weight: bold; color: #fff; font-size: 1.5em; position: absolute; right: .3em; bottom: 50%; transform: translate(0, 50%); }
footer ul.footerLink li.footerBtn a span { position: relative; z-index: 9; }
footer ul.footerLink li:nth-child(2) > a { font-size: 1.5em; font-weight: bold; color: #fff; text-align: center; letter-spacing: 1px; padding: .5em; display: block; width: 100%; }
footer ul.footerLink li:last-child > a { padding: 0; display: block; }
footer p.copy { color: #fff; font-size: 10px; font-weight: normal; font-family: "Open Sans", sans-serif; letter-spacing: 2px; width: 100%; text-align: center; line-height: 1.2; margin: 15px 0 1rem; }
footer p.copy a, footer p.copy span { color: #fff; }

#pagetopBtn { overflow: hidden; border-radius: 50%; position: fixed !important; z-index: 9999; text-align: center; text-decoration: none; transform: rotateY(270deg); transition: .5s; height: 55px; width: 55px; bottom: 20px; right: 15px; }
#pagetopBtn a { background-color: #facf3e; color: #fff; font-size: 10px; font-family: 'Dosis'; font-weight: 700; text-decoration: none; letter-spacing: 2px; line-height: 55px; height: 55px; width: 55px; display: block; }
#pagetopBtn::after { content: "\f106"; font-family: "Font Awesome 5 Free"; font-weight: bold; font-size: 10px; color: #fff; margin: 0 auto; position: relative; top: -57px; }

@media (min-width: 768px) { /* iPadmini以上 --------------------------------------------------- */
  footer ul.footerLink li:first-child a { padding: 2rem 1em; }
  footer ul.footerLink li:first-child a span { font-size: 2.5rem !important; }
  footer ul.footerLink li:first-child a::after { font-size: 2em; position: absolute; right: .5em; bottom: 50%; transform: translate(0, 50%); }
  footer ul.footerLink li:nth-child(2) > a { font-size: 2em; letter-spacing: 2px; padding: 1em; }
  footer p.cap { font-size: 1.2rem; }
  #pagetopBtn { height: 75px; width: 75px; bottom: 190px; right: 25px; }
  #pagetopBtn a { font-size: 13px; font-family: 'Dosis'; font-weight: 300; text-decoration: none; letter-spacing: 2px; line-height: 75px; height: 75px; width: 75px; display: block; }
  #pagetopBtn:hover { text-decoration: none; background-color: #fae55e; opacity: 1; }
  #pagetopBtn::after { font-size: 18px; top: -70px; } }
@media (min-width: 801px) { /* notePC ---------------------------------------------------------------- */
  footer { position: relative; z-index: 9; padding: 0; }
  footer ul.footerLink { padding: 1em 3%; width: 100%; }
  footer ul.footerLink li { margin-bottom: 1em; }
  footer ul.footerLink li:first-child { position: relative; z-index: 0; display: block; min-height: 3em; background: #fff; border-radius: .7em; }
  footer ul.footerLink li:first-child a { position: relative; z-index: 1; width: 100%; }
  footer li:nth-child(2) > a:hover { text-decoration: underline; }
  footer p.copy { color: #fff; font-size: 12px; font-weight: normal; letter-spacing: 2px; display: block; text-align: center; line-height: 60px; height: 60px; margin: 0; } }
@media screen and (min-width: 801px) and (-ms-high-contrast: active), (min-width: 801px) and (-ms-high-contrast: none) { body:not(:target) { display: block; flex-flow: unset; }
  footer:not(:target) { display: block; clear: both; }
  footer:not(:target) section { margin-bottom: 0; } }
/*  common
----------------------------------------------------*/
body .bk { color: #000; }
body .red { color: #e50012; }
body .cnt { padding-left: 5%; padding-right: 5%; width: 100%; position: relative; }

/* bootstrap */
section#container-fluid { position: relative; margin-bottom: 0; z-index: 0; }

section { position: relative; z-index: 1; margin-bottom: 60px; }
section .container { position: relative; z-index: 2; }
section .container h2.ttl { background: url(../images/ttl1.png) center bottom no-repeat; background-size: 100% auto; font-size: 4.8vw; min-height: 8vh; line-height: 1.3; letter-spacing: 1px; color: #3ca63e; text-align: center; margin: 2em auto 1.5em; }
section .container h2.ttl:first-child { margin-top: 0; }
section .container .row { display: block; }
section .container .row .cntAqua { background-color: #e1f4fd; position: relative; width: 100%; }
section .container .row a.btn1 { background-color: #facf3e; border: solid 2px #3ca63e; border-radius: 1.8rem; box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.2); height: 3.6rem; width: 45%; color: #67da10; font-weight: bold; font-size: 1.2em; padding: 0 1em; margin: 0 auto 1.5em; text-align: center; position: relative; display: flex; align-items: center; justify-content: center; }
section .container .row a.btn1::after { content: "\f0a9"; font-family: "Font Awesome 5 Free"; font-weight: bold; font-size: 1.9rem; color: #3ca63e; position: absolute; bottom: 50%; transform: translate(0, 52%); right: .5em; }
section .container .row p.btn2 { max-width: 85%; margin: 0 auto; }
section .container .row p.btn2 a { position: relative; color: #fff; border: solid 2px #3ca63e; background-color: #3ca63e; border-radius: 2em; display: block; font-weight: bold; font-size: 1.2em; text-align: center; text-indent: -1.5em; padding: 1em; }
section .container .row p.btn2 a::after { content: "\f0a9"; font-family: "Font Awesome 5 Free"; font-size: 2em; font-weight: bold; position: absolute; right: .5em; }

@media (min-width: 768px) { /* iPadmini以上 --------------------------------------------------- */
  .container { max-width: 100%; }
  section .container h2.ttl { font-size: 2.5rem; min-height: 14vh !important; padding-top: 4.5rem !important; }
  section .container * p { font-size: 1.6rem; } }
@media (min-width: 801px) { /* notePC ---------------------------------------------------------------- */
  .row { max-width: 940px !important; margin: 0 auto; overflow: visible; }
  section .container .cnt { max-width: 1280px; margin: 0 auto; }
  section .container * p { font-size: 1.6rem; }
  section .container h2.ttl { min-height: 149px !important; font-size: 27px; letter-spacing: 2px; }
  section .container a.btn1 { border-radius: 2.5rem; height: 5rem; width: 45%; color: #13aec9; font-weight: bold; font-size: 1.2em; padding: 0 1em; }
  section .container a.btn1:hover { background-color: #fae55e; box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.4); position: relative; top: 3px; left: 3px; transition: .3s; }
  section .container p.btn2 { font-size: 16px; letter-spacing: 1px; }
  section .container p.btn2 a:hover { color: #3ca63e; background-color: #fdffda; } }
#sec1 { background-color: transparent; margin-bottom: 1em; z-index: 0; }
#sec1 #youtube-wrap { background: url(../images/bg_movie.jpg) center top repeat-x; background-size: 100% auto; position: relative; display: block; overflow: hidden; margin-top: -5vh; padding-top: 56.25%; height: 50vh; max-height: 600px; width: 100%; }
#sec1 #youtube-wrap .loading { display: none; }

#sec2 { background-color: #fff; }
#sec2 .container h2.ttlFonomu { text-align: center; color: #3ca63e; font-size: 4.8vw; font-weight: normal; letter-spacing: 2px; line-height: 2; position: relative; top: 0; z-index: 9; animation: fonomutitle 1.3s ease-in-out; text-shadow: 1px 1px 3px #ceda00, -1px 1px 3px #ceda00, 1px -1px 3px #ceda00, -1px -1px 3px #ceda00, 1px 1px 10px #ceda00, -1px 1px 10px #ceda00, 1px -1px 10px #ceda00, -1px -1px 10px #ceda00; }
#sec2 .container h2 + h3 { color: #67da10; font-size: 4vw; letter-spacing: 2px; text-align: center; margin: 1em 0; }
@keyframes fonomutitle { from { top: -5vh; opacity: 0; }
  to { top: 0; opacity: 1; }
  /* 背景画像の長さ */ }
#sec2 .container ul.pointList { width: 96%; margin: 0 2%; }
#sec2 .container ul.pointList li { background: #ceda00; width: 100%; min-height: 9em; height: auto; margin: 0 auto 1em; padding: 3px; text-align: center; position: relative; }
#sec2 .container ul.pointList li h3 { font-size: 1.3em; background-color: #fff; color: #3ca63e; padding: 6px; display: block; margin-bottom: 5px; }
#sec2 .container ul.pointList li p { line-height: 1.4; text-align: left; padding-left: .5em; }
#sec2 .container ul.pointList li p span { display: block; float: right; padding: 4px; margin: .5em 1rem 0 .5em; background-color: #fff; width: 27%; height: auto; transform: rotate(-10deg); box-shadow: #555  2px 2px 3px; }

#sec3 { background: url(../images/bg_fonomu1.jpg) center top no-repeat; background-attachment: fixed; background-repeat: no-repeat; background-position: center top; background-size: cover; text-align: center; margin-bottom: 0; }
#sec3 .container .row { padding-top: 20vh; padding-bottom: 20vh; }
#sec3 .container .row .cntInfo { border-radius: .5rem; background-color: rgba(255, 255, 255, 0.85); width: 94%; margin: 1em 3%; padding: 1rem; z-index: 1; }
#sec3 .container .row .cntInfo h3 { background-color: #fff; border-radius: .3rem; margin-bottom: 10px; padding: 1rem; }
#sec3 .container .row .cntInfo .infoInner iframe { overflow: auto; overflow-y: scroll; height: 50vh; width: 100%; }

#secMap { margin-bottom: -1vh; }
#secMap .container h2.ttl { position: relative; margin-bottom: 0; z-index: 999; }
#secMap .container .cntAqua { background-color: #e1f4fd; margin-right: -15px; margin-left: -15px; padding: 10vh 0 0; }
#secMap .container .cntAqua .topWave1 { position: relative; height: 10vh; top: -10vh; left: 0; right: 0; z-index: 7; }
#secMap .container .cntAqua img { margin: 0 auto; }
#secMap .container .cntAqua img:first-of-type { margin-top: -10vh; }
#secMap .container .cntAqua .bottomWave1 { position: relative; bottom: -1vh; }

#sec4 { margin-bottom: 0; }
#sec4 .container .row { overflow: hidden; }
#sec4 .container .row ul.navLink { padding-bottom: 6vh; }
#sec4 .container .row ul.navLink li { display: block; margin-bottom: 2em; position: relative; }
#sec4 .container .row ul.navLink li a { display: block; margin: 0 auto; width: 100%; min-height: 12rem; text-align: center; position: relative; box-shadow: 3px 0 0 rgba(255, 255, 255, 0.5); }
#sec4 .container .row ul.navLink li a h3 { position: relative; color: #fff; font-size: 2rem; letter-spacing: 2px; margin-bottom: 1rem; }
#sec4 .container .row ul.navLink li a p { position: relative; color: #fff; text-align: center; font-size: 1.4rem; letter-spacing: 2px; max-width: 90%; display: inline-block; margin: 0; }
#sec4 .container .row ul.navLink li a span { overflow: hidden; width: 15rem; height: 15rem; border-radius: 50%; display: inline-block; position: absolute; right: -9vw; top: -1.5rem; }
#sec4 .container .row ul.navLink li a::after { content: "\f0a9"; font-family: "Font Awesome 5 Free"; font-weight: bold; color: #fff; font-size: 1.7em; position: absolute; bottom: .5em; left: calc(50% + 2em); transform: translate(-50%, 0); }
#sec4 .container .row ul.navLink li:first-child a { background-color: #ff5a24; }
#sec4 .container .row ul.navLink li:nth-child(2) a { background-color: #3ca63e; }
#sec4 .container .row ul.navLink li:nth-child(3) a { background-color: #ceda00; }
#sec4 .container .row ul.navLink li:nth-child(3) a span { top: -.8rem; }
#sec4 .container .row ul.navLink li:nth-child(4) a { background-color: #67da10; }
#sec4 .container .row ul.navLink li:nth-child(odd) a { padding: 1em .5em 3.5em 7em; }
#sec4 .container .row ul.navLink li:nth-child(odd) a span { left: -9vw; }
#sec4 .container .row ul.navLink li:nth-child(even) a { padding: 1em 7em 3.5em .5em; }
#sec4 .container .row ul.navLink li:nth-child(even) a::after { left: calc(50% - 2em); }

@media (max-width: 374px) { #sec4 .container .row ul.navLink li a p { font-size: 1.2rem; letter-spacing: 0; }
  #sec4 .container .row ul.navLink li:nth-child(3) a p { text-indent: 2.5em; }
  #sec4 .container .row ul.navLink li:nth-child(3) a span { top: -1.5rem; } }
@media (min-width: 768px) { /* iPadmini以上 --------------------------------------------------- */
  #sec1 .container #youtube-wrap { height: 100vh; }
  #sec1 .container .loading { display: none; color: #67da10; font-size: 1em; letter-spacing: 5px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2; }
  #sec2 .container h2.ttlFonomu { text-align: center; font-size: 5vw; padding: 0 2%; letter-spacing: 2px; line-height: 1.7; position: relative; top: 0; }
  #sec2 .container ul.pointList li { margin-bottom: 2em; }
  #sec2 .container ul.pointList li p span { display: block; float: right; padding: 6px; margin: -2.5em 2rem 0 1em; background-color: #fff; width: 24%; height: auto; }
  #sec2 .container::after { content: ""; width: 35%; min-height: 17vh; }
  @keyframes fonomutitle { from { top: -5vh; opacity: 0; }
    to { top: 0; opacity: 1; }
    /* 背景画像の長さ */ }
  #sec3 { margin-bottom: 0; }
  #sec3 .container h2 { font-size: 3.5rem; }
  #sec3 .container .cntInfo { width: 90% !important; margin: 1em 5% !important; }
  #secMap .container .cntAqua { margin-right: -15px; margin-left: -15px; }
  #secMap .container .cntAqua img { max-width: 1280px; margin: 0 auto; }
  #secMap .container .cntAqua img:first-of-type { margin: -10vh auto 0; }
  #sec4 .container ul.navLink { display: flex; flex-wrap: wrap; justify-content: center; }
  #sec4 .container ul.navLink li { width: 43%; margin-bottom: 1em; }
  #sec4 .container ul.navLink li a { min-height: 13rem !important; width: 100% !important; padding: 1.5em .5em 2.5em 8em !important; }
  #sec4 .container ul.navLink li a h3 { font-size: 1.8rem !important; letter-spacing: 1px !important; margin-bottom: .8rem !important; }
  #sec4 .container ul.navLink li a p { font-size: 1.4rem !important; line-height: 1.4; max-width: 100% !important; }
  #sec4 .container ul.navLink li a span { top: -.5em !important; }
  #sec4 .container ul.navLink li:nth-child(odd) a span { left: -6vw !important; }
  #sec4 .container ul.navLink li:nth-child(even) a span { right: -6vw !important; }
  #sec4 .container ul.navLink li:nth-child(even) a { padding: 1.5em 8em 2.5em .5em !important; }
  #sec4 .container ul.navLink li:nth-child(odd) { left: -2px; }
  #sec4 .container ul.navLink li:nth-child(even) { right: -2px; }
  #sec5 .container .row { overflow: hidden; }
  #sec5 .container .row p span { height: 25rem !important; width: 25rem !important; margin-right: 2em !important; margin-top: -4em; } }
@media (min-width: 801px) { /* notePC ---------------------------------------------------------------- */
  #sec1 #youtube-wrap { margin-top: -60px !important; padding-top: 56.25%; height: 100vh; max-height: 600px; width: 100%; }
  #sec1 .bottomWave1 { bottom: -25px; }
  #sec2 .container h2.ttlFonomu { font-size: 6.2vw; padding: 0; top: 60px; }
  #sec2 .container h2 + h3 { margin: 3em 0 1.5em; font-size: 40px; }
  @keyframes fonomutitle { from { top: -5vh; opacity: 0; }
    to { top: 60px; opacity: 1; }
    /* 背景画像の長さ */ }
  #sec2 .container ul.pointList { display: flex; flex-wrap: wrap; justify-content: center; }
  #sec2 .container ul.pointList li { width: 49%; }
  #sec2 .container ul.pointList li p span { margin: 10px 0px 0 15px !important; width: 40% !important; position: relative; z-index: 999; }
  #secMap .container h2.ttl { max-width: 846px; margin: 0 auto; }
  #sec4 .container .row { overflow: visible; }
  #sec4 .container .row ul.navLink li { width: 43%; margin-bottom: 80px; }
  #sec4 .container .row ul.navLink li a { min-height: 13rem !important; width: 100% !important; padding: 1.5em .5em 2.5em 8em !important; }
  #sec4 .container .row ul.navLink li a h3 { font-size: 20px !important; }
  #sec4 .container .row ul.navLink li a span { width: 200px; height: 200px; top: -35px !important; }
  #sec4 .container .row ul.navLink li a:hover { margin-top: -.5vh !important; transition: .3s; opacity: .8; }
  #sec4 .container .row ul.navLink li:nth-child(odd) a span { left: -4.5vw !important; }
  #sec4 .container .row ul.navLink li:nth-child(even) a span { right: -4.5vw !important; }
  #sec4 .container .row ul.navLink li:nth-child(even) a { padding: 1.5em 8em 2.5em .5em !important; }
  #sec4 .container .row ul.navLink li:nth-child(odd) { left: -2px; }
  #sec4 .container .row ul.navLink li:nth-child(even) { right: -2px; }
  #sec6 .container ul.navLink li { margin-top: -5vh !important; }
  #sec6 .container ul.navLink li a { height: 300px !important; width: 300px !important; }
  #sec6 .container ul.navLink li a h3 { top: 55px !important; font-size: 21px !important; }
  #sec6 .container ul.navLink li a p { top: 100px !important; font-size: 16px !important; }
  #sec6 .container ul.navLink li:last-child { border-right: 0 none; } }
/*	fix css
----------------------------------------------------*/
.w10 { width: 10% !important; }

.w15 { width: 15% !important; }

.w20 { width: 20% !important; }

.w25 { width: 25% !important; }

.w30 { width: 30% !important; }

.w35 { width: 35% !important; }

.w40 { width: 40% !important; }

.w45 { width: 45% !important; }

.w50 { width: 50% !important; }

.w55 { width: 55% !important; }

.w60 { width: 60% !important; }

.w65 { width: 65% !important; }

.w70 { width: 70% !important; }

.w75 { width: 75% !important; }

.w80 { width: 80% !important; }

.w85 { width: 85% !important; }

.w90 { width: 90% !important; }

.w91 { width: 91% !important; }

.w92 { width: 92% !important; }

.w93 { width: 93% !important; }

.w94 { width: 94% !important; }

.w95 { width: 95% !important; }

.w96 { width: 96% !important; }

.w97 { width: 97% !important; }

.w98 { width: 98% !important; }

.w99 { width: 99% !important; }

.w100 { width: 100% !important; }

.mclear { margin: 0 !important; }

.mt0 { margin-top: 0 !important; }

.mt1 { margin-top: 1px !important; }

.mt2 { margin-top: 2px !important; }

.mt3 { margin-top: 3px !important; }

.mt4 { margin-top: 4px !important; }

.mt5 { margin-top: 5px !important; }

.mt6 { margin-top: 6px !important; }

.mt8 { margin-top: 8px !important; }

.mt10 { margin-top: 10px !important; }

.mt15 { margin-top: 15px !important; }

.mt20 { margin-top: 20px !important; }

.mt25 { margin-top: 25px !important; }

.mt30 { margin-top: 30px !important; }

.mt35 { margin-top: 35px !important; }

.mt40 { margin-top: 40px !important; }

.mt45 { margin-top: 45px !important; }

.mt50 { margin-top: 50px !important; }

.mt60 { margin-top: 60px !important; }

.mt70 { margin-top: 70px !important; }

.mt80 { margin-top: 80px !important; }

.mt90 { margin-top: 90px !important; }

.mt100 { margin-top: 100px !important; }

.mr0 { margin-right: 0 !important; }

.mr1 { margin-right: 1px !important; }

.mr2 { margin-right: 2px !important; }

.mr3 { margin-right: 3px !important; }

.mr4 { margin-right: 4px !important; }

.mr5 { margin-right: 5px !important; }

.mr6 { margin-right: 6px !important; }

.mr8 { margin-right: 8px !important; }

.mr10 { margin-right: 10px !important; }

.mr15 { margin-right: 15px !important; }

.mr20 { margin-right: 20px !important; }

.mr25 { margin-right: 25px !important; }

.mr30 { margin-right: 30px !important; }

.mr35 { margin-right: 35px !important; }

.mr40 { margin-right: 40px !important; }

.mr45 { margin-right: 45px !important; }

.mr50 { margin-right: 50px !important; }

.mb0 { margin-bottom: 0 !important; }

.mb1 { margin-bottom: 1px !important; }

.mb2 { margin-bottom: 2px !important; }

.mb3 { margin-bottom: 3px !important; }

.mb4 { margin-bottom: 4px !important; }

.mb5 { margin-bottom: 5px !important; }

.mb6 { margin-bottom: 6px !important; }

.mb8 { margin-bottom: 8px !important; }

.mb10 { margin-bottom: 10px !important; }

.mb15 { margin-bottom: 15px !important; }

.mb20 { margin-bottom: 20px !important; }

.mb25 { margin-bottom: 25px !important; }

.mb30 { margin-bottom: 30px !important; }

.mb35 { margin-bottom: 35px !important; }

.mb40 { margin-bottom: 40px !important; }

.mb45 { margin-bottom: 45px !important; }

.mb50 { margin-bottom: 50px !important; }

.mb60 { margin-bottom: 60px !important; }

.mb70 { margin-bottom: 70px !important; }

.mb80 { margin-bottom: 80px !important; }

.mb90 { margin-bottom: 90px !important; }

.mb100 { margin-bottom: 100px !important; }

.ml0 { margin-left: 0px !important; }

.ml1 { margin-left: 1px !important; }

.ml2 { margin-left: 2px !important; }

.ml3 { margin-left: 3px !important; }

.ml4 { margin-left: 4px !important; }

.ml5 { margin-left: 5px !important; }

.ml6 { margin-left: 6px !important; }

.ml8 { margin-left: 8px !important; }

.ml10 { margin-left: 10px !important; }

.ml15 { margin-left: 15px !important; }

.ml20 { margin-left: 20px !important; }

.ml25 { margin-left: 25px !important; }

.ml30 { margin-left: 30px !important; }

.ml35 { margin-left: 35px !important; }

.ml40 { margin-left: 40px !important; }

.ml45 { margin-left: 45px !important; }

.ml50 { margin-left: 50px !important; }

.pclear { padding: 0 !important; }

.pt0 { padding-top: 0 !important; }

.pt1 { padding-top: 1px !important; }

.pt2 { padding-top: 2px !important; }

.pt3 { padding-top: 3px !important; }

.pt4 { padding-top: 4px !important; }

.pt5 { padding-top: 5px !important; }

.pt6 { padding-top: 6px !important; }

.pt8 { padding-top: 8px !important; }

.pt10 { padding-top: 10px !important; }

.pt15 { padding-top: 15px !important; }

.pt20 { padding-top: 20px !important; }

.pt25 { padding-top: 25px !important; }

.pt30 { padding-top: 30px !important; }

.pt35 { padding-top: 35px !important; }

.pt40 { padding-top: 40px !important; }

.pt45 { padding-top: 45px !important; }

.pt50 { padding-top: 50px !important; }

.pt60 { padding-top: 60px !important; }

.pt70 { padding-top: 70px !important; }

.pt80 { padding-top: 80px !important; }

.pt90 { padding-top: 90px !important; }

.pt100 { padding-top: 100px !important; }

.pr0 { padding-right: 0 !important; }

.pr1 { padding-right: 1px !important; }

.pr2 { padding-right: 2px !important; }

.pr3 { padding-right: 3px !important; }

.pr4 { padding-right: 4px !important; }

.pr5 { padding-right: 5px !important; }

.pr6 { padding-right: 6px !important; }

.pr8 { padding-right: 8px !important; }

.pr10 { padding-right: 10px !important; }

.pr15 { padding-right: 15px !important; }

.pr20 { padding-right: 20px !important; }

.pr25 { padding-right: 25px !important; }

.pr30 { padding-right: 30px !important; }

.pr40 { padding-right: 40px !important; }

.pb0 { padding-bottom: 0 !important; }

.pb1 { padding-bottom: 1px !important; }

.pb2 { padding-bottom: 2px !important; }

.pb3 { padding-bottom: 3px !important; }

.pb4 { padding-bottom: 4px !important; }

.pb5 { padding-bottom: 5px !important; }

.pb6 { padding-bottom: 6px !important; }

.pb8 { padding-bottom: 8px !important; }

.pb10 { padding-bottom: 10px !important; }

.pb15 { padding-bottom: 15px !important; }

.pb20 { padding-bottom: 20px !important; }

.pb25 { padding-bottom: 25px !important; }

.pb30 { padding-bottom: 30px !important; }

.pb35 { padding-bottom: 35px !important; }

.pb40 { padding-bottom: 40px !important; }

.pb45 { padding-bottom: 45px !important; }

.pb50 { padding-bottom: 50px !important; }

.pb60 { padding-bottom: 60px !important; }

.pb70 { padding-bottom: 70px !important; }

.pb80 { padding-bottom: 80px !important; }

.pb90 { padding-bottom: 90px !important; }

.pb100 { padding-bottom: 100px !important; }

.pl0 { padding-left: 0px !important; }

.pl1 { padding-left: 1px !important; }

.pl2 { padding-left: 2px !important; }

.pl3 { padding-left: 3px !important; }

.pl4 { padding-left: 4px !important; }

.pl5 { padding-left: 5px !important; }

.pl6 { padding-left: 6px !important; }

.pl8 { padding-left: 8px !important; }

.pl10 { padding-left: 10px !important; }

.pl15 { padding-left: 15px !important; }

.pl20 { padding-left: 20px !important; }

.pl25 { padding-left: 25px !important; }

.pl30 { padding-left: 30px !important; }

.pl35 { padding-left: 35px !important; }

.pl40 { padding-left: 40px !important; }

.mp0 { margin: 0 !important; padding: 0 !important; }

.fN { font-weight: normal !important; }

.fB { font-weight: bold !important; }

/* サイズプラス */
.fsP1 { font-size: 1.08em !important; }

.fsP2 { font-size: 1.16em !important; }

.fsP3 { font-size: 1.24em !important; }

.fsP4 { font-size: 1.32em !important; }

.fsP5 { font-size: 1.4em !important; }

/* サイズマイナス */
.fsM1 { font-size: 0.92em !important; }

.fsM2 { font-size: 0.84em !important; }

.fsM3 { font-size: 0.76em !important; }

.fsM4 { font-size: 0.68em !important; }

.fsM5 { font-size: 0.6em !important; }

.fr { float: right !important; }

.fl { float: left !important; }

.nofl { float: none !important; }

.alignC { text-align: center !important; }

.alignL { text-align: left !important; }

.alignR { text-align: right !important; }

.noBdr { border: none !important; }

.noBdrT { border-top: none !important; }

.noBdrB { border-bottom: none !important; }

.noBdrL { border-left: none !important; }

.noBdrR { border-right: none !important; }

.lh0 { line-height: 0 !important; }

.lh09 { line-height: 0.9 !important; }

.lh10 { line-height: 1 !important; }

.lh11 { line-height: 1.1 !important; }

.lh12 { line-height: 1.2 !important; }

.lh13 { line-height: 1.3 !important; }

.lh14 { line-height: 1.4 !important; }

.lh15 { line-height: 1.5 !important; }

.lh16 { line-height: 1.6 !important; }

.lh17 { line-height: 1.7 !important; }

.lh18 { line-height: 1.8 !important; }

.lh19 { line-height: 1.9 !important; }

.lh20 { line-height: 2 !important; }

.clr { clear: both; }

.block { display: block !important; }

.inline { display: inline !important; }

.inlineB { display: inline-block !important; }

.ofh { overflow: hidden !important; }

.nowrap { white-space: nowrap !important; }

.indent { text-indent: -1em; padding-left: 1em; }

.hideTxt { overflow: hidden; text-indent: 100%; white-space: nowrap; }

.under { text-decoration: underline !important; }

.centerImg { text-align: center !important; }
.centerImg img { display: block; margin-left: auto !important; margin-right: auto !important; }

@media screen and (max-width: 767px) { .noSP, br.noSP { display: none; }
  .noPC, br.noPC { display: block; } }
@media screen and (min-width: 768px) { .bt a:hover, .bt a:hover img { opacity: .7; }
  .noPC { display: none; }
  .noSP { display: block; } }
