@charset "UTF-8";
/* text-align
---------------------------------------------*/
.txtR {
  text-align: right; }

.txtC {
  text-align: center; }

/* vertical-align
---------------------------------------------*/
.v-middle {
  vertical-align: middle; }

.v-bottom {
  vertical-align: bottom; }

/* margin
---------------------------------------------*/
.mb5 {
  margin-bottom: 5px; }

.mb10 {
  margin-bottom: 10px; }

.mb15 {
  margin-bottom: 15px; }

.mb20 {
  margin-bottom: 20px; }

.mb25 {
  margin-bottom: 25px; }

.mb30 {
  margin-bottom: 30px; }

.mb35 {
  margin-bottom: 35px; }

.mb40 {
  margin-bottom: 40px; }

.mb45 {
  margin-bottom: 45px; }

.mb50 {
  margin-bottom: 50px; }

.mb60 {
  margin-bottom: 60px; }

.mb70 {
  margin-bottom: 70px; }

.mb80 {
  margin-bottom: 80px; }

.mt5 {
  margin-top: 5px; }

.mt10 {
  margin-top: 10px; }

.mt15 {
  margin-top: 15px; }

.mt20 {
  margin-top: 20px; }

.mt25 {
  margin-top: 25px; }

.mt30 {
  margin-top: 30px; }

.mt40 {
  margin-top: 40px; }

.mt50 {
  margin-top: 50px; }

.mr5 {
  margin-right: 5px; }

.mr10 {
  margin-right: 10px; }

.mr15 {
  margin-right: 15px; }

.mr20 {
  margin-right: 20px; }

.mr30 {
  margin-right: 30px; }

.mr40 {
  margin-right: 40px; }

.mr50 {
  margin-right: 50px; }

.ml5 {
  margin-left: 5px; }

.ml10 {
  margin-left: 10px; }

.ml15 {
  margin-left: 15px; }

.ml20 {
  margin-left: 20px; }

.ml30 {
  margin-left: 30px; }

.ml40 {
  margin-left: 40px; }

.ml50 {
  margin-left: 50px; }

/* font-size
---------------------------------------------*/
.txt80 {
  font-size: 80% !important; }

.txt90 {
  font-size: 90% !important; }

.txt110 {
  font-size: 110% !important; }

.txt120 {
  font-size: 120% !important; }

.txt130 {
  font-size: 130% !important; }

.txt150 {
  font-size: 150% !important; }

.txt170 {
  font-size: 170% !important; }

strong {
  font-weight: bold; }

/* border
---------------------------------------------*/
hr {
  height: 1px;
  border: none;
  margin: 15px 0px; }

.line-dotted {
  border-bottom: dotted 1px #9a9a9a; }

.line-dashed {
  border-bottom: dashed 1px #9a9a9a; }

.line-solid {
  border-bottom: solid 1px #bfbfbf; }

/* For modern browsers */
.cf:before,
.cf:after {
  content: "";
  display: block;
  overflow: hidden; }

.cf:after {
  clear: both; }

/* For IE 6/7 (trigger hasLayout) */
.cf {
  zoom: 1; }

.ColL {
  float: left; }

.ColR {
  float: right; }

/* リンク系 */
a:link {
  color: #ff04a3; }

a:visited {
  color: #ff04a3; }

a:hover {
  color: #ff04a3; }

a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80); }

table {
  border-collapse: collapse;
  border: #1e96d5 solid 2px;
  text-align: left; }
  table th, table td {
    padding: 10px 10px; }

.attention_box {
  border: double 5px #ff04a3;
  padding: 2%; }

body {
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 14px;
  line-height: 1.7;
  color: #111111;
  margin: 0;
  padding: 0;
  background: url(../img/common/bg.png) repeat; }

.commonwrap {
  width: 960px;
  margin: 0 auto; }

.contentwrap {
  width: 960px;
  border: solid 5px #1e96d5;
  border-top: none;
  border-bottom: none;
  margin: 0 auto;
  background: #fff; }

#header {
  background: url(../img/common/header_bg.jpg) no-repeat top center;
  width: 100%;
  height: 455px;
  border-bottom: solid 5px #1e96d5;
  margin-bottom: 10px; }

.link-logo {
  display: inline-block;
  padding-top: 5px;
  padding-bottom: 5px; }
  .link-logo:hover {
    padding-top: 4px;
    padding-bottom: 6px; }
    .link-logo:hover img {
      opacity: 1;
      filter: alpha(opacity=100); }

h2.title {
  border-bottom: solid 5px #1e96d5; }

.listen-nav {
  margin-top: 10px; }
  .listen-nav ul {
    list-style: none;
    margin: 0;
    padding: 0; }
  .listen-nav li {
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 0px 2px 0px 3px #1e96d5;
    padding: 5px 5px 10px;
    margin-bottom: 5px;
    text-align: center;
    display: inline-block; }
    .listen-nav li h2 {
      text-align: center;
      margin: 0;
      padding: 0;
      margin-top: -30px; }
    .listen-nav li.listen-pc {
      width: 212px;
      margin: 0 10px; }
    .listen-nav li.listen-sp {
      width: 360px; }
    .listen-nav li.watch-ust {
      width: 308px;
      margin: 0 10px; }

#main-nav {
  width: 320px;
  float: right; }
  #main-nav ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    #main-nav ul li a {
      display: block;
      width: 100%;
      border-radius: 10px;
      background-color: #fff;
      box-shadow: 0px 2px 0px 3px #1e96d5;
      padding: 10px 5px 10px;
      margin-bottom: 5px;
      text-align: center;
      display: inline-block;
      font-size: 150%;
      font-weight: bold; }
  #main-nav img {
    max-width: 100%; }

#content {
  padding: 35px;
  padding-bottom: 140px; }

#footer {
  background: url(../img/common/footer_bg.png) repeat-x bottom center;
  width: 100%;
  height: 190px;
  margin-top: -130px;
  position: relative;
  z-index: 10; }
  #footer div.copyright {
    color: #ff04a3;
    text-align: center;
    font-size: 85.71429%; }

.footer_btns {
  height: 160px; }
  .footer_btns .gotoalta {
    -webkit-transition: ease 0.2s;
    -ms-transition: ease 0.2s;
    transition: ease 0.2s;
    margin-left: -30px;
    margin-top: 10px; }
  .footer_btns .link-gotoalta {
    display: inline-block;
    height: 160px;
    width: 320px;
    float: left; }
    .footer_btns .link-gotoalta:hover img {
      opacity: 1;
      filter: alpha(opacity=100);
      margin-left: -50px;
      margin-top: -10px; }
  .footer_btns .gotoaltaschool {
    -webkit-transition: ease 0.2s;
    -ms-transition: ease 0.2s;
    transition: ease 0.2s;
    margin-left: 10px;
    margin-top: 0px; }
  .footer_btns .link-gotoaltaschool {
    display: inline-block;
    height: 116px;
    width: 214px;
    float: right;
    margin-right: -37px; }
    .footer_btns .link-gotoaltaschool:hover img {
      opacity: 1;
      filter: alpha(opacity=100);
      margin-left: 20px;
      margin-top: 0; }

h2.title {
  margin-top: 5px; }
  h2.title:before {
    content: url(../img/common/h2_icon.png);
    color: #ff04a3; }

/* ↓トップ専用↓ */
.top-contact-btn {
  float: right;
  max-width: 100%; }

.leftbox {
  width: 560px;
  float: left; }

.snswrap {
  width: 100%; }
  .snswrap .facebookwrap {
    float: left;
    width: 55%; }
  .snswrap .twitterwrap {
    float: right;
    width: 40%; }

.halfleft {
  width: 48.5%;
  float: left; }

.halfright {
  width: 48.5%;
  float: right; }

.youtube {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  margin-bottom: 10px;
  height: 0;
  overflow: hidden; }

.youtube iframe,
.youtube object,
.youtube embed {
  position: absolute;
  top: 0;
  left: 0;
  max-width: 100%;
  height: 100%; }

@-webkit-keyframes contact-btn {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  33% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg); }
  66% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); } }
@keyframes contact-btn {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  33% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg); }
  66% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); } }
.link-contact {
  display: block; }
  .link-contact img {
    margin-left: 20px; }
  .link-contact:hover img {
    opacity: 1;
    filter: alpha(opacity=100);
    -webkit-animation-name: contact-btn;
    animation-name: contact-btn;
    -webkit-animation-delay: 0.1s;
    animation-delay: 0.1s;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite; }

.newsbox {
  padding: 15px;
  margin-bottom: 50px; }

/* ↑トップ専用↑ */
.contact span.red {
  float: right;
  display: inline-block;
  padding: 0px 2px 0 5px;
  background: #E70035;
  color: #fff;
  font-size: 80%;
  border-radius: 3px;
  letter-spacing: 3px; }

.contact {
  /*placeholderのfontfamily記述部分--------*/
  /*---------------------------------------*/ }
  .contact td {
    width: 720px;
    border: solid 1px #18cfff; }
  .contact tr {
    border: solid 1px #18cfff; }
    .contact tr:nth-child(odd) th {
      background: #a9eaf5; }
    .contact tr:nth-child(odd) td {
      background: #f3fcff; }
    .contact tr:nth-child(even) th {
      background: #d7f5fa; }
    .contact tr:nth-child(even) td {
      background: white; }
  .contact th {
    width: 150px;
    background: #ccc;
    vertical-align: top;
    position: relative;
    padding-right: 55px; }
    .contact th.required:after {
      content: "必須";
      position: absolute;
      right: 10px;
      top: 10px;
      color: #fff;
      background: #ff04a3;
      font-size: 85%;
      line-height: 1;
      padding: 4px 10px;
      -webkit-border-radius: 2px;
      -moz-border-radius: 2px;
      border-radius: 2px; }
    .contact th.option:after {
      content: "任意";
      position: absolute;
      right: 10px;
      top: 10px;
      color: #fff;
      background: #ccc;
      font-size: 85%;
      line-height: 1;
      padding: 4px 10px;
      -webkit-border-radius: 2px;
      -moz-border-radius: 2px;
      border-radius: 2px; }
  .contact label {
    display: block; }
  .contact input[type=radio]:checked + span {
    font-weight: bold;
    color: #0C3C55; }
  .contact input[type=text], .contact textarea {
    width: 80%;
    border: 1px solid #ccc;
    padding: 5px;
    font-size: 105%;
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
    .contact input[type=text]:focus, .contact textarea:focus {
      border: 1px solid #00c8fd; }
  .contact input.text::-webkit-input-placeholder {
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 105%; }
  .contact input.text:-ms-input-placeholder {
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 105%; }
  .contact input.text::-moz-placeholder {
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 105%; }
  .contact textarea {
    height: 120px; }

.contactform table .errors {
  display: block;
  background: #ffe8e8;
  padding: 10px 20px;
  position: relative;
  margin-top: 15px;
  clear: both;
  color: #c90000;
  list-style: none; }

.contactform table .errors:before {
  content: "";
  height: 0;
  width: 0;
  position: absolute;
  top: -20px;
  border: 10px solid #ffe8e8;
  border-color: transparent;
  border-bottom-color: #ffe8e8; }

.formSendbtn {
  overflow: hidden;
  margin-top: 30px;
  text-align: center; }
  .formSendbtn input[type=submit], .formSendbtn input[type=button] {
    width: 184px;
    height: 51px;
    border: none;
    margin: 10px;
    display: inline-block; }
    .formSendbtn input[type=submit]:hover, .formSendbtn input[type=button]:hover {
      cursor: pointer;
      opacity: .6; }
    .formSendbtn input[type=submit].confirm, .formSendbtn input[type=button].confirm {
      background: #00c8fd;
      color: #fff; }
    .formSendbtn input[type=submit].submit, .formSendbtn input[type=button].submit {
      background: #00c8fd;
      color: #fff; }
    .formSendbtn input[type=submit].back, .formSendbtn input[type=button].back {
      background: #ccc;
      color: #fff; }

#loading {
  display: none; }

.thanks {
  color: #00c8fd;
  font-size: 120%; }

.hidden-pc {
  display: none; }

.hidden-sp {
  display: inline-block;
  display: initial; }

@media (max-width: 767px) {
  .hidden-sp {
    display: none; }

  .hidden-pc {
    display: inline-block;
    display: initial; }

  .halfleft {
    width: 100%;
    float: none; }

  .halfright {
    width: 100%;
    float: none; }

  img {
    max-width: 100%; }

  .leftbox {
    width: 100%;
    clear: both; }

  #main-nav {
    width: 100%;
    text-align: center; }

  .link-contact {
    display: inline-block; }

  #content {
    padding-top: 10px;
    padding-left: 15px;
    padding-right: 15px; }

  .contentwrap {
    box-sizing: border-box;
    width: 98%; }

  #header {
    background: url(../img/common/bg-sp.png) no-repeat center top;
    height: auto;
    padding-bottom: 10px; }
    #header .link-logo {
      display: block; }
      #header .link-logo img {
        max-width: 95%;
        margin: 0 auto;
        display: block; }

  .listen-nav li {
    box-sizing: border-box;
    display: block;
    margin: 10px auto; }
    .listen-nav li.listen-pc {
      display: none; }
    .listen-nav li.listen-sp {
      width: 95%; }
    .listen-nav li.watch-ust {
      width: 95%; }

  .commonwrap {
    box-sizing: border-box;
    width: 98%; }

  .link-contact img {
    float: none;
    margin: 0 auto; }

  .snswrap .facebookwrap {
    width: 95%;
    margin: 10px auto;
    float: none; }
  .snswrap .twitterwrap {
    width: 95%;
    margin: 10px auto;
    float: none; }

  #footer .link-gotoalta {
    max-width: 100%;
    max-width: 40%; }
    #footer .link-gotoalta img {
      margin-left: 10px; }
    #footer .link-gotoalta:hover img {
      margin-left: 0; }
  #footer .link-gotoaltaschool {
    max-width: 35%;
    margin-right: 0px; }
    #footer .link-gotoaltaschool:hover img {
      margin-left: -10px; }

  table {
    width: 100%; }
    table th, table td {
      width: 100%;
      display: block;
      box-sizing: border-box; }

  .contact th, .contact td {
    width: 100%;
    display: block; }
  .contact td {
    border-left: 0;
    border-right: 0; }
  .contact input[type=text], .contact textarea {
    width: 100%;
    font-size: 105%;
    box-sizing: border-box; }
  .contact label {
    padding: 5px 0; } }
