body { margin: 0; padding: 0; }

html, body { height: 100%; }

img { line-height: 0; font-size: 0; border: 0; }

a img, fieldset, img { border: 0; }

blockquote, dd, div, dl, dt, fieldset, form, h1, h2, h3, h4, h5, h6, ul, li, ol, p, pre, span, td, th { margin: 0; padding: 0; }

h1, h2, h3, h4, h5, h6, p, address { font-size: 100%; }

ul, li, ol { list-style: none; }

table { border-collapse: collapse; border-spacing: 0; font-size: 100%; }

a:link, a:visited { color: #333; text-decoration: none; }

a:hover, a:active { color: #000; text-decoration: none; }

a { -webkit-transition: all 0.3s ease-in; -moz-transition: all 0.3s ease-in; -ms-transition: all 0.3s ease-in; -o-transition: all 0.3s ease-in; transition: all 0.3s ease-in; }

a:hover { filter: alpha(opacity=80); -moz-opacity: 0.80; opacity: 0.80; }

hr { display: none; }

.cf:before, .cf:after { content: " "; display: table; }

.cf:after { clear: both; }

.cf { *zoom: 1; }

*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }

html body { background: url("../img/bg.jpg"); color: #333; font-size: 16px; font-family: 'M PLUS Rounded 1c', sans-serif; font-weight: 400; }

img { vertical-align: top; }

#container { margin: 0 auto; text-align: center; line-height: 180%; min-width: 1000px; overflow-x: hidden; }

@media screen and (min-width: 760px) { .sp { display: none !important; }
  .pc { display: block; } }
@media screen and (max-width: 759px) { .pc { display: none !important; }
  .sp { display: block; } }
.cInner { width: 960px; margin: 0 auto; text-align: center; position: relative; z-index: 1; }

.link { margin-top: 45px; }
.link a { display: inline-block; font-size: 24px; font-weight: 500; min-width: 300px; padding: 15px 50px; background-color: #5ebc71; color: #FFF; border-radius: 40px; box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.05); }
.link a:hover { background-color: #FFF; color: #5ebc71; box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.05); }
.link.rv a { background-color: #FFF; color: #5ebc71; }
.link.rv a:hover { background-color: #5ebc71; color: #FFF; }

.center { text-align: center; }

@media screen and (max-width: 759px) { /*SP*/
  html body { font-size: 3.6vw; }
  #container { min-width: 100%; }
  .cInner { width: 100%; padding: 0 5vw; }
  img.fit { width: 100%; height: auto; }
  .link { margin-top: 10vw; }
  .link a { font-size: 5vw; padding: 2vw 10vw; min-width: inherit; background-color: #5ebc71; color: #FFF; border-radius: 10vw; } }
/*-------------------------------------------------
	++ MENU
-------------------------------------------------*/
#menuBtn { position: absolute; background-color: #fdf9f1; top: 0; right: 0; width: 70px; height: 70px; z-index: 9998; }
#menuBtn span { display: inline-block; position: absolute; left: 10%; width: 80%; height: 4px; border-radius: 2px; background-color: #5ebc71; }
#menuBtn span:nth-of-type(1) { top: 25px; }
#menuBtn span:nth-of-type(2) { bottom: 25px; }
#menuBtn.current span:nth-of-type(1) { transform: rotate(20deg); top: 32px; }
#menuBtn.current span:nth-of-type(2) { transform: rotate(-20deg); top: 32px; }

#menu { position: fixed; top: 0; left: 0; width: 100%; margin: 0; z-index: 9998; }
#menu .menuBox { width: 100%; height: 100vh; background-color: rgba(253, 249, 241, 0.9); display: none; padding: 0 0 0 0; text-align: center; }
#menu .menuBox .inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content: center; align-items: center; height: 100%; }
#menu .menuBox ul li { display: block; font-size: 24px; font-weight: 700; letter-spacing: 2px; margin-bottom: 20px; }
#menu .menuBox ul li a { display: inline-block; color: #5ebc71; border-bottom: 2px solid transparent; padding: 3px 0; }
#menu .menuBox ul li a:hover { border-bottom: 2px solid #5ebc71; }

@media screen and (max-width: 759px) { /*SP*/
  #menuBtn { width: 12vw; height: 12vw; }
  #menuBtn span { height: 3px; }
  #menuBtn span:nth-of-type(1) { top: 4vw; }
  #menuBtn span:nth-of-type(2) { bottom: 4vw; }
  #menuBtn.current span:nth-of-type(1) { top: 5.5vw; }
  #menuBtn.current span:nth-of-type(2) { top: 5.5vw; }
  #menu .menuBox ul li { font-size: 5vw; } }
/*-------------------------------------------------
	++ MAIN 
-------------------------------------------------*/
#main { background: url("../img/main_bg.jpg") center top no-repeat; background-size: 100% auto; position: relative; padding-bottom: 25px; }
#main .mainTitle { width: 42%; margin: 0 auto; text-align: center; }
#main .mainTitle img { width: 100%; height: auto; }
#main .mainTitle a:hover { opacity: 1; }
#main .navigator { margin-top: 70px; position: relative; color: #FFF; }
#main .navigator .name { position: absolute; bottom: 0; left: 50%; text-align: left; margin-left: 80px; font-size: 14px; line-height: 1.2; }
#main .navigator .name strong { font-size: 22px; display: block; font-weight: 700; }

#container.sub #main { background-position: center center; }
#container.sub #main .mainTitle { width: 32%; }

@media screen and (max-width: 1500px) { #main { background-size: 1500px auto; } }
@media screen and (max-width: 759px) { /*SP*/
  #main { background-size: auto 125%; padding: 3vw 0; }
  #main .mainTitle { width: 70%; }
  #main .navigator { margin-top: 10vw; }
  #main .navigator .img { width: 50%; margin: 0 auto; }
  #main .navigator .name { position: relative; bottom: auto; left: auto; text-align: center; margin-left: 0; font-size: 3vw; }
  #main .navigator .name strong { font-size: 4.4vw; }
  #container.sub #main { background-size: 100% auto; }
  #container.sub #main .mainTitle { width: 32%; } }
/*-------------------------------------------------
	++ CONTENTS 
-------------------------------------------------*/
.section { position: relative; padding: 100px 0; }
.section .secHead { margin-bottom: 40px; }
.section .secHead h2 { display: inline-block; font-size: 36px; color: #9bdbaa; position: relative; letter-spacing: 2px; line-height: 1.4; }
.section .secHead h2:before { display: block; content: ""; width: 100%; height: 4px; background: url("../img/bggr.jpg") center top; position: absolute; bottom: -15px; left: 0; border-radius: 4px; }
.section .secHead h2:after { content: ""; width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent; border-top: 13px solid #5ebc71; position: absolute; bottom: -25px; left: 50%; margin-left: -8px; }
.section.bgb { background-color: #9bdbaa; color: #FFF; }
.section.bgb .secHead { margin-bottom: 20px; }
.section.bgb .secHead h2 { color: #FFF; }
.section.bgb .secHead h2:before, .section.bgb .secHead h2:after { display: none; }
.section.bgw { background-color: #FFF; }
.section.bgy { background-color: #fef8cf; }
.section.csn1:before, .section.csn2:before { content: ""; width: 100%; height: 15px; background: url("../img/csn.jpg") no-repeat center center; background-size: 100% 100%; position: absolute; top: 0; left: 0; }
.section.csn2:before { transform: scale(-1, 1); }

@media screen and (max-width: 759px) { /*SP*/
  .section { padding: 15vw 0; }
  .section .secHead { margin-bottom: 10vw; }
  .section .secHead h2 { font-size: 6vw; }
  .section .secHead h2:before { bottom: -3vw; }
  .section .secHead h2:after { border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 7px solid #5ebc71; bottom: -18px; margin-left: -4px; }
  .section.csn1:before, .section.csn2:before { height: 3vw; } }
/*-------------------------------------------------
	++ HOME 
-------------------------------------------------*/
#info .infolist ul li { padding-left: 30px; text-align: left; margin-bottom: 15px; position: relative; }
#info .infolist ul li:before { content: ""; width: 17px; height: 17px; border-radius: 10px; background-color: #5ebc71; display: block; position: absolute; top: 6px; left: 6px; }
#info .infolist ul li:nth-last-of-type(1) { margin-bottom: 0; }

@media screen and (max-width: 759px) { /*SP*/
  #info .infolist ul li { padding-left: 5vw; text-align: left; margin-bottom: 3vw; position: relative; line-height: 1.4; }
  #info .infolist ul li:before { content: ""; width: 3vw; height: 3vw; border-radius: 3vw; background-color: #5ebc71; display: block; position: absolute; top: .7vw; left: 0; }
  #info .infolist ul li:nth-last-of-type(1) { margin-bottom: 0; } }
#onairinfo #tab-btn-set { justify-content: flex-start; border: 0; }
#onairinfo #tab-btn-set .tab-btn { margin: 0; width: auto; max-width: inherit; }
#onairinfo #tab-btn-set .tab-btn .label { background-color: #f0faf2; color: #5ebc71; border-radius: 17px; padding: 5px 25px; font-size: 24px; font-weight: 500; margin-right: 20px; line-height: 1; }
#onairinfo #tab-btn-set .tab-btn.is-active .label { background-color: #5ebc71; color: #FFF; border-radius: 17px 17px 0 17px; }
#onairinfo #tab-btn-set .tab-btn::after { display: none; }
#onairinfo #tab-contents { padding: 0; }
#onairinfo .onair-info-head .onair-info-date { color: #5ebc71; position: relative; font-size: 20px; margin-bottom: 15px; }
#onairinfo .onair-info-head .onair-info-date:after { content: "ON AIR"; margin-left: 5px; background-color: #5ebc71; color: #FFF; font-size: 12px; padding: 0 5px; line-height: 1; vertical-align: middle; }
#onairinfo .onair-info-head .onair-info-title { font-size: 22px; font-weight: 500; margin-bottom: 10px; }
#onairinfo .onair-info { text-align: left; }

@media screen and (max-width: 759px) { /*SP*/
  #onairinfo #tab-btn-set .tab-btn .label { border-radius: 5vw; padding: 1vw 5vw; font-size: 5vw; margin-right: 2vw; }
  #onairinfo #tab-btn-set .tab-btn.is-active .label { border-radius: 5vw 5vw 0 5vw; }
  #onairinfo .onair-info-head .onair-info-date { font-size: 3.8vw; margin-bottom: 3vw; }
  #onairinfo .onair-info-head .onair-info-date:after { margin-left: 2vw; font-size: 3vw; padding: 0 2vw; }
  #onairinfo .onair-info-head .onair-info-title { font-size: 4.4vw; margin-bottom: 3vw; } }
#timetable .timetableList { text-align: left; margin-top: 80px; }
#timetable .timetableList dl { display: table; width: 100%; margin-bottom: 20px; background-color: #FFF; border: 1px solid #FFF; border-radius: 55px 55px 0 55px; min-height: 110px; }
#timetable .timetableList dl dt { background-color: #9bdbaa; color: #FFF; text-align: center; font-size: 24px; width: 170px; font-weight: 500; letter-spacing: 2px; display: table-cell; vertical-align: middle; border-radius: 55px 0 0 55px; }
#timetable .timetableList dl dd { position: relative; display: table-cell; vertical-align: middle; width: calc(100% - 170px); padding: 10px 20px; }
#timetable .timetableList dl dd a { display: block; }
#timetable .timetableList dl dd a:before { content: ""; width: 0; height: 0; border-left: 24px solid transparent; border-right: 24px solid transparent; border-top: 24px solid #5ebc71; position: absolute; bottom: -5px; right: -17px; transform: rotate(-45deg); }
#timetable .timetableList dl dd a:after { content: ""; width: 12px; height: 12px; border-right: 2px solid #FFF; border-bottom: 2px solid #FFF; position: absolute; bottom: 5px; right: 5px; }
#timetable .timetableList dl dd a:hover .text { color: #5ebc71; }
#timetable .timetableList dl dd h3 { color: #5ebc71 !important; font-size: 24px; font-weight: 500; }
#timetable .timetableList dl dd h3 span { font-size: 20px; }
#timetable .timetableList dl dd .text { font-size: 15px; line-height: 1.2; margin-top: 5px; transition: all 0.3s ease-in; }
#timetable .timetableList dl:nth-last-of-type(1) { margin-bottom: 0; }
#timetable .bnrList { margin-top: 50px; }
#timetable .bnrList ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; align-items: center; justify-content: center; }
#timetable .bnrList ul li { width: 25%; }

@media screen and (max-width: 759px) { /*SP*/
  #timetable .timetableList { margin-top: 10vw; }
  #timetable .timetableList dl { margin-bottom: 5vw; border-radius: 10vw 10vw 0 10vw; }
  #timetable .timetableList dl dt { font-size: 5vw; width: 18vw; border-radius: 10vw 0 0 10vw; }
  #timetable .timetableList dl dd { width: calc(100% - 18vw); padding: 3vw 5vw; }
  #timetable .timetableList dl dd h3 { font-size: 5vw; }
  #timetable .timetableList dl dd h3 span { font-size: 3.8vw; }
  #timetable .timetableList dl dd .text { font-size: 3vw; margin-top: 1vw; }
  #timetable .bnrList { margin-top: 7vw; }
  #timetable .bnrList ul li { width: 50%; padding: 2vw; } }
#sns .snsWrap { display: flex; }
#sns .snsWrap .snsBox { width: 49%; }
#sns .snsWrap .snsBox:nth-of-type(1) { margin-right: 2%; }
#sns .snsWrap .snsBox h3 { margin-bottom: 15px; }
#sns .snsWrap .instaWrap ul { display: flex; flex-wrap: wrap; }
#sns .snsWrap .instaWrap ul li { width: 32%; margin-right: 2%; margin-bottom: 10px; }
#sns .snsWrap .instaWrap ul li:nth-of-type(3n) { margin-right: 0; }
#sns .snsWrap .instaWrap ul li img { width: 100%; height: auto; }

@media screen and (max-width: 759px) { /*SP*/
  #sns .snsWrap { flex-wrap: wrap; }
  #sns .snsWrap .snsBox { width: 100%; }
  #sns .snsWrap .snsBox:nth-of-type(1) { margin-right: 0; margin-bottom: 5vw; }
  #sns .snsWrap .snsBox h3 { margin-bottom: 3vw; } }
#about .aboutWrap h3 { color: #5ebc71; font-size: 22px; margin-bottom: 25px; }
#about .aboutWrap .text { text-align: center; line-height: 2; letter-spacing: 2px; }

@media screen and (max-width: 759px) { /*SP*/
  #about .aboutWrap h3 { font-size: 4.4vw; margin-bottom: 3vw; } }
/*-------------------------------------------------
	++ SUB 
-------------------------------------------------*/
#programHead .secHead h2:before, #programHead .secHead h2:after { display: none; }
#programHead .catch { font-size: 18px; letter-spacing: 1px; }
#programHead .navigator { margin-top: 40px; }
#programHead .bnr { margin-top: 45px; }

#archiveselect .custom-selectbox { padding: 0 50px; }
#archiveselect .custom-selectbox .selectWrap { box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.05); }
#archiveselect .custom-selectbox .selectWrap:hover { box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0); }
#archiveselect .custom-selectbox select { font-size: 22px; color: #5ebc71; }

@media screen and (max-width: 759px) { /*SP*/
  #programHead { padding: 10vw 0 15vw 0; }
  #programHead .secHead { margin-bottom: 5vw; }
  #programHead .catch { font-size: 3.8vw; }
  #programHead .navigator { margin-top: 5vw; }
  #programHead .navigator img { width: 50%; }
  #programHead .bnr { margin-top: 10vw; }
  #programHead .bnr img { width: 50%; }
  #archiveselect .custom-selectbox { padding: 0 5vw; }
  #archiveselect .custom-selectbox select { font-size: 3.8vw; }
  #program { padding-top: 15vw; } }
.entryBlock { text-align: left; line-height: 1.8; letter-spacing: 1px; margin-bottom: 100px; }
.entryBlock .date { font-size: 20px; font-weight: 500; margin-bottom: 20px; color: #9bdbaa; }
.entryBlock .date:after { content: "ON AIR"; margin-left: 5px; background-color: #9bdbaa; color: #FFF; font-size: 12px; padding: 0 5px; line-height: 1; vertical-align: middle; }
.entryBlock h3 { font-size: 22px; font-weight: 400; }
.entryBlock .text a { color: #5ebc71; }
.entryBlock p { margin-bottom: 20px; }
.entryBlock img { max-width: 100%; height: auto; }

@media screen and (max-width: 759px) { /*SP*/
  .entryBlock { margin-bottom: 10vw; }
  .entryBlock .date { font-size: 3.8vw; margin-bottom: 5vw; }
  .entryBlock .date:after { margin-left: 2vw; font-size: 3vw; padding: 0 2vw; }
  .entryBlock h3 { font-size: 4.4vw; }
  .entryBlock p { margin-bottom: 3vw; } }
/*-------------------------------------------------
	++ FORM 
-------------------------------------------------*/
.message { padding-bottom: 50px; }
.message .message-subtitle { font-size: 22px; margin: 20px 0; padding: 5px; background-color: #9bdbaa; color: #FFF; }
.message .formAtt { margin: 20px 0; text-align: left; font-size: 20px; }
.message .sub-link { margin: 20px 0 80px 0; }
.message .sub-link a { margin: 0 20px; text-decoration: underline; }
.message .sub-link a:hover { text-decoration: none; }
.message #form-notice { margin: 20px 0; text-align: left; }
.message #form-notice .formAtt { margin-bottom: 20px; }
.message table { width: 100%; border-collapse: collapse; margin-bottom: 60px; }
.message table tr th { vertical-align: top; width: 30%; text-align: left; padding: 10px 0; }
.message table tr td { width: 70%; text-align: left; padding: 10px 0; }
.message.thanks { padding: 40px; }
.message.thanks h3 { font-size: 36px; font-weight: 500; color: #5ebc71; margin-bottom: 15px; }
.message.thanks .text { margin-top: 50px; letter-spacing: 2px; }

#hw-message input[type="text"], #hw-message input[type="password"], #hw-message input[type="tel"], #hw-message input[type="email"], #hw-message input[type="number"], #hw-message table textarea, #hw-message table select { width: 100%; border: 1px solid #9bdbaa; background: #FFF; -webkit-appearance: none; padding: 10px; }

#hw-message table textarea { height: 200px; }

#hw-message input:focus, #hw-message textarea:focus { outline: none; border: 1px solid #5ebc71; }

#hw-message input[type="text"], #hw-message input[type="password"], #hw-message input[type="tel"], #hw-message input[type="email"], #hw-message input[type="number"] { vertical-align: top; }

#hw-message input[type="radio"] + label { margin-right: 10px; }

.custom-selectbox { position: relative; }
.custom-selectbox .selectWrap { position: relative; }
.custom-selectbox .selectWrap:before, .custom-selectbox .selectWrap:after { content: ""; position: absolute; display: block; }
.custom-selectbox .selectWrap:before { width: 2px; height: 70%; position: absolute; right: 40px; top: 15%; background-color: #9bdbaa; }
.custom-selectbox .selectWrap:after { top: 50%; right: 15px; margin-top: -3px; width: 0; height: 0; border: solid transparent; border-top-color: #5ebc71; border-width: 7px 7px 0; }
.custom-selectbox select { z-index: 1; width: 100%; display: block; -webkit-appearance: none; border: 0; background-color: #FFF; padding: 10px 5px 10px 20px; font-size: 16px; min-height: 20px; }
.custom-selectbox select:focus { outline: none; }

#button-area { margin-top: 60px; }

#form-submit, #form-reset { -webkit-appearance: none; border: 1px solid #5ebc71; background: #FFF; min-width: 200px; padding: 10px; border-radius: 10px; margin: 0 40px; font-size: 16px; font-weight: 500; cursor: pointer; color: #5ebc71; }
#form-submit:hover, #form-reset:hover { background-color: #5ebc71; color: #FFF; transition: all 0.3s ease-in; }

@media screen and (max-width: 759px) { /*SP*/
  .message { padding-bottom: 5vw; }
  .message .message-subtitle { font-size: 4.4vw; margin: 5vw 0; }
  .message .formAtt { margin: 5vw 0; font-size: 3.8vw; }
  .message .sub-link { margin: 3vw 0 5vw 0; font-size: 3.8vw; }
  .message .sub-link a { margin: 0 3vw; }
  .message #form-notice { margin: 3vw 0; padding: 0; font-size: 3.8vw; }
  .message #form-notice .formAtt { margin-bottom: 3vw; }
  .message table { margin-bottom: 5vw; }
  .message table tr th { display: block; width: 100%; font-size: 3.8vw; padding: 3vw 0 0 0; }
  .message table tr td { display: block; width: 100%; text-align: left; font-size: 3.8vw; padding: 3vw 0; }
  .message.thanks { padding: 10vw 0; }
  .message.thanks h3 { font-size: 6vw; margin-bottom: 3vw; letter-spacing: 2px; }
  .message.thanks .text { margin-top: 0; font-size: 3.6vw; letter-spacing: 0; }
  #hw-message input[type="text"], #hw-message input[type="password"], #hw-message input[type="tel"], #hw-message input[type="email"], #hw-message input[type="number"], #hw-message table textarea, #hw-message table select { font-size: 16px; }
  #hw-message input[type="radio"] + label { margin-right: 3vw; }
  #button-area { margin-top: 10vw; }
  #form-submit, #form-reset { min-width: 30vw; padding: 2vw 5vw; margin: 0 3vw; font-size: 4.4vw; } }
/*-------------------------------------------------
	++ FOOTER
-------------------------------------------------*/
#jwaveFooter { background-color: #9bdbaa; color: #FFF; padding: 20px 0 70px 0; }
#jwaveFooter .commonSet { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; align-items: center; }
#jwaveFooter .commonSet .toHome { width: 50%; text-align: left; }
#jwaveFooter .commonSet .footerLogo { width: 50%; text-align: right; }
#jwaveFooter .commonSet .copyRight { width: 100%; text-align: center; font-size: 12px; }

@media screen and (max-width: 759px) { /*SP*/
  #jwaveFooter { padding: 6vw 0; }
  #jwaveFooter .commonSet { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; align-items: center; }
  #jwaveFooter .commonSet .toHome { width: 60%; text-align: left; }
  #jwaveFooter .commonSet .toHome a { width: 45%; display: block; }
  #jwaveFooter .commonSet .footerLogo { width: 40%; text-align: right; }
  #jwaveFooter .commonSet .copyRight { width: 60%; margin: 0 auto; text-align: center; margin-top: 8vw; } }
/*inview
---------------------------------------------------------------------------*/
.up { overflow: hidden; position: relative; opacity: 0; bottom: -80px; }

.upstyle { opacity: 1; bottom: 0px; transition: 1s 0.3s; }
