body { margin: 0; padding: 0; color: #333; }

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: #000; text-decoration: none; }

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

a { -webkit-transition: all 0.2s ease-in; -moz-transition: all 0.2s ease-in; -ms-transition: all 0.2s ease-in; -o-transition: all 0.2s ease-in; transition: all 0.2s 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; }

@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; }

#container { margin: 0 auto; text-align: center; line-height: 160%; min-width: 1000px; overflow-x: hidden; font-size: 16px; font-weight: 500; font-family: 'Oswald','Noto Sans JP', sans-serif; }

@media screen and (max-width: 759px) { /* SP */
  #container { min-width: 100%; font-size: 3.4vw; }
  .cInner { width: 100%; padding: 0 5vw; }
  .fit { width: 100%; height: auto; display: block; vertical-align: top; } }
.arrow { display: inline-block; position: relative; padding-right: 30px; }
.arrow:before { transition: all 0.2s ease-in; content: ""; width: 25px; height: 1px; background-color: #124c65; position: absolute; top: 50%; right: 0; transform: translateY(5px); }
.arrow:after { transition: all 0.2s ease-in; content: ""; width: 10px; height: 1px; background-color: #124c65; position: absolute; top: 50%; right: 0; transform: translateY(5px) rotate(45deg); transform-origin: right bottom; }
.arrow:hover:before, .arrow:hover:after { right: -3px; }

/*-------------------------------------------------
	++ COMMON 
-------------------------------------------------*/
#main { position: relative; min-height: 820px; background: #000 url("../img/main_bg.jpg") center bottom no-repeat; background-size: 100% auto; }
@media screen and (max-width: 1500px) { #main { background-size: auto 100%; } }
#main h1 { position: absolute; top: 180px; left: 50%; width: 100%; max-width: 960px; margin: 0; transform: translateX(-50%); z-index: 1; }
#main h1 img { width: 100%; height: auto; display: block; vertical-align: top; filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.15)); }
#main .mainText { width: 100%; font-size: 20px; color: #FFF; position: absolute; left: 50%; bottom: 50px; transform: translateX(-50%); line-height: 1.8; }

@media screen and (max-width: 759px) { /* SP */
  #main { background-size: auto 80%; background-position: center top; min-height: 120vw; }
  #main h1 { top: 20vw; padding: 3vw; }
  #main .mainText { font-size: 3.8vw; text-align: left; padding: 3vw; bottom: 0; line-height: 1.4; } }
/*-------------------------------------------------
	++ HOME CONTENTS 
-------------------------------------------------*/
.section { padding: 80px 0; position: relative; }
.section .secHead { margin-bottom: 50px; }
.section .secHead h2 { font-size: 28px; font-weight: 700; line-height: 1.4; color: #124c65; display: inline-block; position: relative; }
.section .secHead h2 span { font-size: 42px; font-weight: 500; }
.section .secHead .text { text-align: center; margin-top: 30px; }
.section .logo { margin: 0 auto; text-align: center; margin-bottom: 40px; }
.section .text { text-align: center; line-height: 1.8; }
.section.bgg { background: #f3f5f7; }
.section.bgp { background-image: url("../img/program_bg.jpg"); background-attachment: fixed; background-size: cover; background-position: center; color: #FFF; }
.section.bgp a { color: #FFF; }
.section.bgp .secHead h2 { color: #FFF; }

@media screen and (max-width: 759px) { .section { padding: 10vw 0; }
  .section .secHead { margin-bottom: 5vw; }
  .section .secHead h2 { font-size: 5vw; }
  .section .secHead h2 span { font-size: 6vw; }
  .section .secHead .text { margin-top: 3vw; }
  .section .logo { width: 40%; margin-bottom: 5vw; }
  .section .text { font-size: 3.8vw; }
  .section.bgp { background-attachment: inherit; background-size: auto 100%; } }
#info .text { margin-bottom: 20px; font-size: 18px; }
#info .date { font-size: 24px; font-weight: 500; color: #124c65; margin-bottom: 20px; line-height: 1.6; }
#info .link a { color: #124c65; }

#about .text { margin-bottom: 30px; font-size: 14px; }
#about .iconLink { margin: 0 auto; text-align: center; }

@media screen and (max-width: 759px) { #info .text { margin-bottom: 5vw; font-size: 3.4vw; }
  #info .date { font-size: 4.4vw; margin-bottom: 5vw; }
  #about .text { margin-bottom: 5vw; font-size: 3.2vw; }
  #about .iconLink { width: 10%; } }
.contentsList { padding-top: 40px; }
.contentsList ul { display: flex; flex-wrap: wrap; }
.contentsList ul li { width: 50%; position: relative; padding: 0 90px; margin-bottom: 120px; text-align: left; color: #124c65; }
@media screen and (min-width: 760px) { .contentsList ul li:nth-last-of-type(-n+2) { margin-bottom: 0; } }
.contentsList ul li .no { font-size: 30px; line-height: 1; text-align: left; position: absolute; top: -25px; left: 60px; }
.contentsList ul li .no:after { content: ""; width: 60px; height: 1px; background-color: #124c65; position: absolute; top: 26px; right: -26px; transform: rotate(-45deg); transform-origin: center center; }
.contentsList ul li .img { margin-bottom: 15px; }
.contentsList ul li .img img { width: 100%; height: auto; display: block; vertical-align: top; }
.contentsList ul li .text { text-align: left; }
.contentsList ul li h3 { font-size: 18px; font-weight: 500; margin-bottom: 10px; }
.contentsList ul li p { font-size: 15px; font-weight: 500; margin-bottom: 25px; }
.contentsList ul li dl { display: flex; flex-wrap: wrap; margin-bottom: 5px; }
.contentsList ul li dl:nth-last-of-type(1) { margin-bottom: 0; }
.contentsList ul li dl dt { background-color: #124c65; color: #FFF; font-size: 14px; padding: 0 10px; min-width: 76px; text-align: center; margin-right: 5px; }
.contentsList ul li dl dd { flex: 1; }

.contentsList ul.pgList li { color: #FFF; padding: 0 60px; }
.contentsList ul.pgList li .no { color: #FFF; left: 28px; }
.contentsList ul.pgList li .no:after { background-color: #FFF; }

@media screen and (max-width: 759px) { .contentsList { padding-top: 10vw; }
  .contentsList ul { justify-content: center; }
  .contentsList ul li { width: 80%; padding: 0 3vw; margin-bottom: 14vw; }
  .contentsList ul li:nth-last-of-type(1) { margin-bottom: 0; }
  .contentsList ul li .no { font-size: 7vw; top: -6vw; left: -4vw; }
  .contentsList ul li .no:after { width: 13vw; top: 6vw; right: -6vw; }
  .contentsList ul li .img { margin-bottom: 3vw; }
  .contentsList ul li h3 { font-size: 3.8vw; margin-bottom: 2vw; }
  .contentsList ul li dl { margin-bottom: 2vw; }
  .contentsList ul li dl:nth-last-of-type(1) { margin-bottom: 0; }
  .contentsList ul li dl dt { font-size: 3.2vw; padding: 0 1vw; min-width: 16vw; margin-right: 2vw; }
  .contentsList ul li dl dd { flex: 1; }
  .contentsList ul.pgList li { color: #FFF; padding: 0; }
  .contentsList ul.pgList li .no { color: #FFF; left: -7vw; } }
/*-------------------------------------------------
	++ FOOTER
-------------------------------------------------*/
#jwaveFooter { padding: 50px 0 78px 0; background: #124c65; color: #FFF; }
#jwaveFooter a { color: #FFF; }
#jwaveFooter .footerContent { margin-bottom: 40px; }
#jwaveFooter .footerContent .footerPgLogo { margin: 0 auto; text-align: center; margin-bottom: 30px; }
#jwaveFooter .footerContent .footerMenu ul { display: flex; flex-wrap: wrap; }
#jwaveFooter .footerContent .footerMenu ul li { width: 50%; }
#jwaveFooter .footerContent .footerMenu ul li .arrow:before, #jwaveFooter .footerContent .footerMenu ul li .arrow:after { background-color: #FFF; }
#jwaveFooter .footerContent .footerMenu ul li .title { font-size: 20px; }
#jwaveFooter .footerContent .footerMenu ul li .text { display: block; font-size: 14px; }
#jwaveFooter .commonSet { display: flex; justify-content: space-between; align-items: center; }
#jwaveFooter .commonSet .credit { text-align: right; }
#jwaveFooter .commonSet .footerLogo { margin-bottom: 10px; }
#jwaveFooter .commonSet .copyRight { font-size: 12px; }

@media screen and (max-width: 759px) { /* SP */
  #jwaveFooter { padding: 10vw 0; }
  #jwaveFooter .footerContent { margin-bottom: 5vw; }
  #jwaveFooter .footerContent .footerPgLogo { width: 60%; margin-bottom: 10vw; }
  #jwaveFooter .footerContent .footerMenu ul li { width: 100%; margin-bottom: 5vw; }
  #jwaveFooter .footerContent .footerMenu ul li .title { font-size: 4vw; }
  #jwaveFooter .footerContent .footerMenu ul li .text { font-size: 3.2vw; }
  #jwaveFooter .commonSet { display: block; margin: 0 auto; text-align: center; }
  #jwaveFooter .commonSet .toHome { width: 40%; margin: 0 auto; text-align: center; margin-bottom: 5vw; }
  #jwaveFooter .commonSet .credit { margin: 0 auto; text-align: center; width: 60%; }
  #jwaveFooter .commonSet .footerLogo { text-align: center; margin-bottom: 3vw; }
  #jwaveFooter .commonSet .copyRight { font-size: 2.8vw; } }


/*-------------------------------------------------
  Customize
	++ BTN 
-------------------------------------------------*/
  a.btn {
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    margin: 2vw auto;
    padding: 1rem 4rem;
    font-weight: bold;
    background: #124c65;
    border: 6px outset #0a3344;
    color: #fff;
    transition: 0.5s;
  }
  a.btn:hover {
    background: #53bf1d;
    border: 6px outset #367b09;
    color: #fff;
  }

/*-------------------------------------------------
  Customize
	++ PODCAST 
-------------------------------------------------*/
  div.podcast {
    margin-top: 80px;
  }
  dl.deliver {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
  }
  dl.deliver dt {
    width: 50%;
  }
  dl.deliver dt img {
    width: 70%;
  }
  dl.deliver dd {
    width: 50%;
  }
  dl.deliver dd ul {
    display: block;
  }
  dl.deliver dd ul li {
    width: 80%;
    padding: 0;
    margin-bottom: 15px;
    text-align: center;
    background: #000;
    border-radius: 10px;
  }
  dl.deliver dd ul li img{
    width: 60%;
    margin: 0 auto;
    padding: 5px;
  }
  dl.deliver dd ul li:nth-last-of-type(-n+2) {
    margin-bottom: 15px;
  }
  p.podtxt {
      margin-top: 20px;
      text-align: left;
  }
  @media screen and (max-width: 759px) { /* SP */
    dl.deliver dt { width: 90%; }
    dl.deliver dt img { width: 70%; }
    dl.deliver dd { width: 90%; }
    dl.deliver dd ul li { margin: 15px auto; }
  
  }
