@charset "UTF-8";
.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

* img {
  width: 100%; }
  * img.no_style {
    width: auto;
    border-radius: 0; }

i {
  line-height: 0.6;
  font-size: 1rem;
  vertical-align: middle; }

a {
  color: #00a9bf;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }
  a.topics_category_link {
    background: #00a9bf;
    color: white;
    text-decoration: none;
    font-weight: normal;
    padding: 4px;
    font-size: 0.85rem;
    display: inline-block;
    width: 6rem;
    text-align: center; }

.button {
  display: inline-block;
  background: #00a9bf;
  color: white;
  text-align: center;
  color: white;
  padding: 16px 30px 16px 24px;
  text-decoration: none;
  line-height: 1;
  margin-top: 16px;
  font-size: 0.9rem; }
  .button.no_margin_top {
    margin-top: 0; }
  .button i {
    line-height: 0.6;
    font-size: 1rem;
    color: white; }
  .button:hover {
    background-color: #00edff;
    color: white; }
  .button.small {
    padding: 8px; }
  .button.news_button {
    position: absolute;
    top: 0;
    right: 7.5px;
    margin-top: 0; }
    @media screen and (max-width: 991px) {
      .button.news_button {
        width: 70px; } }
  @media screen and (max-width: 991px) {
    .button {
      margin-top: 0;
      width: 100%;
      padding: 16px 16px; } }
  .button.button_blue_border_white {
    background: white;
    border: 3px solid #00a9bf;
    color: #00a9bf; }
    .button.button_blue_border_white i {
      color: #00a9bf; }
    .button.button_blue_border_white:hover {
      background-color: #00a9bf;
      color: white; }
      .button.button_blue_border_white:hover i, .button.button_blue_border_white:hover span {
        color: white; }
  .button.button_width_100per {
    width: 100%; }

hr {
  border-top: 4px solid black;
  margin: 8px 0; }

img.width_100per_img {
  width: 100%; }

/*溝幅 20pxの場合*/
.gutter-20 {
  margin-left: -10px;
  margin-right: -10px; }

.gutter-20 > [class*='col-'] {
  padding-left: 10px;
  padding-right: 10px; }

/*溝幅 15pxの場合*/
.gutter-15 {
  margin-left: -7.5px;
  margin-right: -7.5px; }

.gutter-15 > [class*='col-'] {
  padding-left: 7.5px;
  padding-right: 7.5px; }

/*溝幅 10pxの場合*/
.gutter-10 {
  margin-left: -5px;
  margin-right: -5px; }

.gutter-10 > [class*='col-'] {
  padding-left: 5px;
  padding-right: 5px; }

/* 溝幅なし */
.no-gutter {
  margin-left: 0;
  margin-right: 0; }

.no-gutter > [class*='col-'] {
  padding-left: 0;
  padding-right: 0; }

.text_align_center {
  text-align: center; }

.text_align_right {
  text-align: right; }

.margin_bottom_high {
  margin-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_high {
      margin-bottom: 48px; } }

.margin_bottom_middle {
  margin-bottom: 40px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_middle {
      margin-bottom: 24px; } }

.sp_margin_bottom_middle {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_middle {
      margin-bottom: 24px; } }

.margin_bottom_low {
  margin-bottom: 24px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_low {
      margin-bottom: 16px; } }

.sp_margin_bottom_low {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_low {
      margin-bottom: 16px; } }

.margin_bottom_exlow {
  margin-bottom: 8px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_exlow {
      margin-bottom: 8px; } }

.margin_bottom_zero {
  margin-bottom: 0; }

.padding_top_high {
  padding-top: 72px; }
  @media screen and (max-width: 991px) {
    .padding_top_high {
      padding-top: 48px; } }

.padding_bottom_high {
  padding-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .padding_bottom_high {
      padding-bottom: 48px; } }

.pc_hidden {
  display: none; }
  @media screen and (max-width: 991px) {
    .pc_hidden {
      display: block; } }

.page_bottom_navi {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px; }

table {
  width: 100%;
  border-top: 1px solid #d8d8d8; }
  table th, table td {
    padding: 16px 0;
    border-bottom: 1px solid #d8d8d8;
    vertical-align: top;
    text-align: left; }

.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

* img {
  width: 100%; }
  * img.no_style {
    width: auto;
    border-radius: 0; }

i {
  line-height: 0.6;
  font-size: 1rem;
  vertical-align: middle; }

a {
  color: #00a9bf;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }
  a.topics_category_link {
    background: #00a9bf;
    color: white;
    text-decoration: none;
    font-weight: normal;
    padding: 4px;
    font-size: 0.85rem;
    display: inline-block;
    width: 6rem;
    text-align: center; }

.button {
  display: inline-block;
  background: #00a9bf;
  color: white;
  text-align: center;
  color: white;
  padding: 16px 30px 16px 24px;
  text-decoration: none;
  line-height: 1;
  margin-top: 16px;
  font-size: 0.9rem; }
  .button.no_margin_top {
    margin-top: 0; }
  .button i {
    line-height: 0.6;
    font-size: 1rem;
    color: white; }
  .button:hover {
    background-color: #00edff;
    color: white; }
  .button.small {
    padding: 8px; }
  .button.news_button {
    position: absolute;
    top: 0;
    right: 7.5px;
    margin-top: 0; }
    @media screen and (max-width: 991px) {
      .button.news_button {
        width: 70px; } }
  @media screen and (max-width: 991px) {
    .button {
      margin-top: 0;
      width: 100%;
      padding: 16px 16px; } }
  .button.button_blue_border_white {
    background: white;
    border: 3px solid #00a9bf;
    color: #00a9bf; }
    .button.button_blue_border_white i {
      color: #00a9bf; }
    .button.button_blue_border_white:hover {
      background-color: #00a9bf;
      color: white; }
      .button.button_blue_border_white:hover i, .button.button_blue_border_white:hover span {
        color: white; }
  .button.button_width_100per {
    width: 100%; }

hr {
  border-top: 4px solid black;
  margin: 8px 0; }

img.width_100per_img {
  width: 100%; }

/*溝幅 20pxの場合*/
.gutter-20 {
  margin-left: -10px;
  margin-right: -10px; }

.gutter-20 > [class*='col-'] {
  padding-left: 10px;
  padding-right: 10px; }

/*溝幅 15pxの場合*/
.gutter-15 {
  margin-left: -7.5px;
  margin-right: -7.5px; }

.gutter-15 > [class*='col-'] {
  padding-left: 7.5px;
  padding-right: 7.5px; }

/*溝幅 10pxの場合*/
.gutter-10 {
  margin-left: -5px;
  margin-right: -5px; }

.gutter-10 > [class*='col-'] {
  padding-left: 5px;
  padding-right: 5px; }

/* 溝幅なし */
.no-gutter {
  margin-left: 0;
  margin-right: 0; }

.no-gutter > [class*='col-'] {
  padding-left: 0;
  padding-right: 0; }

.text_align_center {
  text-align: center; }

.text_align_right {
  text-align: right; }

.margin_bottom_high {
  margin-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_high {
      margin-bottom: 48px; } }

.margin_bottom_middle {
  margin-bottom: 40px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_middle {
      margin-bottom: 24px; } }

.sp_margin_bottom_middle {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_middle {
      margin-bottom: 24px; } }

.margin_bottom_low {
  margin-bottom: 24px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_low {
      margin-bottom: 16px; } }

.sp_margin_bottom_low {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_low {
      margin-bottom: 16px; } }

.margin_bottom_exlow {
  margin-bottom: 8px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_exlow {
      margin-bottom: 8px; } }

.margin_bottom_zero {
  margin-bottom: 0; }

.padding_top_high {
  padding-top: 72px; }
  @media screen and (max-width: 991px) {
    .padding_top_high {
      padding-top: 48px; } }

.padding_bottom_high {
  padding-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .padding_bottom_high {
      padding-bottom: 48px; } }

.pc_hidden {
  display: none; }
  @media screen and (max-width: 991px) {
    .pc_hidden {
      display: block; } }

.page_bottom_navi {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px; }

table {
  width: 100%;
  border-top: 1px solid #d8d8d8; }
  table th, table td {
    padding: 16px 0;
    border-bottom: 1px solid #d8d8d8;
    vertical-align: top;
    text-align: left; }

.transition, a, a:hover img {
  transition: 300ms;
  transition-timing-function: ease-in; }

.alpha_70per, a:hover img, header .menu_toggle:hover {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7; }

.content_box, .light_gray_box, .white_box {
  width: 100%;
  padding: 32px;
  border-radius: 3px;
  position: relative; }

dl.table_cell_dl {
  display: table;
  border-bottom: 1px solid #B7B7B7;
  padding-bottom: 20px;
  padding-top: 20px;
  width: 100%;
  margin-bottom: 0; }
  dl.table_cell_dl.top {
    border-top: 3px solid #00a9bf; }
  dl.table_cell_dl dt {
    display: table-cell;
    vertical-align: middle;
    padding-right: 20px;
    width: 22%;
    font-size: 1.25rem; }
    dl.table_cell_dl dt span {
      font-size: 8px;
      padding: 3px 7px;
      border-radius: 30px;
      color: white; }
      dl.table_cell_dl dt span.any {
        background: #237EE2; }
      dl.table_cell_dl dt span.must {
        background: #DA3924; }
    dl.table_cell_dl dt.wide_dt {
      width: 29%; }
      @media screen and (max-width: 991px) {
        dl.table_cell_dl dt.wide_dt {
          width: 100%; } }
    dl.table_cell_dl dt.narrow_dt {
      width: 14%; }
      @media screen and (max-width: 991px) {
        dl.table_cell_dl dt.narrow_dt {
          width: 100%; } }
  dl.table_cell_dl dd {
    text-align: left;
    display: table-cell;
    vertical-align: middle; }
    dl.table_cell_dl dd textarea {
      width: 100%; }
  @media screen and (max-width: 991px) {
    dl.table_cell_dl {
      display: block;
      margin-bottom: 0;
      width: 100%; }
      dl.table_cell_dl dt {
        display: block;
        margin: 0 0 10px;
        width: 100%;
        padding-right: 0; }
      dl.table_cell_dl dd {
        display: block; } }
  dl.table_cell_dl.up_dashed_line {
    padding-top: 20px;
    border-top: 1px dashed #B7B7B7; }

.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

* img {
  width: 100%; }
  * img.no_style {
    width: auto;
    border-radius: 0; }

i {
  line-height: 0.6;
  font-size: 1rem;
  vertical-align: middle; }

a {
  color: #00a9bf;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }
  a.topics_category_link {
    background: #00a9bf;
    color: white;
    text-decoration: none;
    font-weight: normal;
    padding: 4px;
    font-size: 0.85rem;
    display: inline-block;
    width: 6rem;
    text-align: center; }

.button {
  display: inline-block;
  background: #00a9bf;
  color: white;
  text-align: center;
  color: white;
  padding: 16px 30px 16px 24px;
  text-decoration: none;
  line-height: 1;
  margin-top: 16px;
  font-size: 0.9rem; }
  .button.no_margin_top {
    margin-top: 0; }
  .button i {
    line-height: 0.6;
    font-size: 1rem;
    color: white; }
  .button:hover {
    background-color: #00edff;
    color: white; }
  .button.small {
    padding: 8px; }
  .button.news_button {
    position: absolute;
    top: 0;
    right: 7.5px;
    margin-top: 0; }
    @media screen and (max-width: 991px) {
      .button.news_button {
        width: 70px; } }
  @media screen and (max-width: 991px) {
    .button {
      margin-top: 0;
      width: 100%;
      padding: 16px 16px; } }
  .button.button_blue_border_white {
    background: white;
    border: 3px solid #00a9bf;
    color: #00a9bf; }
    .button.button_blue_border_white i {
      color: #00a9bf; }
    .button.button_blue_border_white:hover {
      background-color: #00a9bf;
      color: white; }
      .button.button_blue_border_white:hover i, .button.button_blue_border_white:hover span {
        color: white; }
  .button.button_width_100per {
    width: 100%; }

hr {
  border-top: 4px solid black;
  margin: 8px 0; }

img.width_100per_img {
  width: 100%; }

/*溝幅 20pxの場合*/
.gutter-20 {
  margin-left: -10px;
  margin-right: -10px; }

.gutter-20 > [class*='col-'] {
  padding-left: 10px;
  padding-right: 10px; }

/*溝幅 15pxの場合*/
.gutter-15 {
  margin-left: -7.5px;
  margin-right: -7.5px; }

.gutter-15 > [class*='col-'] {
  padding-left: 7.5px;
  padding-right: 7.5px; }

/*溝幅 10pxの場合*/
.gutter-10 {
  margin-left: -5px;
  margin-right: -5px; }

.gutter-10 > [class*='col-'] {
  padding-left: 5px;
  padding-right: 5px; }

/* 溝幅なし */
.no-gutter {
  margin-left: 0;
  margin-right: 0; }

.no-gutter > [class*='col-'] {
  padding-left: 0;
  padding-right: 0; }

.text_align_center {
  text-align: center; }

.text_align_right {
  text-align: right; }

.margin_bottom_high {
  margin-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_high {
      margin-bottom: 48px; } }

.margin_bottom_middle {
  margin-bottom: 40px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_middle {
      margin-bottom: 24px; } }

.sp_margin_bottom_middle {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_middle {
      margin-bottom: 24px; } }

.margin_bottom_low {
  margin-bottom: 24px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_low {
      margin-bottom: 16px; } }

.sp_margin_bottom_low {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_low {
      margin-bottom: 16px; } }

.margin_bottom_exlow {
  margin-bottom: 8px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_exlow {
      margin-bottom: 8px; } }

.margin_bottom_zero {
  margin-bottom: 0; }

.padding_top_high {
  padding-top: 72px; }
  @media screen and (max-width: 991px) {
    .padding_top_high {
      padding-top: 48px; } }

.padding_bottom_high {
  padding-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .padding_bottom_high {
      padding-bottom: 48px; } }

.pc_hidden {
  display: none; }
  @media screen and (max-width: 991px) {
    .pc_hidden {
      display: block; } }

.page_bottom_navi {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px; }

table {
  width: 100%;
  border-top: 1px solid #d8d8d8; }
  table th, table td {
    padding: 16px 0;
    border-bottom: 1px solid #d8d8d8;
    vertical-align: top;
    text-align: left; }

html {
  font-size: 12px; }

body * {
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 1.25rem;
  color: #333333; }
  @media screen and (max-width: 991px) {
    body * {
      font-size: 1.0rem; } }

h1, h2, h3, h4 {
  margin-bottom: 16px;
  margin-top: 0;
  line-height: 1.2; }

h1 {
  margin-top: 0;
  font-size: 2.75rem; }
  h1 .english_title {
    font-size: 1rem;
    color: #66DBFF;
    line-height: 1.5rem;
    display: block; }
  h1.contents_title {
    font-size: 2rem;
    border-bottom: 3px solid #00a9bf;
    padding-bottom: 12px;
    margin-bottom: 40px; }
    @media screen and (max-width: 991px) {
      h1.contents_title {
        margin-bottom: 24px; } }
  h1.topic_title {
    border-top: 3px solid #00a9bf;
    border-bottom: 1px solid #B7B7B7;
    font-size: 1.75rem;
    padding: 10px 0 14px;
    margin-bottom: 16px; }
    h1.topic_title span.date {
      font-size: 1rem;
      font-weight: normal;
      line-height: 0.75; }

h2 {
  font-size: 2rem;
  margin-bottom: 16px;
  font-weight: bold;
  line-height: 1.2;
  color: #333333; }
  h2 .english_title {
    font-size: 1rem;
    color: #66DBFF;
    line-height: 1.5rem;
    display: block; }
  @media screen and (max-width: 991px) {
    h2 {
      font-size: 2rem;
      margin-bottom: 16px; } }
  h2.border_bottom {
    border-bottom: 3px solid #00a9bf;
    padding-bottom: 16px; }
  h2.small {
    font-size: 1.25rem;
    margin-bottom: 24px;
    line-height: 1; }
  h2.top_blue_border {
    border-top: 2px solid #00a9bf;
    padding-top: 16px;
    margin-bottom: 16px; }
  h2.lead_txt {
    color: #FF739E; }
  h2.border_dashed {
    border-bottom: dashed 3px #00a9bf;
    color: #333333;
    font-size: 1.5rem;
    padding-bottom: 12px;
    margin-bottom: 40px; }
    @media screen and (max-width: 991px) {
      h2.border_dashed {
        margin-bottom: 16px; } }
  h2.margin_bottom_zero {
    margin-bottom: 0; }

h3 {
  font-size: 1.75rem; }
  h3.seminar_02_item {
    font-size: 1rem;
    font-weight: bold;
    border: 3px solid #333333;
    padding: 8px; }
    h3.seminar_02_item span {
      background: #333333;
      color: white;
      padding: 0 8px;
      border-radius: 100px; }
  h3.border_gray {
    border-bottom: 2px solid #B7B7B7;
    padding-bottom: 12px; }

h4 {
  font-size: 1.5rem; }

p {
  margin-bottom: 24px;
  line-height: 1.75; }
  p:last-child {
    margin-bottom: 0; }
  p.seminar_date {
    line-height: 1.2;
    margin-bottom: 8px; }
    p.seminar_date.oneday {
      margin-bottom: 0; }
    p.seminar_date b {
      font-size: 2.25rem;
      font-weight: bold; }
    p.seminar_date span.time {
      font-weight: bold;
      font-size: 1.25rem; }
  p.place {
    margin-bottom: 16px; }
    p.place span {
      background: #333333;
      color: white;
      margin-right: 4px;
      padding: 4px 8px; }
  p.small {
    font-size: 0.8rem;
    line-height: 1.5; }
  p.large, p .large {
    font-size: 1.25rem; }
  p.margin_bottom_half {
    margin-bottom: 16px; }
  p.bg_light_green {
    background: #E4F4F2;
    padding: 20px;
    border-radius: 5px; }
  @media screen and (max-width: 767px) {
    p {
      font-size: 1.25rem;
      line-height: 1.5; } }

dl {
  margin-bottom: 24px; }
  dl dt {
    margin-bottom: 8px;
    font-weight: bold;
    font-size: 20px; }

ul {
  margin-left: 1.5rem; }
  ul.no_list_style li {
    list-style: none;
    margin-bottom: 8px;
    padding-left: 0; }

ol {
  margin-left: 1.5rem; }

.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

* img {
  width: 100%; }
  * img.no_style {
    width: auto;
    border-radius: 0; }

i {
  line-height: 0.6;
  font-size: 1rem;
  vertical-align: middle; }

a {
  color: #00a9bf;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }
  a.topics_category_link {
    background: #00a9bf;
    color: white;
    text-decoration: none;
    font-weight: normal;
    padding: 4px;
    font-size: 0.85rem;
    display: inline-block;
    width: 6rem;
    text-align: center; }

.button {
  display: inline-block;
  background: #00a9bf;
  color: white;
  text-align: center;
  color: white;
  padding: 16px 30px 16px 24px;
  text-decoration: none;
  line-height: 1;
  margin-top: 16px;
  font-size: 0.9rem; }
  .button.no_margin_top {
    margin-top: 0; }
  .button i {
    line-height: 0.6;
    font-size: 1rem;
    color: white; }
  .button:hover {
    background-color: #00edff;
    color: white; }
  .button.small {
    padding: 8px; }
  .button.news_button {
    position: absolute;
    top: 0;
    right: 7.5px;
    margin-top: 0; }
    @media screen and (max-width: 991px) {
      .button.news_button {
        width: 70px; } }
  @media screen and (max-width: 991px) {
    .button {
      margin-top: 0;
      width: 100%;
      padding: 16px 16px; } }
  .button.button_blue_border_white {
    background: white;
    border: 3px solid #00a9bf;
    color: #00a9bf; }
    .button.button_blue_border_white i {
      color: #00a9bf; }
    .button.button_blue_border_white:hover {
      background-color: #00a9bf;
      color: white; }
      .button.button_blue_border_white:hover i, .button.button_blue_border_white:hover span {
        color: white; }
  .button.button_width_100per {
    width: 100%; }

hr {
  border-top: 4px solid black;
  margin: 8px 0; }

img.width_100per_img {
  width: 100%; }

/*溝幅 20pxの場合*/
.gutter-20 {
  margin-left: -10px;
  margin-right: -10px; }

.gutter-20 > [class*='col-'] {
  padding-left: 10px;
  padding-right: 10px; }

/*溝幅 15pxの場合*/
.gutter-15 {
  margin-left: -7.5px;
  margin-right: -7.5px; }

.gutter-15 > [class*='col-'] {
  padding-left: 7.5px;
  padding-right: 7.5px; }

/*溝幅 10pxの場合*/
.gutter-10 {
  margin-left: -5px;
  margin-right: -5px; }

.gutter-10 > [class*='col-'] {
  padding-left: 5px;
  padding-right: 5px; }

/* 溝幅なし */
.no-gutter {
  margin-left: 0;
  margin-right: 0; }

.no-gutter > [class*='col-'] {
  padding-left: 0;
  padding-right: 0; }

.text_align_center {
  text-align: center; }

.text_align_right {
  text-align: right; }

.margin_bottom_high {
  margin-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_high {
      margin-bottom: 48px; } }

.margin_bottom_middle {
  margin-bottom: 40px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_middle {
      margin-bottom: 24px; } }

.sp_margin_bottom_middle {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_middle {
      margin-bottom: 24px; } }

.margin_bottom_low {
  margin-bottom: 24px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_low {
      margin-bottom: 16px; } }

.sp_margin_bottom_low {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_low {
      margin-bottom: 16px; } }

.margin_bottom_exlow {
  margin-bottom: 8px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_exlow {
      margin-bottom: 8px; } }

.margin_bottom_zero {
  margin-bottom: 0; }

.padding_top_high {
  padding-top: 72px; }
  @media screen and (max-width: 991px) {
    .padding_top_high {
      padding-top: 48px; } }

.padding_bottom_high {
  padding-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .padding_bottom_high {
      padding-bottom: 48px; } }

.pc_hidden {
  display: none; }
  @media screen and (max-width: 991px) {
    .pc_hidden {
      display: block; } }

.page_bottom_navi {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px; }

table {
  width: 100%;
  border-top: 1px solid #d8d8d8; }
  table th, table td {
    padding: 16px 0;
    border-bottom: 1px solid #d8d8d8;
    vertical-align: top;
    text-align: left; }

table {
  margin-top: 8px;
  width: 100%;
  border-bottom: 1px solid #d8d8d8;
  border-left: 1px solid #d8d8d8;
  margin-bottom: 8px; }
  table thead {
    background: #C0E2DE;
    border-right: 1px solid #d8d8d8; }
    table thead th {
      text-align: center;
      padding: 6px; }
  table tbody th {
    vertical-align: middle; }
  table tbody td {
    border-right: 1px solid #d8d8d8;
    padding: 6px;
    vertical-align: middle; }
    table tbody td.left_end {
      border-left: 1px solid #d8d8d8;
      text-align: left; }
  table tbody .even {
    background: #E4F4F2; }

.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

* img {
  width: 100%; }
  * img.no_style {
    width: auto;
    border-radius: 0; }

i {
  line-height: 0.6;
  font-size: 1rem;
  vertical-align: middle; }

a {
  color: #00a9bf;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }
  a.topics_category_link {
    background: #00a9bf;
    color: white;
    text-decoration: none;
    font-weight: normal;
    padding: 4px;
    font-size: 0.85rem;
    display: inline-block;
    width: 6rem;
    text-align: center; }

.button {
  display: inline-block;
  background: #00a9bf;
  color: white;
  text-align: center;
  color: white;
  padding: 16px 30px 16px 24px;
  text-decoration: none;
  line-height: 1;
  margin-top: 16px;
  font-size: 0.9rem; }
  .button.no_margin_top {
    margin-top: 0; }
  .button i {
    line-height: 0.6;
    font-size: 1rem;
    color: white; }
  .button:hover {
    background-color: #00edff;
    color: white; }
  .button.small {
    padding: 8px; }
  .button.news_button {
    position: absolute;
    top: 0;
    right: 7.5px;
    margin-top: 0; }
    @media screen and (max-width: 991px) {
      .button.news_button {
        width: 70px; } }
  @media screen and (max-width: 991px) {
    .button {
      margin-top: 0;
      width: 100%;
      padding: 16px 16px; } }
  .button.button_blue_border_white {
    background: white;
    border: 3px solid #00a9bf;
    color: #00a9bf; }
    .button.button_blue_border_white i {
      color: #00a9bf; }
    .button.button_blue_border_white:hover {
      background-color: #00a9bf;
      color: white; }
      .button.button_blue_border_white:hover i, .button.button_blue_border_white:hover span {
        color: white; }
  .button.button_width_100per {
    width: 100%; }

hr {
  border-top: 4px solid black;
  margin: 8px 0; }

img.width_100per_img {
  width: 100%; }

/*溝幅 20pxの場合*/
.gutter-20 {
  margin-left: -10px;
  margin-right: -10px; }

.gutter-20 > [class*='col-'] {
  padding-left: 10px;
  padding-right: 10px; }

/*溝幅 15pxの場合*/
.gutter-15 {
  margin-left: -7.5px;
  margin-right: -7.5px; }

.gutter-15 > [class*='col-'] {
  padding-left: 7.5px;
  padding-right: 7.5px; }

/*溝幅 10pxの場合*/
.gutter-10 {
  margin-left: -5px;
  margin-right: -5px; }

.gutter-10 > [class*='col-'] {
  padding-left: 5px;
  padding-right: 5px; }

/* 溝幅なし */
.no-gutter {
  margin-left: 0;
  margin-right: 0; }

.no-gutter > [class*='col-'] {
  padding-left: 0;
  padding-right: 0; }

.text_align_center {
  text-align: center; }

.text_align_right {
  text-align: right; }

.margin_bottom_high {
  margin-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_high {
      margin-bottom: 48px; } }

.margin_bottom_middle {
  margin-bottom: 40px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_middle {
      margin-bottom: 24px; } }

.sp_margin_bottom_middle {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_middle {
      margin-bottom: 24px; } }

.margin_bottom_low {
  margin-bottom: 24px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_low {
      margin-bottom: 16px; } }

.sp_margin_bottom_low {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_low {
      margin-bottom: 16px; } }

.margin_bottom_exlow {
  margin-bottom: 8px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_exlow {
      margin-bottom: 8px; } }

.margin_bottom_zero {
  margin-bottom: 0; }

.padding_top_high {
  padding-top: 72px; }
  @media screen and (max-width: 991px) {
    .padding_top_high {
      padding-top: 48px; } }

.padding_bottom_high {
  padding-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .padding_bottom_high {
      padding-bottom: 48px; } }

.pc_hidden {
  display: none; }
  @media screen and (max-width: 991px) {
    .pc_hidden {
      display: block; } }

.page_bottom_navi {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px; }

table {
  width: 100%;
  border-top: 1px solid #d8d8d8; }
  table th, table td {
    padding: 16px 0;
    border-bottom: 1px solid #d8d8d8;
    vertical-align: top;
    text-align: left; }

input, button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

input::-webkit-input-placeholder {
  color: #aaaaaa; }

.input_base_style, input, textarea, select {
  background: white;
  border: 1px solid #dddddd;
  padding: 10px;
  color: black;
  border-radius: 3px; }

input {
  margin-right: 5px; }

textarea {
  resize: vertical;
  max-height: 250px; }

select {
  font-size: 12px;
  position: relative;
  padding: 10px 20px 10px 10px;
  background: url("../img/common/select_arrow.png") no-repeat;
  background-position: right 5px bottom 50%;
  background-size: 8px 17px; }

input[type="radio"] {
  display: none; }

label.radio {
  position: relative;
  display: inline-block;
  padding: 3px 3px 3px 20px;
  margin-right: 10px;
  cursor: pointer;
  font-size: 16px; }
  label.radio::before {
    position: absolute;
    content: '';
    top: 50%;
    left: 0;
    width: 14px;
    height: 14px;
    margin-top: -8px;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 100%; }

input[type="radio"]:checked + label::after {
  position: absolute;
  content: '';
  top: 50%;
  left: 4px;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  background: #3498db;
  border-radius: 100%; }

input[type="checkbox"] {
  display: none; }

label.checkbox {
  position: relative;
  display: inline-block;
  padding: 3px 3px 3px 22px;
  margin-right: 10px;
  cursor: pointer;
  -webkit-transition: all .2s;
  transition: all .2s; }
  label.checkbox::before, label.checkbox::after {
    position: absolute;
    content: ''; }
  label.checkbox::before {
    top: 50%;
    left: 0;
    width: 14px;
    height: 14px;
    margin-top: -8px;
    background: #ffffff;
    border: 1px solid #ccc;
    border-radius: 3px; }
  label.checkbox::after {
    opacity: 0;
    top: 50%;
    left: 3px;
    width: 8px;
    height: 4px;
    margin-top: -4px;
    border-left: 2px solid #3498db;
    border-bottom: 2px solid #3498db;
    -webkit-transform: rotate(-45deg) scale(0.5);
    transform: rotate(-45deg) scale(0.5); }
  label.checkbox:hover::before {
    background: #fff; }

input[type="checkbox"]:checked + label::before {
  background: #fff;
  border: 1px solid #3498db; }

input[type="checkbox"]:checked + label::after {
  opacity: 1;
  -webkit-transform: rotate(-45deg) scale(1);
  transform: rotate(-45deg) scale(1); }

.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

* img {
  width: 100%; }
  * img.no_style {
    width: auto;
    border-radius: 0; }

i {
  line-height: 0.6;
  font-size: 1rem;
  vertical-align: middle; }

a {
  color: #00a9bf;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }
  a.topics_category_link {
    background: #00a9bf;
    color: white;
    text-decoration: none;
    font-weight: normal;
    padding: 4px;
    font-size: 0.85rem;
    display: inline-block;
    width: 6rem;
    text-align: center; }

.button {
  display: inline-block;
  background: #00a9bf;
  color: white;
  text-align: center;
  color: white;
  padding: 16px 30px 16px 24px;
  text-decoration: none;
  line-height: 1;
  margin-top: 16px;
  font-size: 0.9rem; }
  .button.no_margin_top {
    margin-top: 0; }
  .button i {
    line-height: 0.6;
    font-size: 1rem;
    color: white; }
  .button:hover {
    background-color: #00edff;
    color: white; }
  .button.small {
    padding: 8px; }
  .button.news_button {
    position: absolute;
    top: 0;
    right: 7.5px;
    margin-top: 0; }
    @media screen and (max-width: 991px) {
      .button.news_button {
        width: 70px; } }
  @media screen and (max-width: 991px) {
    .button {
      margin-top: 0;
      width: 100%;
      padding: 16px 16px; } }
  .button.button_blue_border_white {
    background: white;
    border: 3px solid #00a9bf;
    color: #00a9bf; }
    .button.button_blue_border_white i {
      color: #00a9bf; }
    .button.button_blue_border_white:hover {
      background-color: #00a9bf;
      color: white; }
      .button.button_blue_border_white:hover i, .button.button_blue_border_white:hover span {
        color: white; }
  .button.button_width_100per {
    width: 100%; }

hr {
  border-top: 4px solid black;
  margin: 8px 0; }

img.width_100per_img {
  width: 100%; }

/*溝幅 20pxの場合*/
.gutter-20 {
  margin-left: -10px;
  margin-right: -10px; }

.gutter-20 > [class*='col-'] {
  padding-left: 10px;
  padding-right: 10px; }

/*溝幅 15pxの場合*/
.gutter-15 {
  margin-left: -7.5px;
  margin-right: -7.5px; }

.gutter-15 > [class*='col-'] {
  padding-left: 7.5px;
  padding-right: 7.5px; }

/*溝幅 10pxの場合*/
.gutter-10 {
  margin-left: -5px;
  margin-right: -5px; }

.gutter-10 > [class*='col-'] {
  padding-left: 5px;
  padding-right: 5px; }

/* 溝幅なし */
.no-gutter {
  margin-left: 0;
  margin-right: 0; }

.no-gutter > [class*='col-'] {
  padding-left: 0;
  padding-right: 0; }

.text_align_center {
  text-align: center; }

.text_align_right {
  text-align: right; }

.margin_bottom_high {
  margin-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_high {
      margin-bottom: 48px; } }

.margin_bottom_middle {
  margin-bottom: 40px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_middle {
      margin-bottom: 24px; } }

.sp_margin_bottom_middle {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_middle {
      margin-bottom: 24px; } }

.margin_bottom_low {
  margin-bottom: 24px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_low {
      margin-bottom: 16px; } }

.sp_margin_bottom_low {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_low {
      margin-bottom: 16px; } }

.margin_bottom_exlow {
  margin-bottom: 8px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_exlow {
      margin-bottom: 8px; } }

.margin_bottom_zero {
  margin-bottom: 0; }

.padding_top_high {
  padding-top: 72px; }
  @media screen and (max-width: 991px) {
    .padding_top_high {
      padding-top: 48px; } }

.padding_bottom_high {
  padding-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .padding_bottom_high {
      padding-bottom: 48px; } }

.pc_hidden {
  display: none; }
  @media screen and (max-width: 991px) {
    .pc_hidden {
      display: block; } }

.page_bottom_navi {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px; }

table {
  width: 100%;
  border-top: 1px solid #d8d8d8; }
  table th, table td {
    padding: 16px 0;
    border-bottom: 1px solid #d8d8d8;
    vertical-align: top;
    text-align: left; }

.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

* img {
  width: 100%; }
  * img.no_style {
    width: auto;
    border-radius: 0; }

i {
  line-height: 0.6;
  font-size: 1rem;
  vertical-align: middle; }

a {
  color: #00a9bf;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }
  a.topics_category_link {
    background: #00a9bf;
    color: white;
    text-decoration: none;
    font-weight: normal;
    padding: 4px;
    font-size: 0.85rem;
    display: inline-block;
    width: 6rem;
    text-align: center; }

.button {
  display: inline-block;
  background: #00a9bf;
  color: white;
  text-align: center;
  color: white;
  padding: 16px 30px 16px 24px;
  text-decoration: none;
  line-height: 1;
  margin-top: 16px;
  font-size: 0.9rem; }
  .button.no_margin_top {
    margin-top: 0; }
  .button i {
    line-height: 0.6;
    font-size: 1rem;
    color: white; }
  .button:hover {
    background-color: #00edff;
    color: white; }
  .button.small {
    padding: 8px; }
  .button.news_button {
    position: absolute;
    top: 0;
    right: 7.5px;
    margin-top: 0; }
    @media screen and (max-width: 991px) {
      .button.news_button {
        width: 70px; } }
  @media screen and (max-width: 991px) {
    .button {
      margin-top: 0;
      width: 100%;
      padding: 16px 16px; } }
  .button.button_blue_border_white {
    background: white;
    border: 3px solid #00a9bf;
    color: #00a9bf; }
    .button.button_blue_border_white i {
      color: #00a9bf; }
    .button.button_blue_border_white:hover {
      background-color: #00a9bf;
      color: white; }
      .button.button_blue_border_white:hover i, .button.button_blue_border_white:hover span {
        color: white; }
  .button.button_width_100per {
    width: 100%; }

hr {
  border-top: 4px solid black;
  margin: 8px 0; }

img.width_100per_img {
  width: 100%; }

/*溝幅 20pxの場合*/
.gutter-20 {
  margin-left: -10px;
  margin-right: -10px; }

.gutter-20 > [class*='col-'] {
  padding-left: 10px;
  padding-right: 10px; }

/*溝幅 15pxの場合*/
.gutter-15 {
  margin-left: -7.5px;
  margin-right: -7.5px; }

.gutter-15 > [class*='col-'] {
  padding-left: 7.5px;
  padding-right: 7.5px; }

/*溝幅 10pxの場合*/
.gutter-10 {
  margin-left: -5px;
  margin-right: -5px; }

.gutter-10 > [class*='col-'] {
  padding-left: 5px;
  padding-right: 5px; }

/* 溝幅なし */
.no-gutter {
  margin-left: 0;
  margin-right: 0; }

.no-gutter > [class*='col-'] {
  padding-left: 0;
  padding-right: 0; }

.text_align_center {
  text-align: center; }

.text_align_right {
  text-align: right; }

.margin_bottom_high {
  margin-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_high {
      margin-bottom: 48px; } }

.margin_bottom_middle {
  margin-bottom: 40px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_middle {
      margin-bottom: 24px; } }

.sp_margin_bottom_middle {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_middle {
      margin-bottom: 24px; } }

.margin_bottom_low {
  margin-bottom: 24px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_low {
      margin-bottom: 16px; } }

.sp_margin_bottom_low {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_low {
      margin-bottom: 16px; } }

.margin_bottom_exlow {
  margin-bottom: 8px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_exlow {
      margin-bottom: 8px; } }

.margin_bottom_zero {
  margin-bottom: 0; }

.padding_top_high {
  padding-top: 72px; }
  @media screen and (max-width: 991px) {
    .padding_top_high {
      padding-top: 48px; } }

.padding_bottom_high {
  padding-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .padding_bottom_high {
      padding-bottom: 48px; } }

.pc_hidden {
  display: none; }
  @media screen and (max-width: 991px) {
    .pc_hidden {
      display: block; } }

.page_bottom_navi {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px; }

table {
  width: 100%;
  border-top: 1px solid #d8d8d8; }
  table th, table td {
    padding: 16px 0;
    border-bottom: 1px solid #d8d8d8;
    vertical-align: top;
    text-align: left; }

.transition, a, a:hover img {
  transition: 300ms;
  transition-timing-function: ease-in; }

.alpha_70per, a:hover img, header .menu_toggle:hover {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7; }

.content_box, .light_gray_box, .white_box {
  width: 100%;
  padding: 32px;
  border-radius: 3px;
  position: relative; }

dl.table_cell_dl {
  display: table;
  border-bottom: 1px solid #B7B7B7;
  padding-bottom: 20px;
  padding-top: 20px;
  width: 100%;
  margin-bottom: 0; }
  dl.table_cell_dl.top {
    border-top: 3px solid #00a9bf; }
  dl.table_cell_dl dt {
    display: table-cell;
    vertical-align: middle;
    padding-right: 20px;
    width: 22%;
    font-size: 1.25rem; }
    dl.table_cell_dl dt span {
      font-size: 8px;
      padding: 3px 7px;
      border-radius: 30px;
      color: white; }
      dl.table_cell_dl dt span.any {
        background: #237EE2; }
      dl.table_cell_dl dt span.must {
        background: #DA3924; }
    dl.table_cell_dl dt.wide_dt {
      width: 29%; }
      @media screen and (max-width: 991px) {
        dl.table_cell_dl dt.wide_dt {
          width: 100%; } }
    dl.table_cell_dl dt.narrow_dt {
      width: 14%; }
      @media screen and (max-width: 991px) {
        dl.table_cell_dl dt.narrow_dt {
          width: 100%; } }
  dl.table_cell_dl dd {
    text-align: left;
    display: table-cell;
    vertical-align: middle; }
    dl.table_cell_dl dd textarea {
      width: 100%; }
  @media screen and (max-width: 991px) {
    dl.table_cell_dl {
      display: block;
      margin-bottom: 0;
      width: 100%; }
      dl.table_cell_dl dt {
        display: block;
        margin: 0 0 10px;
        width: 100%;
        padding-right: 0; }
      dl.table_cell_dl dd {
        display: block; } }
  dl.table_cell_dl.up_dashed_line {
    padding-top: 20px;
    border-top: 1px dashed #B7B7B7; }

@media (min-width: 992px) {
  .container {
    width: 960px; } }

@media (min-width: 1200px) {
  .container {
    width: 960px; } }

body {
  background-size: 1260px auto; }

header {
  width: 100%; }
  @media screen and (max-width: 767px) {
    header {
      height: 60px; } }
  @media (min-width: 992px) {
    header .container {
      width: 930px; } }
  @media (min-width: 1200px) {
    header .container {
      width: 930px; } }
  header .container {
    position: relative;
    margin: 0 auto;
    padding: 0 15px; }
  header .menu_toggle {
    display: none;
    cursor: pointer;
    position: relative;
    margin-top: 3px;
    margin-right: 7px; }
    @media screen and (max-width: 991px) {
      header .menu_toggle {
        display: block;
        position: absolute;
        top: 10px;
        right: 10px;
        width: 60px;
        height: 60px; } }
    header .menu_toggle .menu_toggle_inner {
      position: absolute;
      top: 0;
      right: -5px; }
      header .menu_toggle .menu_toggle_inner .menu_heading {
        position: absolute;
        top: 30px;
        right: 0;
        font-size: 0.65rem;
        color: #00a9bf; }
      header .menu_toggle .menu_toggle_inner .button_line {
        position: absolute;
        top: 3px;
        right: 0;
        width: 30px;
        height: 30px; }
        header .menu_toggle .menu_toggle_inner .button_line span {
          position: relative;
          display: block;
          background-color: #00a9bf;
          width: 100%;
          height: 5px;
          margin-bottom: 5px;
          transition: all 0.4s; }
    header .menu_toggle.open span:nth-of-type(1) {
      -webkit-transform: translateY(10px) rotate(-45deg);
      transform: translateY(10px) rotate(-45deg); }
    header .menu_toggle.open span:nth-of-type(2) {
      opacity: 0; }
    header .menu_toggle.open span:nth-of-type(3) {
      -webkit-transform: translateY(-10px) rotate(45deg);
      transform: translateY(-10px) rotate(45deg); }
  header .site_id {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 10px;
    left: 0; }
    header .site_id h1 {
      font-size: 24px;
      margin-top: 10px; }
      @media screen and (max-width: 767px) {
        header .site_id h1 {
          text-align: center;
          margin-top: 5px;
          font-size: 22px; } }
    header .site_id p a {
      margin: 0;
      padding: 0;
      font-size: 24px;
      font-weight: bold;
      color: #00a9bf;
      text-decoration: none; }
      header .site_id p a:hover {
        color: #00dcf8; }
    header .site_id p img {
      width: 145px;
      margin-right: 5px; }
    @media screen and (max-width: 991px) {
      header .site_id {
        top: 17px;
        left: 8px; } }
    @media screen and (max-width: 991px) {
      header .site_id p a {
        font-size: 1.2rem; }
      header .site_id p img {
        width: 100px;
        margin-right: 5px; } }
  header .up_menu {
    position: absolute;
    top: 5px;
    right: 0;
    display: table; }
    header .up_menu div {
      display: table-cell;
      vertical-align: middle; }
    header .up_menu h2 {
      font-size: 12px;
      color: #333333;
      font-weight: normal;
      padding-top: 19px; }
    header .up_menu ul {
      margin: 0;
      padding: 0; }
      header .up_menu ul li {
        list-style: none;
        display: inline-block;
        padding: 0;
        margin: 0;
        margin-left: 10px;
        height: 15px; }
        header .up_menu ul li img {
          width: auto;
          margin: 0; }
        header .up_menu ul li a {
          font-size: 0.9rem; }
    @media screen and (max-width: 991px) {
      header .up_menu {
        display: none; } }
  header .navigation_border {
    border-bottom: 5px solid #00a9bf;
    height: 65px; }
    @media screen and (max-width: 991px) {
      header .navigation_border {
        height: auto; } }
  header .navigation {
    position: absolute;
    top: 10px;
    left: 0;
    z-index: 100;
    width: 100%;
    padding: 0 15px; }
    header .navigation ul {
      display: table;
      width: 100%;
      position: absolute;
      right: 0;
      top: 0; }
      header .navigation ul li {
        display: table-cell;
        width: 20%; }
        header .navigation ul li a {
          display: block;
          text-align: center;
          border-right: 1px solid #d2d2d2;
          text-decoration: none;
          padding: 8px 0;
          position: relative;
          z-index: 2;
          color: #333333; }
          header .navigation ul li a b {
            color: #00a9bf; }
          header .navigation ul li a.left_end {
            border-left: 1px solid #d2d2d2; }
          header .navigation ul li a:hover {
            background-color: #00a9bf;
            color: #ffffff; }
            header .navigation ul li a:hover b {
              color: white; }
        header .navigation ul li.pc_hidden {
          display: none; }
    @media screen and (max-width: 991px) {
      header .navigation {
        display: none;
        position: absolute;
        top: 65px;
        left: 0;
        width: 100%; }
        header .navigation ul {
          z-index: 5;
          display: block;
          background: none;
          border-left: none;
          width: 100%; }
          header .navigation ul li {
            display: block;
            width: 100%;
            border-right: none;
            border-bottom: 1px solid white;
            font-size: 1rem;
            background: #F2F2F2;
            margin-left: 0; }
            header .navigation ul li.has_child span {
              padding: 16px;
              display: block; }
            header .navigation ul li.has_child .navigation_button {
              padding: 16px;
              border-bottom: 1px solid #d8d8d8; }
            header .navigation ul li i {
              font-size: 1.2rem;
              vertical-align: bottom; }
            header .navigation ul li a {
              border-top: #00a9bf 1px solid;
              padding: 16px;
              background: white;
              text-align: left;
              color: #333333; }
              header .navigation ul li a.left_end {
                border-left: none; }
              header .navigation ul li a:hover {
                background: #00a9bf;
                color: white; }
            header .navigation ul li.pc_hidden {
              display: block; }
            header .navigation ul li ul.child {
              display: none;
              position: relative;
              width: 100%; }
              header .navigation ul li ul.child a {
                background: white;
                border-top: #d2d2d2 1px solid; }
                header .navigation ul li ul.child a:hover {
                  background: #d8d8d8; }
                header .navigation ul li ul.child a.japanese {
                  background: url("../img/common/header_icon_japanese.png") no-repeat 20px 50%;
                  padding-left: 50px; }
                header .navigation ul li ul.child a.english {
                  background: url("../img/common/header_icon_english.png") no-repeat 20px 50%;
                  padding-left: 50px; }
                header .navigation ul li ul.child a.chinese {
                  background: url("../img/common/header_icon_chinese.png") no-repeat 20px 50%;
                  padding-left: 50px; } }

.provisional_infomation_box * {
  color: #333333; }

.provisional_infomation_box .large_txt b {
  font-size: 1.5rem; }
  @media screen and (max-width: 991px) {
    .provisional_infomation_box .large_txt b {
      font-size: 1.2rem; } }

.provisional_infomation_box a {
  color: #00a9bf; }

.main_visual {
  margin-bottom: 8px;
  width: 100%;
  height: 220px;
  background: #f2f2f2;
  position: relative;
  overflow: hidden; }
  .main_visual img {
    position: absolute;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    left: 50%;
    top: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0); }

.breadcrumb {
  border-bottom: 1px solid #d8d8d8;
  width: 100%;
  padding-bottom: 8px;
  margin-bottom: 40px; }
  .breadcrumb ul li {
    list-style: none;
    display: inline-block;
    font-size: 0.9rem; }
    .breadcrumb ul li a {
      font-size: 0.9rem; }
      .breadcrumb ul li a i {
        color: #00a9bf;
        font-size: 1.2em; }
    .breadcrumb ul li i {
      font-size: 0.9em; }

.page_bottom_infomation_box {
  border-top: 3px solid #00a9bf;
  border-bottom: 3px solid #00a9bf;
  padding: 32px 0; }
  .page_bottom_infomation_box .logo {
    width: 260px; }
  .page_bottom_infomation_box h2 {
    margin-bottom: 16px; }
  .page_bottom_infomation_box .tel {
    font-size: 24px;
    padding-left: 24px;
    font-weight: bold;
    background: url("../img/common/page_bottom_tel_icon.png") no-repeat 0 50%;
    background-size: 21px 21px; }
  .page_bottom_infomation_box table {
    margin-top: 8px;
    width: 100%;
    border-bottom: 1px solid #C0E2DE;
    margin-bottom: 8px; }
    .page_bottom_infomation_box table thead {
      background: #C0E2DE;
      border-right: 1px solid #C0E2DE; }
      .page_bottom_infomation_box table thead th {
        text-align: center;
        padding: 6px; }
    .page_bottom_infomation_box table tbody td {
      border-right: 1px solid #C0E2DE;
      text-align: center;
      padding: 6px;
      vertical-align: middle; }
      .page_bottom_infomation_box table tbody td.left_end {
        border-left: 1px solid #C0E2DE;
        text-align: left; }
    .page_bottom_infomation_box table tbody .even {
      background: #E4F4F2; }
  .page_bottom_infomation_box.no_border {
    border-top: none;
    border-bottom: none;
    padding: 0; }

.unedr_construction_message {
  margin-bottom: 48px; }
  .unedr_construction_message p {
    margin-bottom: 8px; }

.page_top_btn a {
  display: block;
  text-align: center;
  text-decoration: none;
  padding: 16px 0 12px;
  font-size: 1rem;
  color: #00a9bf;
  line-height: 1;
  border-top: 1px solid #00a9bf; }
  .page_top_btn a i {
    vertical-align: middle;
    color: #00a9bf; }
  .page_top_btn a:hover {
    background: #00a9bf;
    color: white; }
    .page_top_btn a:hover i {
      color: white; }

footer {
  background: #444444; }
  footer * {
    color: white; }
  footer .menu {
    background: #efefef;
    padding: 8px 0;
    text-align: center; }
    footer .menu ul li {
      list-style: none;
      display: inline-block;
      padding: 0 8px 0 0; }
      footer .menu ul li a {
        font-size: 1rem;
        text-decoration: none; }
        footer .menu ul li a i {
          color: #00a9bf; }
        footer .menu ul li a:hover {
          text-decoration: underline;
          color: #00feff; }
          footer .menu ul li a:hover i {
            color: #00feff; }
  footer .footer_info h2 {
    border-bottom: 1px solid #111111;
    text-align: center;
    padding: 22px 0 20px;
    margin-bottom: 20px; }
  footer .footer_info h3 {
    margin-bottom: 4px;
    padding-top: 0; }
  footer .footer_info p {
    line-height: 1.2;
    font-size: 15px; }
    footer .footer_info p.tel {
      font-size: 2.5rem;
      line-height: 1;
      margin-bottom: 4px;
      font-weight: bold; }
  @media screen and (max-width: 991px) {
    footer .footer_info dl {
      margin-bottom: 10px; } }
  footer .footer_info .footer_logo {
    width: 145px;
    margin-right: 10px; }
    @media screen and (max-width: 767px) {
      footer .footer_info .footer_logo {
        width: 125px; } }
  footer .copyright {
    margin: 0;
    padding: 28px 0 24px;
    text-align: center;
    font-size: 1rem;
    background: #111111; }
    @media screen and (max-width: 991px) {
      footer .copyright {
        margin-top: 20px;
        padding: 16px 0 14px; } }

.sample_box {
  background: #F2F2F2;
  height: 1000px; }

.sidebar {
  padding-left: 20px; }
  .sidebar h2 {
    border-top: 2px solid #00a9bf;
    font-size: 1rem;
    padding-top: 16px;
    margin-bottom: 16px; }
  .sidebar ul {
    margin-left: 24px; }
    .sidebar ul li {
      margin-bottom: 12px; }
  @media screen and (max-width: 991px) {
    .sidebar {
      padding-left: 0;
      margin-top: 40px; } }

.light_gray_box {
  background: #F9F9F9; }

.white_box {
  background: white; }

.light_green_box {
  width: 100%;
  background: #E4F4F2;
  padding: 72px 0; }
  @media screen and (max-width: 991px) {
    .light_green_box {
      padding: 32px 0; } }
  .light_green_box.narrow_padding {
    padding: 24px; }

.googlemap_box {
  position: relative;
  padding-top: 61%;
  height: 0;
  overflow: hidden; }
  @media screen and (max-width: 991px) {
    .googlemap_box {
      padding-top: 70%; } }

.googlemap_box iframe,
.googlemap_box object,
.googlemap_box embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.sp_bottom {
  display: none; }
  @media screen and (max-width: 991px) {
    .sp_bottom {
      position: fixed;
      bottom: 0;
      left: 0;
      display: table;
      padding: 12px;
      background: #00a9bf; }
      .sp_bottom div {
        display: table-cell; }
        .sp_bottom div.tel {
          width: 84.7%; }
        .sp_bottom div.map {
          width: 15.3%; } }

.pagenavi {
  text-align: center; }
  .pagenavi .wp-pagenavi a, .pagenavi .wp-pagenavi span {
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 12px;
    padding-right: 12px;
    margin-left: 4px;
    border-radius: 5px; }
  .pagenavi .wp-pagenavi a {
    border: 1px solid #00a9bf;
    background: #00a9bf;
    color: white;
    text-decoration: none; }
    .pagenavi .wp-pagenavi a:hover {
      border: 1px solid #00a9bf;
      background: white;
      color: #00a9bf; }
  .pagenavi .wp-pagenavi span {
    border: 1px solid #333333; }
    .pagenavi .wp-pagenavi span.pages {
      border: none;
      font-size: 0.75rem; }
  @media screen and (max-width: 991px) {
    .pagenavi .wp-pagenavi {
      margin-top: 24px;
      margin-bottom: 40px; } }

.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

* img {
  width: 100%; }
  * img.no_style {
    width: auto;
    border-radius: 0; }

i {
  line-height: 0.6;
  font-size: 1rem;
  vertical-align: middle; }

a {
  color: #00a9bf;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }
  a.topics_category_link {
    background: #00a9bf;
    color: white;
    text-decoration: none;
    font-weight: normal;
    padding: 4px;
    font-size: 0.85rem;
    display: inline-block;
    width: 6rem;
    text-align: center; }

.button {
  display: inline-block;
  background: #00a9bf;
  color: white;
  text-align: center;
  color: white;
  padding: 16px 30px 16px 24px;
  text-decoration: none;
  line-height: 1;
  margin-top: 16px;
  font-size: 0.9rem; }
  .button.no_margin_top {
    margin-top: 0; }
  .button i {
    line-height: 0.6;
    font-size: 1rem;
    color: white; }
  .button:hover {
    background-color: #00edff;
    color: white; }
  .button.small {
    padding: 8px; }
  .button.news_button {
    position: absolute;
    top: 0;
    right: 7.5px;
    margin-top: 0; }
    @media screen and (max-width: 991px) {
      .button.news_button {
        width: 70px; } }
  @media screen and (max-width: 991px) {
    .button {
      margin-top: 0;
      width: 100%;
      padding: 16px 16px; } }
  .button.button_blue_border_white {
    background: white;
    border: 3px solid #00a9bf;
    color: #00a9bf; }
    .button.button_blue_border_white i {
      color: #00a9bf; }
    .button.button_blue_border_white:hover {
      background-color: #00a9bf;
      color: white; }
      .button.button_blue_border_white:hover i, .button.button_blue_border_white:hover span {
        color: white; }
  .button.button_width_100per {
    width: 100%; }

hr {
  border-top: 4px solid black;
  margin: 8px 0; }

img.width_100per_img {
  width: 100%; }

/*溝幅 20pxの場合*/
.gutter-20 {
  margin-left: -10px;
  margin-right: -10px; }

.gutter-20 > [class*='col-'] {
  padding-left: 10px;
  padding-right: 10px; }

/*溝幅 15pxの場合*/
.gutter-15 {
  margin-left: -7.5px;
  margin-right: -7.5px; }

.gutter-15 > [class*='col-'] {
  padding-left: 7.5px;
  padding-right: 7.5px; }

/*溝幅 10pxの場合*/
.gutter-10 {
  margin-left: -5px;
  margin-right: -5px; }

.gutter-10 > [class*='col-'] {
  padding-left: 5px;
  padding-right: 5px; }

/* 溝幅なし */
.no-gutter {
  margin-left: 0;
  margin-right: 0; }

.no-gutter > [class*='col-'] {
  padding-left: 0;
  padding-right: 0; }

.text_align_center {
  text-align: center; }

.text_align_right {
  text-align: right; }

.margin_bottom_high {
  margin-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_high {
      margin-bottom: 48px; } }

.margin_bottom_middle {
  margin-bottom: 40px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_middle {
      margin-bottom: 24px; } }

.sp_margin_bottom_middle {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_middle {
      margin-bottom: 24px; } }

.margin_bottom_low {
  margin-bottom: 24px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_low {
      margin-bottom: 16px; } }

.sp_margin_bottom_low {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_low {
      margin-bottom: 16px; } }

.margin_bottom_exlow {
  margin-bottom: 8px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_exlow {
      margin-bottom: 8px; } }

.margin_bottom_zero {
  margin-bottom: 0; }

.padding_top_high {
  padding-top: 72px; }
  @media screen and (max-width: 991px) {
    .padding_top_high {
      padding-top: 48px; } }

.padding_bottom_high {
  padding-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .padding_bottom_high {
      padding-bottom: 48px; } }

.pc_hidden {
  display: none; }
  @media screen and (max-width: 991px) {
    .pc_hidden {
      display: block; } }

.page_bottom_navi {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px; }

table {
  width: 100%;
  border-top: 1px solid #d8d8d8; }
  table th, table td {
    padding: 16px 0;
    border-bottom: 1px solid #d8d8d8;
    vertical-align: top;
    text-align: left; }

.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

* img {
  width: 100%; }
  * img.no_style {
    width: auto;
    border-radius: 0; }

i {
  line-height: 0.6;
  font-size: 1rem;
  vertical-align: middle; }

a {
  color: #00a9bf;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }
  a.topics_category_link {
    background: #00a9bf;
    color: white;
    text-decoration: none;
    font-weight: normal;
    padding: 4px;
    font-size: 0.85rem;
    display: inline-block;
    width: 6rem;
    text-align: center; }

.button {
  display: inline-block;
  background: #00a9bf;
  color: white;
  text-align: center;
  color: white;
  padding: 16px 30px 16px 24px;
  text-decoration: none;
  line-height: 1;
  margin-top: 16px;
  font-size: 0.9rem; }
  .button.no_margin_top {
    margin-top: 0; }
  .button i {
    line-height: 0.6;
    font-size: 1rem;
    color: white; }
  .button:hover {
    background-color: #00edff;
    color: white; }
  .button.small {
    padding: 8px; }
  .button.news_button {
    position: absolute;
    top: 0;
    right: 7.5px;
    margin-top: 0; }
    @media screen and (max-width: 991px) {
      .button.news_button {
        width: 70px; } }
  @media screen and (max-width: 991px) {
    .button {
      margin-top: 0;
      width: 100%;
      padding: 16px 16px; } }
  .button.button_blue_border_white {
    background: white;
    border: 3px solid #00a9bf;
    color: #00a9bf; }
    .button.button_blue_border_white i {
      color: #00a9bf; }
    .button.button_blue_border_white:hover {
      background-color: #00a9bf;
      color: white; }
      .button.button_blue_border_white:hover i, .button.button_blue_border_white:hover span {
        color: white; }
  .button.button_width_100per {
    width: 100%; }

hr {
  border-top: 4px solid black;
  margin: 8px 0; }

img.width_100per_img {
  width: 100%; }

/*溝幅 20pxの場合*/
.gutter-20 {
  margin-left: -10px;
  margin-right: -10px; }

.gutter-20 > [class*='col-'] {
  padding-left: 10px;
  padding-right: 10px; }

/*溝幅 15pxの場合*/
.gutter-15 {
  margin-left: -7.5px;
  margin-right: -7.5px; }

.gutter-15 > [class*='col-'] {
  padding-left: 7.5px;
  padding-right: 7.5px; }

/*溝幅 10pxの場合*/
.gutter-10 {
  margin-left: -5px;
  margin-right: -5px; }

.gutter-10 > [class*='col-'] {
  padding-left: 5px;
  padding-right: 5px; }

/* 溝幅なし */
.no-gutter {
  margin-left: 0;
  margin-right: 0; }

.no-gutter > [class*='col-'] {
  padding-left: 0;
  padding-right: 0; }

.text_align_center {
  text-align: center; }

.text_align_right {
  text-align: right; }

.margin_bottom_high {
  margin-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_high {
      margin-bottom: 48px; } }

.margin_bottom_middle {
  margin-bottom: 40px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_middle {
      margin-bottom: 24px; } }

.sp_margin_bottom_middle {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_middle {
      margin-bottom: 24px; } }

.margin_bottom_low {
  margin-bottom: 24px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_low {
      margin-bottom: 16px; } }

.sp_margin_bottom_low {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_low {
      margin-bottom: 16px; } }

.margin_bottom_exlow {
  margin-bottom: 8px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_exlow {
      margin-bottom: 8px; } }

.margin_bottom_zero {
  margin-bottom: 0; }

.padding_top_high {
  padding-top: 72px; }
  @media screen and (max-width: 991px) {
    .padding_top_high {
      padding-top: 48px; } }

.padding_bottom_high {
  padding-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .padding_bottom_high {
      padding-bottom: 48px; } }

.pc_hidden {
  display: none; }
  @media screen and (max-width: 991px) {
    .pc_hidden {
      display: block; } }

.page_bottom_navi {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px; }

table {
  width: 100%;
  border-top: 1px solid #d8d8d8; }
  table th, table td {
    padding: 16px 0;
    border-bottom: 1px solid #d8d8d8;
    vertical-align: top;
    text-align: left; }

.transition, a, a:hover img {
  transition: 300ms;
  transition-timing-function: ease-in; }

.alpha_70per, a:hover img, header .menu_toggle:hover {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7; }

.content_box, .light_gray_box, .white_box {
  width: 100%;
  padding: 32px;
  border-radius: 3px;
  position: relative; }

dl.table_cell_dl {
  display: table;
  border-bottom: 1px solid #B7B7B7;
  padding-bottom: 20px;
  padding-top: 20px;
  width: 100%;
  margin-bottom: 0; }
  dl.table_cell_dl.top {
    border-top: 3px solid #00a9bf; }
  dl.table_cell_dl dt {
    display: table-cell;
    vertical-align: middle;
    padding-right: 20px;
    width: 22%;
    font-size: 1.25rem; }
    dl.table_cell_dl dt span {
      font-size: 8px;
      padding: 3px 7px;
      border-radius: 30px;
      color: white; }
      dl.table_cell_dl dt span.any {
        background: #237EE2; }
      dl.table_cell_dl dt span.must {
        background: #DA3924; }
    dl.table_cell_dl dt.wide_dt {
      width: 29%; }
      @media screen and (max-width: 991px) {
        dl.table_cell_dl dt.wide_dt {
          width: 100%; } }
    dl.table_cell_dl dt.narrow_dt {
      width: 14%; }
      @media screen and (max-width: 991px) {
        dl.table_cell_dl dt.narrow_dt {
          width: 100%; } }
  dl.table_cell_dl dd {
    text-align: left;
    display: table-cell;
    vertical-align: middle; }
    dl.table_cell_dl dd textarea {
      width: 100%; }
  @media screen and (max-width: 991px) {
    dl.table_cell_dl {
      display: block;
      margin-bottom: 0;
      width: 100%; }
      dl.table_cell_dl dt {
        display: block;
        margin: 0 0 10px;
        width: 100%;
        padding-right: 0; }
      dl.table_cell_dl dd {
        display: block; } }
  dl.table_cell_dl.up_dashed_line {
    padding-top: 20px;
    border-top: 1px dashed #B7B7B7; }

.accordion_org dt {
  cursor: pointer;
  border: 1px solid #B7B7B7;
  padding: 4px;
  margin-bottom: 0;
  margin-top: 8px;
  font-size: 1.5rem; }
  .accordion_org dt i {
    font-size: 1.5rem;
    color: #00a9bf; }
  .accordion_org dt.open {
    background: #00a9bf;
    color: white; }
    .accordion_org dt.open i {
      color: white;
      -moz-transform: rotate(90deg);
      /* Firefox用 */
      -webkit-transform: rotate(90deg);
      /* Chrome,Safari,新しいOpera用 */
      -o-transform: rotate(90deg);
      /* 古いOpera用 */
      -ms-transform: rotate(90deg);
      /* IE9用 */
      transform: rotate(90deg); }

.accordion_org dd table {
  margin: 0;
  border-top: none; }
  .accordion_org dd table th, .accordion_org dd table td {
    padding: 8px;
    font-size: 1rem; }
  .accordion_org dd table th {
    width: 20%; }
    @media screen and (max-width: 767px) {
      .accordion_org dd table th {
        width: 30%; } }

.accordion_org dd .accordion_child {
  margin-bottom: 0; }
  .accordion_org dd .accordion_child dt {
    margin-top: 0;
    border-top: none;
    font-size: 1.25rem; }
    .accordion_org dd .accordion_child dt.belt.white {
      color: #878787; }
    .accordion_org dd .accordion_child dt.belt.blue {
      color: #007acc; }
    .accordion_org dd .accordion_child dt.belt.purple {
      color: #7947bf; }
    .accordion_org dd .accordion_child dt.belt.brown {
      color: #964a17; }
    .accordion_org dd .accordion_child dt.belt.gray {
      color: #B7B7B7; }
    .accordion_org dd .accordion_child dt.belt.yellow {
      color: #c6ae00; }
    .accordion_org dd .accordion_child dt.belt.orange {
      color: #ef6100; }
    .accordion_org dd .accordion_child dt.belt.green {
      color: #2f9300; }
    .accordion_org dd .accordion_child dt i {
      color: #333333; }
    .accordion_org dd .accordion_child dt.open.belt {
      color: white; }
      .accordion_org dd .accordion_child dt.open.belt i {
        color: white; }
      .accordion_org dd .accordion_child dt.open.belt.white {
        background: #878787; }
      .accordion_org dd .accordion_child dt.open.belt.blue {
        background: #007acc; }
      .accordion_org dd .accordion_child dt.open.belt.purple {
        background: #7947bf; }
      .accordion_org dd .accordion_child dt.open.belt.brown {
        background: #964a17; }
      .accordion_org dd .accordion_child dt.open.belt.gray {
        background: #B7B7B7; }
      .accordion_org dd .accordion_child dt.open.belt.yellow {
        background: #c6ae00; }
      .accordion_org dd .accordion_child dt.open.belt.orange {
        background: #ef6100; }
      .accordion_org dd .accordion_child dt.open.belt.green {
        background: #2f9300; }

.accordion_org dd .accordion_grandchild {
  margin-bottom: 0; }
  .accordion_org dd .accordion_grandchild dt i {
    color: #B7B7B7; }

/* タブメニュー */
#tab-menu {
  list-style: none;
  margin-left: 0; }

#tab-menu li {
  display: inline-block;
  padding: 8px 32px;
  background: #eee; }

#tab-menu li.active {
  background: #000;
  color: #fff; }

/* タブの中身 */
#tab-box {
  padding: 25px;
  border: 5px solid #000; }

#tab-box div.swiched_box {
  display: none; }

#tab-box div.swiched_box.active {
  display: block; }

.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

* img {
  width: 100%; }
  * img.no_style {
    width: auto;
    border-radius: 0; }

i {
  line-height: 0.6;
  font-size: 1rem;
  vertical-align: middle; }

a {
  color: #00a9bf;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }
  a.topics_category_link {
    background: #00a9bf;
    color: white;
    text-decoration: none;
    font-weight: normal;
    padding: 4px;
    font-size: 0.85rem;
    display: inline-block;
    width: 6rem;
    text-align: center; }

.button {
  display: inline-block;
  background: #00a9bf;
  color: white;
  text-align: center;
  color: white;
  padding: 16px 30px 16px 24px;
  text-decoration: none;
  line-height: 1;
  margin-top: 16px;
  font-size: 0.9rem; }
  .button.no_margin_top {
    margin-top: 0; }
  .button i {
    line-height: 0.6;
    font-size: 1rem;
    color: white; }
  .button:hover {
    background-color: #00edff;
    color: white; }
  .button.small {
    padding: 8px; }
  .button.news_button {
    position: absolute;
    top: 0;
    right: 7.5px;
    margin-top: 0; }
    @media screen and (max-width: 991px) {
      .button.news_button {
        width: 70px; } }
  @media screen and (max-width: 991px) {
    .button {
      margin-top: 0;
      width: 100%;
      padding: 16px 16px; } }
  .button.button_blue_border_white {
    background: white;
    border: 3px solid #00a9bf;
    color: #00a9bf; }
    .button.button_blue_border_white i {
      color: #00a9bf; }
    .button.button_blue_border_white:hover {
      background-color: #00a9bf;
      color: white; }
      .button.button_blue_border_white:hover i, .button.button_blue_border_white:hover span {
        color: white; }
  .button.button_width_100per {
    width: 100%; }

hr {
  border-top: 4px solid black;
  margin: 8px 0; }

img.width_100per_img {
  width: 100%; }

/*溝幅 20pxの場合*/
.gutter-20 {
  margin-left: -10px;
  margin-right: -10px; }

.gutter-20 > [class*='col-'] {
  padding-left: 10px;
  padding-right: 10px; }

/*溝幅 15pxの場合*/
.gutter-15 {
  margin-left: -7.5px;
  margin-right: -7.5px; }

.gutter-15 > [class*='col-'] {
  padding-left: 7.5px;
  padding-right: 7.5px; }

/*溝幅 10pxの場合*/
.gutter-10 {
  margin-left: -5px;
  margin-right: -5px; }

.gutter-10 > [class*='col-'] {
  padding-left: 5px;
  padding-right: 5px; }

/* 溝幅なし */
.no-gutter {
  margin-left: 0;
  margin-right: 0; }

.no-gutter > [class*='col-'] {
  padding-left: 0;
  padding-right: 0; }

.text_align_center {
  text-align: center; }

.text_align_right {
  text-align: right; }

.margin_bottom_high {
  margin-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_high {
      margin-bottom: 48px; } }

.margin_bottom_middle {
  margin-bottom: 40px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_middle {
      margin-bottom: 24px; } }

.sp_margin_bottom_middle {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_middle {
      margin-bottom: 24px; } }

.margin_bottom_low {
  margin-bottom: 24px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_low {
      margin-bottom: 16px; } }

.sp_margin_bottom_low {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_low {
      margin-bottom: 16px; } }

.margin_bottom_exlow {
  margin-bottom: 8px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_exlow {
      margin-bottom: 8px; } }

.margin_bottom_zero {
  margin-bottom: 0; }

.padding_top_high {
  padding-top: 72px; }
  @media screen and (max-width: 991px) {
    .padding_top_high {
      padding-top: 48px; } }

.padding_bottom_high {
  padding-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .padding_bottom_high {
      padding-bottom: 48px; } }

.pc_hidden {
  display: none; }
  @media screen and (max-width: 991px) {
    .pc_hidden {
      display: block; } }

.page_bottom_navi {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px; }

table {
  width: 100%;
  border-top: 1px solid #d8d8d8; }
  table th, table td {
    padding: 16px 0;
    border-bottom: 1px solid #d8d8d8;
    vertical-align: top;
    text-align: left; }

.top_main_visual {
  width: 100%;
  height: 600px;
  background: #ffffff;
  position: relative;
  margin-bottom: 56px;
  overflow: hidden; }
  .top_main_visual .container {
    position: relative; }
    .top_main_visual .container .main_copy_container {
      width: 100%;
      position: absolute;
      top: 0;
      left: 0;
      text-align: center;
      z-index: 2; }
      @media screen and (max-width: 767px) {
        .top_main_visual .container .main_copy_container {
          top: 40px; } }
      .top_main_visual .container .main_copy_container .main_copy {
        width: 648px;
        margin: 0 auto; }
        @media screen and (max-width: 991px) {
          .top_main_visual .container .main_copy_container .main_copy {
            height: 100%; }
            .top_main_visual .container .main_copy_container .main_copy img {
              height: 100%; } }
        @media screen and (max-width: 767px) {
          .top_main_visual .container .main_copy_container .main_copy {
            width: 100%; }
            .top_main_visual .container .main_copy_container .main_copy img {
              width: 100%; } }
  @media screen and (max-width: 991px) {
    .top_main_visual {
      margin-bottom: 30px; } }
  @media screen and (max-width: 767px) {
    .top_main_visual {
      height: 350px; } }

.swiper-container {
  width: 100%;
  height: 100%;
  z-index: 1;
  position: relative; }
  .swiper-container .swiper-wrapper {
    text-align: center; }
  .swiper-container .slider_img_box {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative; }
    .swiper-container .slider_img_box img {
      position: absolute;
      width: auto;
      height: auto;
      min-width: 100%;
      min-height: 100%;
      left: 50%;
      top: 50%;
      -webkit-transform: translate3d(-50%, -50%, 0);
      transform: translate3d(-50%, -50%, 0); }

.outline_info_box {
  border-top: 3px solid #00a9bf;
  border-bottom: 3px solid #00a9bf;
  height: 274px; }
  @media screen and (max-width: 991px) {
    .outline_info_box {
      height: auto;
      padding-bottom: 35px; } }
  @media screen and (max-width: 767px) {
    .outline_info_box {
      height: auto;
      padding-bottom: 15px;
      margin-bottom: 15px; } }
  .outline_info_box h2 {
    font-size: 27px;
    color: #333333;
    margin-bottom: 0;
    margin-top: 50px; }
    @media screen and (max-width: 991px) {
      .outline_info_box h2 {
        margin-top: 37px;
        font-size: 24px; } }
    @media screen and (max-width: 767px) {
      .outline_info_box h2 {
        margin-top: 20px; } }
  .outline_info_box table {
    border: none;
    margin: 0; }
    .outline_info_box table th, .outline_info_box table td {
      border: none;
      vertical-align: top;
      padding: 10px 0 0; }
    .outline_info_box table th {
      padding-right: 10px; }
      .outline_info_box table th span {
        background: #00a9bf;
        padding: 4px;
        color: white;
        width: 60px;
        text-align: center;
        font-size: 16px;
        font-weight: normal;
        display: block; }
    .outline_info_box table td span {
      font-size: 16px; }
    .outline_info_box table td b.date {
      font-size: 24px; }

.top_menu_btn {
  width: 100%;
  height: 262px;
  display: table;
  background-repeat: no-repeat;
  background-size: 100% auto;
  text-decoration: none; }
  .top_menu_btn:hover {
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7; }
  .top_menu_btn span {
    display: table-cell;
    vertical-align: middle;
    text-align: right;
    color: white;
    padding-right: 20px;
    font-size: 36px;
    font-weight: bold;
    line-height: 1.2; }
    @media screen and (max-width: 991px) {
      .top_menu_btn span {
        font-size: 24px; } }
  .top_menu_btn.requirements {
    background: url("../img/top/btn_01.png");
    margin-bottom: 15px; }
    @media screen and (max-width: 991px) {
      .top_menu_btn.requirements {
        height: 140px;
        margin-bottom: 10px;
        background-size: cover; } }
  .top_menu_btn.entry {
    background: url("../img/top/btn_02.png");
    margin-bottom: 15px; }
    @media screen and (max-width: 991px) {
      .top_menu_btn.entry {
        height: 140px;
        margin-bottom: 10px;
        background-size: cover; } }
  .top_menu_btn.playerlist {
    background: url("../img/top/btn_03.png");
    background-position: bottom;
    height: 131px; }
    .top_menu_btn.playerlist span {
      font-size: 24px; }
    @media screen and (max-width: 991px) {
      .top_menu_btn.playerlist {
        margin-bottom: 10px;
        background-size: auto 100%; } }
  .top_menu_btn.tournament {
    background: url("../img/top/btn_04.png");
    background-position: bottom;
    height: 131px; }
    .top_menu_btn.tournament span {
      font-size: 24px; }
    @media screen and (max-width: 991px) {
      .top_menu_btn.tournament {
        background-size: auto 100%; } }

.sponsor_item_box div {
  margin-bottom: 10px; }

.sponsor_item_box img {
  border: 1px solid #d2d2d2; }

.button_parallel li {
  float: left;
  list-style: none;
  width: 49%;
  margin-bottom: 10px; }
  .button_parallel li.right {
    float: right; }
  .button_parallel li a {
    display: block;
    text-align: center;
    width: 100%;
    margin-top: 0; }

.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

* img {
  width: 100%; }
  * img.no_style {
    width: auto;
    border-radius: 0; }

i {
  line-height: 0.6;
  font-size: 1rem;
  vertical-align: middle; }

a {
  color: #00a9bf;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }
  a.topics_category_link {
    background: #00a9bf;
    color: white;
    text-decoration: none;
    font-weight: normal;
    padding: 4px;
    font-size: 0.85rem;
    display: inline-block;
    width: 6rem;
    text-align: center; }

.button {
  display: inline-block;
  background: #00a9bf;
  color: white;
  text-align: center;
  color: white;
  padding: 16px 30px 16px 24px;
  text-decoration: none;
  line-height: 1;
  margin-top: 16px;
  font-size: 0.9rem; }
  .button.no_margin_top {
    margin-top: 0; }
  .button i {
    line-height: 0.6;
    font-size: 1rem;
    color: white; }
  .button:hover {
    background-color: #00edff;
    color: white; }
  .button.small {
    padding: 8px; }
  .button.news_button {
    position: absolute;
    top: 0;
    right: 7.5px;
    margin-top: 0; }
    @media screen and (max-width: 991px) {
      .button.news_button {
        width: 70px; } }
  @media screen and (max-width: 991px) {
    .button {
      margin-top: 0;
      width: 100%;
      padding: 16px 16px; } }
  .button.button_blue_border_white {
    background: white;
    border: 3px solid #00a9bf;
    color: #00a9bf; }
    .button.button_blue_border_white i {
      color: #00a9bf; }
    .button.button_blue_border_white:hover {
      background-color: #00a9bf;
      color: white; }
      .button.button_blue_border_white:hover i, .button.button_blue_border_white:hover span {
        color: white; }
  .button.button_width_100per {
    width: 100%; }

hr {
  border-top: 4px solid black;
  margin: 8px 0; }

img.width_100per_img {
  width: 100%; }

/*溝幅 20pxの場合*/
.gutter-20 {
  margin-left: -10px;
  margin-right: -10px; }

.gutter-20 > [class*='col-'] {
  padding-left: 10px;
  padding-right: 10px; }

/*溝幅 15pxの場合*/
.gutter-15 {
  margin-left: -7.5px;
  margin-right: -7.5px; }

.gutter-15 > [class*='col-'] {
  padding-left: 7.5px;
  padding-right: 7.5px; }

/*溝幅 10pxの場合*/
.gutter-10 {
  margin-left: -5px;
  margin-right: -5px; }

.gutter-10 > [class*='col-'] {
  padding-left: 5px;
  padding-right: 5px; }

/* 溝幅なし */
.no-gutter {
  margin-left: 0;
  margin-right: 0; }

.no-gutter > [class*='col-'] {
  padding-left: 0;
  padding-right: 0; }

.text_align_center {
  text-align: center; }

.text_align_right {
  text-align: right; }

.margin_bottom_high {
  margin-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_high {
      margin-bottom: 48px; } }

.margin_bottom_middle {
  margin-bottom: 40px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_middle {
      margin-bottom: 24px; } }

.sp_margin_bottom_middle {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_middle {
      margin-bottom: 24px; } }

.margin_bottom_low {
  margin-bottom: 24px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_low {
      margin-bottom: 16px; } }

.sp_margin_bottom_low {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_low {
      margin-bottom: 16px; } }

.margin_bottom_exlow {
  margin-bottom: 8px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_exlow {
      margin-bottom: 8px; } }

.margin_bottom_zero {
  margin-bottom: 0; }

.padding_top_high {
  padding-top: 72px; }
  @media screen and (max-width: 991px) {
    .padding_top_high {
      padding-top: 48px; } }

.padding_bottom_high {
  padding-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .padding_bottom_high {
      padding-bottom: 48px; } }

.pc_hidden {
  display: none; }
  @media screen and (max-width: 991px) {
    .pc_hidden {
      display: block; } }

.page_bottom_navi {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px; }

table {
  width: 100%;
  border-top: 1px solid #d8d8d8; }
  table th, table td {
    padding: 16px 0;
    border-bottom: 1px solid #d8d8d8;
    vertical-align: top;
    text-align: left; }

.topics_list_box {
  width: 100%;
  border-top: 2px solid #00a9bf; }
  .topics_list_box .table_cell_dl dt {
    vertical-align: text-bottom;
    font-size: 1rem; }

.side_menu {
  border-top: 2px solid #00a9bf;
  padding: 16px 0;
  border-bottom: 2px solid #00a9bf; }
  .side_menu h3 {
    margin-bottom: 8px; }
  .side_menu ul {
    margin-left: 20px; }
    .side_menu ul li {
      margin-bottom: 8px; }
      .side_menu ul li:last-child {
        margin-bottom: 0; }
  .side_menu a {
    color: #333333; }
  .side_menu div {
    margin-bottom: 16px; }
    .side_menu div:last-child {
      margin-bottom: 0; }

.topics_detail_box {
  padding-bottom: 24px;
  border-bottom: 3px solid #00a9bf; }

.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

* img {
  width: 100%; }
  * img.no_style {
    width: auto;
    border-radius: 0; }

i {
  line-height: 0.6;
  font-size: 1rem;
  vertical-align: middle; }

a {
  color: #00a9bf;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }
  a.topics_category_link {
    background: #00a9bf;
    color: white;
    text-decoration: none;
    font-weight: normal;
    padding: 4px;
    font-size: 0.85rem;
    display: inline-block;
    width: 6rem;
    text-align: center; }

.button {
  display: inline-block;
  background: #00a9bf;
  color: white;
  text-align: center;
  color: white;
  padding: 16px 30px 16px 24px;
  text-decoration: none;
  line-height: 1;
  margin-top: 16px;
  font-size: 0.9rem; }
  .button.no_margin_top {
    margin-top: 0; }
  .button i {
    line-height: 0.6;
    font-size: 1rem;
    color: white; }
  .button:hover {
    background-color: #00edff;
    color: white; }
  .button.small {
    padding: 8px; }
  .button.news_button {
    position: absolute;
    top: 0;
    right: 7.5px;
    margin-top: 0; }
    @media screen and (max-width: 991px) {
      .button.news_button {
        width: 70px; } }
  @media screen and (max-width: 991px) {
    .button {
      margin-top: 0;
      width: 100%;
      padding: 16px 16px; } }
  .button.button_blue_border_white {
    background: white;
    border: 3px solid #00a9bf;
    color: #00a9bf; }
    .button.button_blue_border_white i {
      color: #00a9bf; }
    .button.button_blue_border_white:hover {
      background-color: #00a9bf;
      color: white; }
      .button.button_blue_border_white:hover i, .button.button_blue_border_white:hover span {
        color: white; }
  .button.button_width_100per {
    width: 100%; }

hr {
  border-top: 4px solid black;
  margin: 8px 0; }

img.width_100per_img {
  width: 100%; }

/*溝幅 20pxの場合*/
.gutter-20 {
  margin-left: -10px;
  margin-right: -10px; }

.gutter-20 > [class*='col-'] {
  padding-left: 10px;
  padding-right: 10px; }

/*溝幅 15pxの場合*/
.gutter-15 {
  margin-left: -7.5px;
  margin-right: -7.5px; }

.gutter-15 > [class*='col-'] {
  padding-left: 7.5px;
  padding-right: 7.5px; }

/*溝幅 10pxの場合*/
.gutter-10 {
  margin-left: -5px;
  margin-right: -5px; }

.gutter-10 > [class*='col-'] {
  padding-left: 5px;
  padding-right: 5px; }

/* 溝幅なし */
.no-gutter {
  margin-left: 0;
  margin-right: 0; }

.no-gutter > [class*='col-'] {
  padding-left: 0;
  padding-right: 0; }

.text_align_center {
  text-align: center; }

.text_align_right {
  text-align: right; }

.margin_bottom_high {
  margin-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_high {
      margin-bottom: 48px; } }

.margin_bottom_middle {
  margin-bottom: 40px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_middle {
      margin-bottom: 24px; } }

.sp_margin_bottom_middle {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_middle {
      margin-bottom: 24px; } }

.margin_bottom_low {
  margin-bottom: 24px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_low {
      margin-bottom: 16px; } }

.sp_margin_bottom_low {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_low {
      margin-bottom: 16px; } }

.margin_bottom_exlow {
  margin-bottom: 8px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_exlow {
      margin-bottom: 8px; } }

.margin_bottom_zero {
  margin-bottom: 0; }

.padding_top_high {
  padding-top: 72px; }
  @media screen and (max-width: 991px) {
    .padding_top_high {
      padding-top: 48px; } }

.padding_bottom_high {
  padding-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .padding_bottom_high {
      padding-bottom: 48px; } }

.pc_hidden {
  display: none; }
  @media screen and (max-width: 991px) {
    .pc_hidden {
      display: block; } }

.page_bottom_navi {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px; }

table {
  width: 100%;
  border-top: 1px solid #d8d8d8; }
  table th, table td {
    padding: 16px 0;
    border-bottom: 1px solid #d8d8d8;
    vertical-align: top;
    text-align: left; }

.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

* img {
  width: 100%; }
  * img.no_style {
    width: auto;
    border-radius: 0; }

i {
  line-height: 0.6;
  font-size: 1rem;
  vertical-align: middle; }

a {
  color: #00a9bf;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }
  a.topics_category_link {
    background: #00a9bf;
    color: white;
    text-decoration: none;
    font-weight: normal;
    padding: 4px;
    font-size: 0.85rem;
    display: inline-block;
    width: 6rem;
    text-align: center; }

.button {
  display: inline-block;
  background: #00a9bf;
  color: white;
  text-align: center;
  color: white;
  padding: 16px 30px 16px 24px;
  text-decoration: none;
  line-height: 1;
  margin-top: 16px;
  font-size: 0.9rem; }
  .button.no_margin_top {
    margin-top: 0; }
  .button i {
    line-height: 0.6;
    font-size: 1rem;
    color: white; }
  .button:hover {
    background-color: #00edff;
    color: white; }
  .button.small {
    padding: 8px; }
  .button.news_button {
    position: absolute;
    top: 0;
    right: 7.5px;
    margin-top: 0; }
    @media screen and (max-width: 991px) {
      .button.news_button {
        width: 70px; } }
  @media screen and (max-width: 991px) {
    .button {
      margin-top: 0;
      width: 100%;
      padding: 16px 16px; } }
  .button.button_blue_border_white {
    background: white;
    border: 3px solid #00a9bf;
    color: #00a9bf; }
    .button.button_blue_border_white i {
      color: #00a9bf; }
    .button.button_blue_border_white:hover {
      background-color: #00a9bf;
      color: white; }
      .button.button_blue_border_white:hover i, .button.button_blue_border_white:hover span {
        color: white; }
  .button.button_width_100per {
    width: 100%; }

hr {
  border-top: 4px solid black;
  margin: 8px 0; }

img.width_100per_img {
  width: 100%; }

/*溝幅 20pxの場合*/
.gutter-20 {
  margin-left: -10px;
  margin-right: -10px; }

.gutter-20 > [class*='col-'] {
  padding-left: 10px;
  padding-right: 10px; }

/*溝幅 15pxの場合*/
.gutter-15 {
  margin-left: -7.5px;
  margin-right: -7.5px; }

.gutter-15 > [class*='col-'] {
  padding-left: 7.5px;
  padding-right: 7.5px; }

/*溝幅 10pxの場合*/
.gutter-10 {
  margin-left: -5px;
  margin-right: -5px; }

.gutter-10 > [class*='col-'] {
  padding-left: 5px;
  padding-right: 5px; }

/* 溝幅なし */
.no-gutter {
  margin-left: 0;
  margin-right: 0; }

.no-gutter > [class*='col-'] {
  padding-left: 0;
  padding-right: 0; }

.text_align_center {
  text-align: center; }

.text_align_right {
  text-align: right; }

.margin_bottom_high {
  margin-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_high {
      margin-bottom: 48px; } }

.margin_bottom_middle {
  margin-bottom: 40px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_middle {
      margin-bottom: 24px; } }

.sp_margin_bottom_middle {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_middle {
      margin-bottom: 24px; } }

.margin_bottom_low {
  margin-bottom: 24px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_low {
      margin-bottom: 16px; } }

.sp_margin_bottom_low {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_low {
      margin-bottom: 16px; } }

.margin_bottom_exlow {
  margin-bottom: 8px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_exlow {
      margin-bottom: 8px; } }

.margin_bottom_zero {
  margin-bottom: 0; }

.padding_top_high {
  padding-top: 72px; }
  @media screen and (max-width: 991px) {
    .padding_top_high {
      padding-top: 48px; } }

.padding_bottom_high {
  padding-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .padding_bottom_high {
      padding-bottom: 48px; } }

.pc_hidden {
  display: none; }
  @media screen and (max-width: 991px) {
    .pc_hidden {
      display: block; } }

.page_bottom_navi {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px; }

table {
  width: 100%;
  border-top: 1px solid #d8d8d8; }
  table th, table td {
    padding: 16px 0;
    border-bottom: 1px solid #d8d8d8;
    vertical-align: top;
    text-align: left; }

.transition, a, a:hover img {
  transition: 300ms;
  transition-timing-function: ease-in; }

.alpha_70per, a:hover img, header .menu_toggle:hover {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7; }

.content_box, .light_gray_box, .white_box {
  width: 100%;
  padding: 32px;
  border-radius: 3px;
  position: relative; }

dl.table_cell_dl {
  display: table;
  border-bottom: 1px solid #B7B7B7;
  padding-bottom: 20px;
  padding-top: 20px;
  width: 100%;
  margin-bottom: 0; }
  dl.table_cell_dl.top {
    border-top: 3px solid #00a9bf; }
  dl.table_cell_dl dt {
    display: table-cell;
    vertical-align: middle;
    padding-right: 20px;
    width: 22%;
    font-size: 1.25rem; }
    dl.table_cell_dl dt span {
      font-size: 8px;
      padding: 3px 7px;
      border-radius: 30px;
      color: white; }
      dl.table_cell_dl dt span.any {
        background: #237EE2; }
      dl.table_cell_dl dt span.must {
        background: #DA3924; }
    dl.table_cell_dl dt.wide_dt {
      width: 29%; }
      @media screen and (max-width: 991px) {
        dl.table_cell_dl dt.wide_dt {
          width: 100%; } }
    dl.table_cell_dl dt.narrow_dt {
      width: 14%; }
      @media screen and (max-width: 991px) {
        dl.table_cell_dl dt.narrow_dt {
          width: 100%; } }
  dl.table_cell_dl dd {
    text-align: left;
    display: table-cell;
    vertical-align: middle; }
    dl.table_cell_dl dd textarea {
      width: 100%; }
  @media screen and (max-width: 991px) {
    dl.table_cell_dl {
      display: block;
      margin-bottom: 0;
      width: 100%; }
      dl.table_cell_dl dt {
        display: block;
        margin: 0 0 10px;
        width: 100%;
        padding-right: 0; }
      dl.table_cell_dl dd {
        display: block; } }
  dl.table_cell_dl.up_dashed_line {
    padding-top: 20px;
    border-top: 1px dashed #B7B7B7; }

.player_list_box h3 {
  border-bottom: #B7B7B7 3px solid;
  padding-bottom: 16px;
  margin-bottom: 32px; }

.player_list_box dl dt {
  font-size: 1.5rem;
  color: #00a9bf; }

.player_list_box table {
  border-left: none;
  margin-bottom: 32px; }
  .player_list_box table th, .player_list_box table td {
    padding: 8px; }
  .player_list_box table th {
    padding-right: 8px;
    padding-left: 0; }
  .player_list_box table td {
    border-right: none; }

.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

* img {
  width: 100%; }
  * img.no_style {
    width: auto;
    border-radius: 0; }

i {
  line-height: 0.6;
  font-size: 1rem;
  vertical-align: middle; }

a {
  color: #00a9bf;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }
  a.topics_category_link {
    background: #00a9bf;
    color: white;
    text-decoration: none;
    font-weight: normal;
    padding: 4px;
    font-size: 0.85rem;
    display: inline-block;
    width: 6rem;
    text-align: center; }

.button {
  display: inline-block;
  background: #00a9bf;
  color: white;
  text-align: center;
  color: white;
  padding: 16px 30px 16px 24px;
  text-decoration: none;
  line-height: 1;
  margin-top: 16px;
  font-size: 0.9rem; }
  .button.no_margin_top {
    margin-top: 0; }
  .button i {
    line-height: 0.6;
    font-size: 1rem;
    color: white; }
  .button:hover {
    background-color: #00edff;
    color: white; }
  .button.small {
    padding: 8px; }
  .button.news_button {
    position: absolute;
    top: 0;
    right: 7.5px;
    margin-top: 0; }
    @media screen and (max-width: 991px) {
      .button.news_button {
        width: 70px; } }
  @media screen and (max-width: 991px) {
    .button {
      margin-top: 0;
      width: 100%;
      padding: 16px 16px; } }
  .button.button_blue_border_white {
    background: white;
    border: 3px solid #00a9bf;
    color: #00a9bf; }
    .button.button_blue_border_white i {
      color: #00a9bf; }
    .button.button_blue_border_white:hover {
      background-color: #00a9bf;
      color: white; }
      .button.button_blue_border_white:hover i, .button.button_blue_border_white:hover span {
        color: white; }
  .button.button_width_100per {
    width: 100%; }

hr {
  border-top: 4px solid black;
  margin: 8px 0; }

img.width_100per_img {
  width: 100%; }

/*溝幅 20pxの場合*/
.gutter-20 {
  margin-left: -10px;
  margin-right: -10px; }

.gutter-20 > [class*='col-'] {
  padding-left: 10px;
  padding-right: 10px; }

/*溝幅 15pxの場合*/
.gutter-15 {
  margin-left: -7.5px;
  margin-right: -7.5px; }

.gutter-15 > [class*='col-'] {
  padding-left: 7.5px;
  padding-right: 7.5px; }

/*溝幅 10pxの場合*/
.gutter-10 {
  margin-left: -5px;
  margin-right: -5px; }

.gutter-10 > [class*='col-'] {
  padding-left: 5px;
  padding-right: 5px; }

/* 溝幅なし */
.no-gutter {
  margin-left: 0;
  margin-right: 0; }

.no-gutter > [class*='col-'] {
  padding-left: 0;
  padding-right: 0; }

.text_align_center {
  text-align: center; }

.text_align_right {
  text-align: right; }

.margin_bottom_high {
  margin-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_high {
      margin-bottom: 48px; } }

.margin_bottom_middle {
  margin-bottom: 40px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_middle {
      margin-bottom: 24px; } }

.sp_margin_bottom_middle {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_middle {
      margin-bottom: 24px; } }

.margin_bottom_low {
  margin-bottom: 24px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_low {
      margin-bottom: 16px; } }

.sp_margin_bottom_low {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_low {
      margin-bottom: 16px; } }

.margin_bottom_exlow {
  margin-bottom: 8px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_exlow {
      margin-bottom: 8px; } }

.margin_bottom_zero {
  margin-bottom: 0; }

.padding_top_high {
  padding-top: 72px; }
  @media screen and (max-width: 991px) {
    .padding_top_high {
      padding-top: 48px; } }

.padding_bottom_high {
  padding-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .padding_bottom_high {
      padding-bottom: 48px; } }

.pc_hidden {
  display: none; }
  @media screen and (max-width: 991px) {
    .pc_hidden {
      display: block; } }

.page_bottom_navi {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px; }

table {
  width: 100%;
  border-top: 1px solid #d8d8d8; }
  table th, table td {
    padding: 16px 0;
    border-bottom: 1px solid #d8d8d8;
    vertical-align: top;
    text-align: left; }

.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

* img {
  width: 100%; }
  * img.no_style {
    width: auto;
    border-radius: 0; }

i {
  line-height: 0.6;
  font-size: 1rem;
  vertical-align: middle; }

a {
  color: #00a9bf;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }
  a.topics_category_link {
    background: #00a9bf;
    color: white;
    text-decoration: none;
    font-weight: normal;
    padding: 4px;
    font-size: 0.85rem;
    display: inline-block;
    width: 6rem;
    text-align: center; }

.button {
  display: inline-block;
  background: #00a9bf;
  color: white;
  text-align: center;
  color: white;
  padding: 16px 30px 16px 24px;
  text-decoration: none;
  line-height: 1;
  margin-top: 16px;
  font-size: 0.9rem; }
  .button.no_margin_top {
    margin-top: 0; }
  .button i {
    line-height: 0.6;
    font-size: 1rem;
    color: white; }
  .button:hover {
    background-color: #00edff;
    color: white; }
  .button.small {
    padding: 8px; }
  .button.news_button {
    position: absolute;
    top: 0;
    right: 7.5px;
    margin-top: 0; }
    @media screen and (max-width: 991px) {
      .button.news_button {
        width: 70px; } }
  @media screen and (max-width: 991px) {
    .button {
      margin-top: 0;
      width: 100%;
      padding: 16px 16px; } }
  .button.button_blue_border_white {
    background: white;
    border: 3px solid #00a9bf;
    color: #00a9bf; }
    .button.button_blue_border_white i {
      color: #00a9bf; }
    .button.button_blue_border_white:hover {
      background-color: #00a9bf;
      color: white; }
      .button.button_blue_border_white:hover i, .button.button_blue_border_white:hover span {
        color: white; }
  .button.button_width_100per {
    width: 100%; }

hr {
  border-top: 4px solid black;
  margin: 8px 0; }

img.width_100per_img {
  width: 100%; }

/*溝幅 20pxの場合*/
.gutter-20 {
  margin-left: -10px;
  margin-right: -10px; }

.gutter-20 > [class*='col-'] {
  padding-left: 10px;
  padding-right: 10px; }

/*溝幅 15pxの場合*/
.gutter-15 {
  margin-left: -7.5px;
  margin-right: -7.5px; }

.gutter-15 > [class*='col-'] {
  padding-left: 7.5px;
  padding-right: 7.5px; }

/*溝幅 10pxの場合*/
.gutter-10 {
  margin-left: -5px;
  margin-right: -5px; }

.gutter-10 > [class*='col-'] {
  padding-left: 5px;
  padding-right: 5px; }

/* 溝幅なし */
.no-gutter {
  margin-left: 0;
  margin-right: 0; }

.no-gutter > [class*='col-'] {
  padding-left: 0;
  padding-right: 0; }

.text_align_center {
  text-align: center; }

.text_align_right {
  text-align: right; }

.margin_bottom_high {
  margin-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_high {
      margin-bottom: 48px; } }

.margin_bottom_middle {
  margin-bottom: 40px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_middle {
      margin-bottom: 24px; } }

.sp_margin_bottom_middle {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_middle {
      margin-bottom: 24px; } }

.margin_bottom_low {
  margin-bottom: 24px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_low {
      margin-bottom: 16px; } }

.sp_margin_bottom_low {
  margin-bottom: 0; }
  @media screen and (max-width: 991px) {
    .sp_margin_bottom_low {
      margin-bottom: 16px; } }

.margin_bottom_exlow {
  margin-bottom: 8px; }
  @media screen and (max-width: 991px) {
    .margin_bottom_exlow {
      margin-bottom: 8px; } }

.margin_bottom_zero {
  margin-bottom: 0; }

.padding_top_high {
  padding-top: 72px; }
  @media screen and (max-width: 991px) {
    .padding_top_high {
      padding-top: 48px; } }

.padding_bottom_high {
  padding-bottom: 72px; }
  @media screen and (max-width: 991px) {
    .padding_bottom_high {
      padding-bottom: 48px; } }

.pc_hidden {
  display: none; }
  @media screen and (max-width: 991px) {
    .pc_hidden {
      display: block; } }

.page_bottom_navi {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px; }

table {
  width: 100%;
  border-top: 1px solid #d8d8d8; }
  table th, table td {
    padding: 16px 0;
    border-bottom: 1px solid #d8d8d8;
    vertical-align: top;
    text-align: left; }

.transition, a, a:hover img {
  transition: 300ms;
  transition-timing-function: ease-in; }

.alpha_70per, a:hover img, header .menu_toggle:hover {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7; }

.content_box, .light_gray_box, .white_box {
  width: 100%;
  padding: 32px;
  border-radius: 3px;
  position: relative; }

dl.table_cell_dl {
  display: table;
  border-bottom: 1px solid #B7B7B7;
  padding-bottom: 20px;
  padding-top: 20px;
  width: 100%;
  margin-bottom: 0; }
  dl.table_cell_dl.top {
    border-top: 3px solid #00a9bf; }
  dl.table_cell_dl dt {
    display: table-cell;
    vertical-align: middle;
    padding-right: 20px;
    width: 22%;
    font-size: 1.25rem; }
    dl.table_cell_dl dt span {
      font-size: 8px;
      padding: 3px 7px;
      border-radius: 30px;
      color: white; }
      dl.table_cell_dl dt span.any {
        background: #237EE2; }
      dl.table_cell_dl dt span.must {
        background: #DA3924; }
    dl.table_cell_dl dt.wide_dt {
      width: 29%; }
      @media screen and (max-width: 991px) {
        dl.table_cell_dl dt.wide_dt {
          width: 100%; } }
    dl.table_cell_dl dt.narrow_dt {
      width: 14%; }
      @media screen and (max-width: 991px) {
        dl.table_cell_dl dt.narrow_dt {
          width: 100%; } }
  dl.table_cell_dl dd {
    text-align: left;
    display: table-cell;
    vertical-align: middle; }
    dl.table_cell_dl dd textarea {
      width: 100%; }
  @media screen and (max-width: 991px) {
    dl.table_cell_dl {
      display: block;
      margin-bottom: 0;
      width: 100%; }
      dl.table_cell_dl dt {
        display: block;
        margin: 0 0 10px;
        width: 100%;
        padding-right: 0; }
      dl.table_cell_dl dd {
        display: block; } }
  dl.table_cell_dl.up_dashed_line {
    padding-top: 20px;
    border-top: 1px dashed #B7B7B7; }

.tornament_category_list {
  margin-left: 0;
  margin-bottom: 0; }
  .tornament_category_list li {
    list-style: none;
    border-right: 1px solid #d8d8d8;
    border-bottom: 1px solid #d8d8d8;
    border-left: 1px solid #d8d8d8; }
    .tornament_category_list li a {
      text-decoration: none;
      padding: 5px;
      display: block; }
      .tornament_category_list li a i {
        color: inherit; }
      .tornament_category_list li a.belt_color_white {
        color: #878787; }
        .tornament_category_list li a.belt_color_white:hover {
          color: white;
          background: #878787; }
      .tornament_category_list li a.belt_color_blue {
        color: #007acc; }
        .tornament_category_list li a.belt_color_blue:hover {
          background: #007acc;
          color: white; }
      .tornament_category_list li a.belt_color_purple {
        color: #7947bf; }
        .tornament_category_list li a.belt_color_purple:hover {
          background: #7947bf;
          color: white; }
      .tornament_category_list li a.belt_color_brown {
        color: #964a17; }
        .tornament_category_list li a.belt_color_brown:hover {
          background: #964a17;
          color: white; }
      .tornament_category_list li a.belt_color_black {
        color: #333333; }
        .tornament_category_list li a.belt_color_black:hover {
          background: #333333;
          color: white; }
      .tornament_category_list li a.belt_color_yellow {
        color: #c6ae00; }
        .tornament_category_list li a.belt_color_yellow:hover {
          background: #c6ae00;
          color: white; }
      .tornament_category_list li a.belt_color_orange {
        color: #ef6100; }
        .tornament_category_list li a.belt_color_orange:hover {
          background: #ef6100;
          color: white; }
      .tornament_category_list li a.belt_color_green {
        color: #2f9300; }
        .tornament_category_list li a.belt_color_green:hover {
          background: #2f9300;
          color: white; }
      .tornament_category_list li a.belt_color_gray {
        color: #B7B7B7; }
        .tornament_category_list li a.belt_color_gray:hover {
          background: #B7B7B7;
          color: white; }
