@charset "UTF-8";
/* ===================================================================
  common.css
=================================================================== */
/* CSS Document */
/* 画像サイズ調整 ---------------------------------------------------------------------------*/
/* フォントサイズ調整 ---------------------------------------------------------------------------*/
/* ブレークポイント ---------------------------------------------------------------------------*/
/*----------------------------------------------------
  共通
----------------------------------------------------*/
html {
  font-size: 10px;
}

body,
td,
th,
input,
span,
textarea {
  color: #000000;
  font-family: 'Yu Gothic', '游ゴシック', YuGothic, '游ゴシック体','ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, Tahoma, Verdana, Arial, Verdana, sans-serif;
  font-size: 1.3rem;
  line-height: 1.5;
}

body {
  overflow-wrap: break-word;
}

a,
a:link,
a:visited,
a:active,
a:hover,
a:hover img {
  color: #000000;
  text-decoration: underline;
  /*
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
  opacity: .80;
*/
}

a:hover {
  text-decoration: none;
}

a:hover,
a:hover img,
.img_hover:hover {
  /*
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
  opacity: .80;
*/
}

img {
  vertical-align: bottom;
}

.img_ck {
  font-size: 0.1rem;
  line-height: 0;
}

/* clearfix (micro) */
.clearfix:before,
.clearfix:after {
  content: ' ';
  display: table;
}

.clearfix:after {
  clear: both;
}

/* For IE 6/7 only */
.clearfix {
  *zoom: 1;
}

div,
p {
  /*word-break: break-all;*/
}

h2,
h3,
h4,
h5,
h6,
div,
p,
ul,
ol,
li,
dl,
dt,
dd,
img,
nav {
  margin: 0;
  padding: 0;
}

ul,
ol,
li {
  list-style: none;
}

/*---------------------------------------------------------------------------*/
/* CMS用 */
.file {
  border-top: 1px dotted #cccccc;
  margin: 15px 0;
  padding: 10px 0 0;
  text-align: left;
}

.file .pdf {
  background: url(../images/cms/pdf.png) left center no-repeat;
  line-height: 37px;
  padding: 4px 0 0 40px;
}

.file .ppt {
  background: url(../images/cms/ppt.png) left center no-repeat;
  line-height: 37px;
  padding: 4px 0 0 40px;
}

.file .xls,
.file .xlsx {
  background: url(../images/cms/xls.png) left center no-repeat;
  line-height: 37px;
  padding: 4px 0 0 40px;
}

.file .doc,
.file .docx {
  background: url(../images/cms/doc.png) left center no-repeat;
  line-height: 37px;
  padding: 4px 0 0 40px;
}

.top-right {
  float: right;
  margin: 0px 0px 30px 30px;
}

.top-left {
  float: left;
  margin: 0px 30px 30px 0px;
}

.top-center {
  margin: 0px 0px 30px 0px;
  text-align: center;
}

.bottom-right {
  float: right;
  margin: 30px 0px 0px 30px;
}

.bottom-left {
  float: left;
  margin: 30px 30px 0px 0px;
}

.bottom-center {
  margin: 30px 0px 0px 0px;
  text-align: center;
}

.entry-container b {
  font-weight: bold;
}

.entry-container i {
  font-style: italic;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-justify {
  text-align: justify;
}

/*---------------------------------------------------------------------------*/
@media screen and (min-width: 769px), print {
  /* ===================================================================
  common_pc.css
=================================================================== */
  /*---------------------------------------------------------------------------*/
  .sp {
    display: none !important;
  }
  .contents {
    margin: 0 auto;
    min-width: 1100px;
    width: 1100px;
  }
  /*---------------------------------------------------------------------------*/
  header {
    min-width: 1100px;
    width: 100%;
    z-index: 1;
    position: relative;
  }
  header .upper_area {
    height: 90px;
    margin: 0 auto;
    width: 1100px;
  }
  header .upper_area .team_links {
    float: left;
    margin-top: 20px;
  }
  header .upper_area .team_links > a.logo_j3 {
    background: url(../images/sprite/j3_logo.png) no-repeat;
    background-position: 0 -136px;
    display: inline-block;
    height: 68px;
    overflow: hidden;
    text-indent: 100%;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    white-space: nowrap;
    vertical-align: middle;
    width: 64px;
  }
  header .upper_area .team_links > a.logo_j3:hover {
    opacity: 0.8;
  }
  header .upper_area .team_links ul {
    display: inline-block;
    font-size: 0;
    vertical-align: middle;
    width: 295px;
  }
  header .upper_area .team_links ul li {
    display: inline-block;
    width: 25px;
    height: 25px;
  }
  header .upper_area .team_links ul li + li {
    margin-left: 8px;
  }
  header .upper_area .team_links ul li + li:nth-of-type(10) {
    margin-left: 0;
  }
  header .upper_area .team_links ul li a {
    background: url(../images/sprite/icon_club_out.png) no-repeat;
    display: block;
    height: 100%;
    overflow: hidden;
    text-indent: 100%;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    width: 100%;
    white-space: nowrap;
  }
  header .upper_area .team_links ul li a:hover {
    background: url(../images/sprite/icon_club_hover.png) no-repeat;
  }
  header .upper_area .team_links ul li a.embGrm,
  header .upper_area .team_links ul li a:hover.embGrm {
    background-position: -75px 0px;
  }
  header .upper_area .team_links ul li a.embBla,
  header .upper_area .team_links ul li a:hover.embBla {
    background-position: -50px 0px;
  }
  header .upper_area .team_links ul li a.embS,
  header .upper_area .team_links ul li a:hover.embS {
    background-position: -150px 0px;
  }
  header .upper_area .team_links ul li a.embToc,
  header .upper_area .team_links ul li a:hover.embToc {
    background-position: -25px -25px;
  }
  header .upper_area .team_links ul li a.embYsc,
  header .upper_area .team_links ul li a:hover.embYsc {
    background-position: -125px -50px;
  }
  header .upper_area .team_links ul li a.embSgm,
  header .upper_area .team_links ul li a:hover.embSgm {
    background-position: -150px -50px;
  }
  header .upper_area .team_links ul li a.embNgp,
  header .upper_area .team_links ul li a:hover.embNgp {
    background-position: -25px -75px;
  }
  header .upper_area .team_links ul li a.embKat,
  header .upper_area .team_links ul li a:hover.embKat {
    background-position: -100px -75px;
  }
  header .upper_area .team_links ul li a.embFmy,
  header .upper_area .team_links ul li a:hover.embFmy {
    background-position: 0px -100px;
  }
  header .upper_area .team_links ul li a.embAzu,
  header .upper_area .team_links ul li a:hover.embAzu {
    background-position: -50px -175px;
  }
  header .upper_area .team_links ul li a.embGat,
  header .upper_area .team_links ul li a:hover.embGat {
    background-position: -175px -100px;
  }
  header .upper_area .team_links ul li a.embGkk,
  header .upper_area .team_links ul li a:hover.embGkk {
    background-position: -150px -125px;
  }
  header .upper_area .team_links ul li a.embKAGOSHIMA,
  header .upper_area .team_links ul li a:hover.embKAGOSHIMA {
    background-position: -75px 0px;
  }
  header .upper_area .team_links ul li a.embFcr,
  header .upper_area .team_links ul li a:hover.embFcr {
    background-position: -75px -150px;
  }
  header .upper_area .team_links ul li a.embFctokyo23,
  header .upper_area .team_links ul li a:hover.embFctokyo23 {
    background-position: 0 -175px;
  }
  header .upper_area .team_links ul li a.embGosaka23,
  header .upper_area .team_links ul li a:hover.embGosaka23 {
    background-position: -175px -150px;
  }
  header .upper_area .team_links ul li a.embCosaka23,
  header .upper_area .team_links ul li a:hover.embCosaka23 {
    background-position: -25px -175px;
  }
  header .upper_area .link_bnr {
    float: right;
    margin-top: 24px;
  }
  header .upper_area .link_bnr ul {
    font-size: 0;
  }
  header .upper_area .link_bnr ul li {
    display: inline-block;
  }
  header .upper_area .link_bnr ul li a {
    background: url(/common/images/sprite/sprite_bnr.png) no-repeat;
    display: block;
    height: 100%;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    width: 100%;
  }
  header .upper_area .link_bnr ul li a:hover {
    opacity: 0.8;
  }
  header .upper_area .link_bnr ul li:first-of-type {
    height: 54px;
    width: 216px;
  }
  header .upper_area .link_bnr ul li:first-of-type a {
    background-position: -565px -467px;
  }
  header .upper_area .link_bnr ul li:nth-of-type(2) {
    margin-left: 14px;
    height: 54px;
    width: 216px;
  }
  header .upper_area .link_bnr ul li:nth-of-type(2) a {
    background-position: -565px -392px;
  }
  header .nav {
    width: 100%;
  }
  header .nav nav {
    padding-top: 56px;
    position: relative;
  }
  header .nav nav ul {
    font-size: 0;
  }
  header .nav nav ul li {
    display: inline-block;
  }
  header .nav nav .menu {
    background-color: #ffea00;
  }
  header .nav nav .menu .title_area {
    bottom: -6px;
    left: 50%;
    margin: 0;
    margin-left: -545px;
    position: absolute;
    z-index: 1;
  }
  header .nav nav .menu .title_area h1 a {
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
  }
  header .nav nav .menu .title_area h1 a:hover {
    opacity: 0.8;
  }
  header .nav nav .menu > ul {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    margin: 0 auto;
    padding-left: 134px;
    position: relative;
    width: 1100px;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li > a {
    display: block;
    padding: 30px 12px 26px;
    text-decoration: none;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li > a:hover {
    background-color: #fff476;
    position: relative;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li > a:hover:before {
    background: url(/common/images/header_menu_hover01.png) no-repeat left top;
    display: block;
    content: "";
    height: 102px;
    left: -5px;
    position: absolute;
    top: 0;
    width: 10px;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li > a:hover:after {
    background: url(/common/images/header_menu_hover02.png) no-repeat right top;
    display: block;
    content: "";
    height: 102px;
    right: -5px;
    position: absolute;
    top: 0;
    width: 10px;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li > a p {
    font-size: 1.4rem;
    font-weight: bold;
    margin-top: 4px;
    text-align: center;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li .menu_inner {
    background-color: #00285a;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    display: none;
    height: 160px;
    left: 0px;
    padding: 10px 20px;
    position: absolute;
    top: 104px;
    width: 1100px;
    z-index: 2;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li .menu_inner ul {
    width: 780px;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li .menu_inner ul li {
    height: 26px;
    width: 178px;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li .menu_inner ul li a {
    background-color: #e5e5e5;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    color: #00285a;
    display: block;
    padding: 4px 0;
    font-size: 14px;
    position: relative;
    padding-left: 10px;
    text-decoration: none;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    width: 100%;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li .menu_inner ul li a:after {
    background: url(/common/images/sprite/sprite_arrow.png) no-repeat;
    background-position: -104px -78px;
    content: "";
    display: block;
    height: 12px;
    top: 8px;
    position: absolute;
    right: 8px;
    width: 7px;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li .menu_inner ul li a:hover {
    background-color: #ffea00;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li .menu_inner ul li:nth-child(n+5) {
    margin-top: 8px;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li .menu_inner ul li + li {
    margin-left: 10px;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li .menu_inner ul li + li:nth-child(4n+1) {
    margin-left: 0;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li .menu_inner ul li.long {
    width: 238px;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li .menu_inner_img {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li .menu_inner_img img {
    height: 160px;
    width: 320px;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li .menu_inner_img.cheers_img img {
    width: 240px;
  }
  header .nav nav .external_link {
    background-color: #00285a;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    height: 56px;
    padding-top: 10px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 0;
  }
  header .nav nav .external_link .link_inner {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    margin: 0 auto;
    padding-left: 152px;
    width: 1100px;
    position: relative;
  }
  header .nav nav .external_link .link_inner a {
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
  }
  header .nav nav .external_link .link_inner a:hover {
    opacity: 0.8;
  }
  header .nav nav .external_link .link_inner a.logo_team_chr {
    background: url(/common/images/sprite/sprite_team_logo.png) no-repeat;
    background-position: 0px -103px;
    display: inline-block;
    height: 39px;
    overflow: hidden;
    text-indent: 100%;
    vertical-align: middle;
    width: 139px;
    white-space: nowrap;
  }
  header .nav nav .external_link .link_inner ul {
    font-size: 0;
    display: inline-block;
    margin-left: 3px;
    vertical-align: middle;
  }
  header .nav nav .external_link .link_inner ul li {
    display: inline-block;
    margin-left: 8px;
  }
  header .nav nav .external_link .link_inner ul li a {
    display: block;
    padding: 4px 10px;
    text-decoration: none;
  }
  header .nav nav .external_link .link_inner ul li a span {
    color: #FFF;
    font-size: 1.4rem;
    font-weight: bold;
    vertical-align: middle;
  }
  header .nav nav .external_link .link_inner ul li a span:first-of-type {
    background: url(/common/images/sprite/sprite_icon.png) no-repeat;
    display: inline-block;
    height: 26px;
    margin-right: 4px;
    overflow: hidden;
    text-indent: 100%;
    text-decoration: none;
    white-space: nowrap;
    width: 30px;
  }
  header .nav nav .external_link .link_inner ul li a span:first-of-type.icon_fc {
    background: url(/common/images/header_icon_fc.png) no-repeat center;
    -moz-background-size: 26px auto;
         background-size: 26px auto;
    width: 26px;
    height: 30px;
  }
  header .nav nav .external_link .link_inner ul li a span.ticket {
    background-position: 0px -94px;
  }
  header .nav nav .external_link .link_inner ul li a span.goods {
    background-position: -50px -94px;
  }
  header .nav nav .external_link .link_inner ul li a span.partner {
    background-position: -100px -94px;
  }
  header .nav nav .external_link .link_inner ul li a span.hometown {
    background-position: -153px 0px;
  }
  header .nav nav .external_link .link_inner ul:first-of-type li + li {
    position: relative;
  }
  header .nav nav .external_link .link_inner ul:first-of-type li + li:before {
    background: url(/common/images/deco_slash.png) no-repeat;
    content: "";
    display: block;
    height: 30px;
    position: absolute;
    left: -10px;
    width: 11px;
  }
  header .nav nav .external_link .link_inner ul:nth-of-type(2) li {
    margin-left: 0px;
  }
  header .nav nav .external_link .link_inner ul:nth-of-type(2) li a {
    padding: 0;
  }
  header .nav nav .external_link .link_inner ul:nth-of-type(2) li a span {
    height: 27px;
    width: 31px;
  }
  header .nav nav .external_link .link_inner ul:nth-of-type(2) li a span.instagram {
    background-position: -102px -47px;
  }
  header .nav nav .external_link .link_inner ul:nth-of-type(2) li a span.twitter {
    background-position: 0px 0px;
  }
  header .nav nav .external_link .link_inner ul:nth-of-type(2) li a span.twitter {
    background-position: 0px 0px;
  }
  header .nav nav .external_link .link_inner ul:nth-of-type(2) li a span.facebook {
    background-position: -51px 0px;
  }
  header .nav nav .external_link .link_inner ul:nth-of-type(2) li a span.youtube {
    background-position: 0px -47px;
  }
  header .nav nav .external_link .link_inner ul:nth-of-type(2) li a span.line {
    background-position: -51px -47px;
  }
  header .nav nav .external_link .link_inner ul:nth-of-type(2) li a span.mail {
    background-position: -102px 0px;
  }
  header .google_search {
    width: 228px;
    position: absolute;
    left: 50%;
    top: 10px;
    margin-left: 322px;
  }
  header .google_search form {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  header .google_search .head_search_text {
    width: 180px;
    -moz-box-shadow: none;
         box-shadow: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: none;
    outline: none;
    height: 36px;
    font-size: 1.6rem;
    padding: 10px;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    background-color: #fff !important;
  }
  header .google_search .head_search_text:focus {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #fff !important;
  }
  header .google_search .head_search_btn {
    margin-left: 2px;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    -moz-box-shadow: none;
         box-shadow: none;
    border: none;
    outline: none;
    padding: 8px 6px;
    height: 38px;
    width: 38px;
    margin-top: -1px;
    background-color: #fff;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    cursor: pointer;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    border: 1px solid #00285a;
    box-sizing: border-box;
  }
  header .google_search .head_search_btn svg {
    fill: #00285a;
    width: 30px;
    height: 30px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
  }
  header .google_search .head_search_btn:hover {
    border: 1px solid #fff;
    background-color: #00285a;
  }
  header .google_search .head_search_btn:hover svg {
    fill: #fff;
  }
  /*---------------------------------------------------------------------------*/
  footer {
    background-color: #00285a;
    min-width: 1100px;
    width: 100%;
  }
  footer .f_bnr {
    border-bottom: 1px solid #b9b9b9;
    margin: 0 auto;
    padding: 50px 0 48px;
    width: 1100px;
  }
  footer .f_bnr ul {
    font-size: 0;
  }
  footer .f_bnr ul li {
    display: inline-block;
    height: 60px;
    width: 268px;
  }
  footer .f_bnr ul li a {
    display: block;
    height: 100%;
    width: 100%;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    padding: 0;
  }
  footer .f_bnr ul li a img {
    height: auto;
    width: 100%;
  }
  footer .f_bnr ul li a:hover {
    opacity: 0.8;
  }
  footer .f_bnr ul li + li {
    margin-left: 8px;
  }
  footer .f_bnr ul li:nth-child(4n+1) {
    margin-left: 0;
  }
  footer .f_bnr ul li:nth-child(n+3) {
    margin-top: 10px;
  }
  footer .f_bnr ul.big_bnr li {
    width: 544px;
  }
  footer .f_bnr ul.big_bnr li + li:nth-child(4n+1) {
    margin-left: 10px;
  }
  footer .f_bnr ul.big_bnr li + li:nth-child(2n+1) {
    margin-left: 0;
  }
  footer ul {
    font-size: 0;
    display: inline-block;
    margin-left: 3px;
    vertical-align: middle;
  }
  footer ul li {
    display: inline-block;
    margin-left: 8px;
  }
  footer ul li a {
    display: block;
    padding: 4px 10px;
    text-decoration: none;
  }
  footer ul li a span {
    color: #FFF;
    font-size: 1.4rem;
    font-weight: bold;
    vertical-align: middle;
  }
  footer ul li a span:first-of-type {
    background: url(/common/images/sprite/sprite_icon.png) no-repeat;
    display: inline-block;
    height: 26px;
    margin-right: 4px;
    overflow: hidden;
    text-indent: 100%;
    text-decoration: none;
    white-space: nowrap;
    width: 30px;
  }
  footer ul.f_sns {
    position: absolute;
    top: -76px;
    background-color: #00285a;
    width: 400px;
    margin: 0 auto;
    left: 0;
    right: 0;
    text-align: center;
  }
  footer ul.f_sns li {
    margin-left: 0px;
  }
  footer ul.f_sns li a {
    padding: 0;
  }
  footer ul.f_sns li a span {
    height: 27px;
    width: 31px;
    -webkit-transform: scale(1.2);
       -moz-transform: scale(1.2);
        -ms-transform: scale(1.2);
            transform: scale(1.2);
  }
  footer ul.f_sns li a span.instagram {
    background-position: -102px -47px;
  }
  footer ul.f_sns li a span.twitter {
    background-position: 0px 0px;
  }
  footer ul.f_sns li a span.twitter {
    background-position: 0px 0px;
  }
  footer ul.f_sns li a span.facebook {
    background-position: -51px 0px;
  }
  footer ul.f_sns li a span.youtube {
    background-position: 0px -47px;
  }
  footer ul.f_sns li a span.line {
    background-position: -51px -47px;
  }
  footer ul.f_sns li a span.mail {
    background-position: -102px 0px;
  }
  footer ul.f_sns li + li {
    margin-left: 20px;
  }
  footer .f_sitemap {
    font-size: 0;
    margin: 64px auto 70px;
    width: 1100px;
    position: relative;
  }
  footer .f_sitemap .f_sitemap_col {
    display: inline-block;
    vertical-align: top;
    width: 23%;
  }
  footer .f_sitemap .f_sitemap_col dl dt {
    border-bottom: 1px solid #FFF;
    color: #FFF;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 1px;
    margin-bottom: 6px;
    padding-bottom: 6px;
  }
  footer .f_sitemap .f_sitemap_col dl a {
    color: #FFF;
    font-size: 1.4rem;
    letter-spacing: -1px;
    text-decoration: none;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
  }
  footer .f_sitemap .f_sitemap_col dl a:hover {
    text-decoration: underline;
  }
  footer .f_sitemap .f_sitemap_col dl dd ul {
    padding-left: 14px;
  }
  footer .f_sitemap .f_sitemap_col dl + dl {
    margin-top: 24px;
  }
  footer .f_sitemap .f_sitemap_col + .f_sitemap_col {
    margin-left: 2.6%;
  }
  footer .pagetop {
    bottom: 80px;
    position: fixed;
    right: 22px;
  }
  footer .foot {
    background-color: #ffea00;
    height: 96px;
  }
  footer .foot .foot_inner {
    font-size: 0;
    margin: 0 auto;
    padding-top: 26px;
    position: relative;
    width: 1100px;
  }
  footer .foot .foot_inner .f_main_logo,
  footer .foot .foot_inner .copyright {
    display: inline-block;
    font-size: 14px;
    vertical-align: middle;
  }
  footer .foot .foot_inner .f_main_logo a {
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
  }
  footer .foot .foot_inner .f_main_logo a:hover {
    opacity: 0.8;
  }
  footer .foot .foot_inner .f_main_logo a img {
    width: 156px;
  }
  footer .foot .foot_inner .copyright {
    margin-left: 18px;
  }
  footer .foot .foot_inner .copyright ul {
    font-size: 0;
  }
  footer .foot .foot_inner .copyright ul li {
    display: inline-block;
    margin-right: 8px;
  }
  footer .foot .foot_inner .copyright ul li a {
    font-size: 14px;
    font-weight: bold;
    line-height: 1;
    text-decoration: none;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
  }
  footer .foot .foot_inner .copyright ul li a:hover {
    opacity: 0.6;
  }
  footer .foot .foot_inner .copyright ul li + li {
    border-left: 1px solid;
    padding-left: 8px;
  }
  footer .foot .foot_inner .copyright > p {
    font-weight: bold;
    margin-top: 6px;
  }
  footer .foot .foot_inner a.caters_logo {
    height: 50px;
    position: absolute;
    top: 24px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    right: 0;
  }
  footer .foot .foot_inner a.caters_logo img {
    height: 100%;
  }
  footer .foot .foot_inner a.caters_logo:hover {
    opacity: 0.6;
  }
  /*---------------------------------------------------------------------------*/
  .breadcrumb {
    padding: 40px 0 20px;
  }
  .breadcrumb ul {
    font-size: 0;
  }
  .breadcrumb ul li {
    display: inline;
    font-size: 1.4rem;
    vertical-align: middle;
  }
  .breadcrumb ul li a {
    color: #005bac;
    text-decoration: none;
  }
  .breadcrumb ul li a:hover {
    text-decoration: underline;
  }
  .breadcrumb ul li + li {
    margin-left: 6px;
  }
  .breadcrumb ul li + li:before {
    content: ">";
    color: #000000;
    display: inline-block;
    height: 14px;
    margin-top: -1px;
    vertical-align: top;
    width: 16px;
  }
  /*---------- Academy -------------------------------------------------------------*/
  .academy {
    overflow: hidden;
  }
  .academy .r_side {
    float: right;
    width: 257px;
  }
  .academy .r_side .box {
    margin: 0 0 20px;
  }
  .academy .r_side .box p.side_ttl {
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #005bac;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    height: 50px;
    margin: 0;
  }
  .academy .r_side .box p.side_ttl span {
    padding: 0 20px;
  }
  .academy .r_side .box p.side_ttl, .academy .r_side .box p span {
    color: #fff;
    font-size: 16px;
  }
  .academy .r_side .box p.link_btn a {
    background: #005bac;
    background-position: 0 0;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    color: #ffffff;
    display: block;
    font-size: 1.4rem;
    line-height: 1;
    padding: 14px 0 12px 20px;
    position: relative;
    text-align: left;
    text-decoration: none;
    -webkit-transform: perspective(1px) translateZ(0);
       -moz-transform: perspective(1px) translateZ(0);
            transform: perspective(1px) translateZ(0);
    -webkit-transition: color 0.3s;
    -moz-transition: color 0.3s;
    transition: color 0.3s;
    width: 100%;
  }
  .academy .r_side .box p.link_btn a:before {
    background: #ffea00;
    bottom: 0;
    content: '';
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: scaleX(0);
       -moz-transform: scaleX(0);
        -ms-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
       -moz-transform-origin: 0 50%;
        -ms-transform-origin: 0 50%;
            transform-origin: 0 50%;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    -moz-transition: transform 0.3s, -moz-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s, -moz-transform 0.3s;
    z-index: -1;
  }
  .academy .r_side .box p.link_btn a:after {
    border-right: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    content: '';
    height: 10px;
    display: block;
    position: absolute;
    right: 24px;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(-45deg);
       -moz-transform: translateY(-50%) rotate(-45deg);
        -ms-transform: translateY(-50%) rotate(-45deg);
            transform: translateY(-50%) rotate(-45deg);
    width: 10px;
  }
  .academy .r_side .box p.link_btn a:hover {
    color: #005bac;
  }
  .academy .r_side .box p.link_btn a:hover span {
    color: #005bac;
  }
  .academy .r_side .box p.link_btn a:hover:before {
    -webkit-transform: scaleX(1);
       -moz-transform: scaleX(1);
        -ms-transform: scaleX(1);
            transform: scaleX(1);
  }
  .academy .r_side .box p.link_btn a:hover:after {
    border-right: 2px solid #005bac;
    border-bottom: 2px solid #005bac;
  }
  .academy .r_side .box ul {
    padding: 24px 20px;
    background: #eee;
  }
  .academy .r_side .box ul li {
    margin: 0 0 20px;
  }
  .academy .r_side .box ul li:last-child {
    margin: 0;
  }
  .academy .r_side .box ul li a {
    text-decoration: none;
  }
  .academy .r_side .box ul li a:hover {
    text-decoration: underline;
  }
  .academy .cont_row {
    width: 790px;
    float: left;
  }
  /*----------wysiwyg用-------------------------------------------------------------*/
  .wysiwyg table {
    border-collapse: collapse;
    border-top: #b5b5b5 1px solid;
    border-right: #b5b5b5 1px solid;
  }
  .wysiwyg table tr th,
  .wysiwyg table tr td {
    border-bottom: #b5b5b5 1px solid;
    border-left: #b5b5b5 1px solid;
  }
}

@media screen and (max-width: 768px) {
  /* ===================================================================
  common_sp.css
=================================================================== */
  /*---------------------------------------------------------------------------*/
  .pc {
    display: none !important;
  }
  html.noscroll {
    height: 100%;
    overflow: hidden;
  }
  html.noscroll body {
    height: 100%;
    overflow: hidden;
  }
  html > iframe {
    display: none;
  }
  .contents {
    margin: 0 auto;
    min-width: 320px;
    padding-top: 66px;
  }
  /*---------------------------------------------------------------------------*/
  header {
    width: 100%;
    z-index: 10000;
  }
  header .nav {
    position: fixed;
    width: 100%;
    z-index: 100;
  }
  header .nav.active {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    overflow: auto;
  }
  header .nav.active nav > .menu > ul,
  header .nav.active .external_link {
    display: block;
  }
  header .nav nav {
    position: relative;
  }
  header .nav nav .menu {
    background-color: #00285a;
  }
  header .nav nav .menu .title_area {
    position: relative;
  }
  header .nav nav .menu .title_area h1 {
    background-color: #ffea00;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    height: 66px;
    margin: 0;
    padding: 5px 12px;
    z-index: 1;
  }
  header .nav nav .menu .title_area h1 img {
    height: 56px;
  }
  header .nav nav .menu .title_area .name_logo {
    left: 70px;
    position: absolute;
    top: 16px;
    height: 36px;
  }
  header .nav nav .menu .title_area .search_trigger {
    background-color: #00285a;
    position: absolute;
    height: 40px;
    right: 62px;
    width: 40px;
    z-index: 1000;
    top: 12px;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    padding: 7px;
  }
  header .nav nav .menu .title_area .search_trigger svg {
    fill: #fff;
    width: 40px;
    height: 40px;
  }
  header .nav nav .menu .title_area .menu_trigger {
    background-color: #00285a;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    display: block;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s;
    height: 40px;
    text-decoration: none;
    top: 12px;
    padding: 0 6px;
    position: absolute;
    right: 12px;
    width: 40px;
    z-index: 1000;
  }
  header .nav nav .menu .title_area .menu_trigger span {
    background-color: #FFF;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    color: #FFF;
    display: block;
    height: 2px;
    margin-top: 8px;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s;
    width: 100%;
  }
  header .nav nav .menu .title_area .menu_trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(-45deg);
       -moz-transform: translateY(10px) rotate(-45deg);
        -ms-transform: translateY(10px) rotate(-45deg);
            transform: translateY(10px) rotate(-45deg);
  }
  header .nav nav .menu .title_area .menu_trigger.active span:nth-of-type(2) {
    opacity: 0;
  }
  header .nav nav .menu .title_area .menu_trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-10px) rotate(45deg);
       -moz-transform: translateY(-10px) rotate(45deg);
        -ms-transform: translateY(-10px) rotate(45deg);
            transform: translateY(-10px) rotate(45deg);
  }
  header .nav nav .menu > ul {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    display: none;
    margin: 0 auto;
    position: relative;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    width: 100%;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li {
    border-bottom: 1px solid #FFF;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li > a {
    color: #FFF;
    display: block;
    pointer-events: none;
    padding: 13px 0 13px 7%;
    text-decoration: none;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li > a.link {
    pointer-events: initial;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li > a span {
    color: #FFF;
    font-weight: bold;
    margin-right: 20px;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li > a p {
    font-size: 1.4rem;
    margin-top: 4px;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li .menu_inner {
    display: none;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li .menu_inner ul {
    width: 100%;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li .menu_inner ul li {
    background-color: #005bac;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li .menu_inner ul li a {
    display: block;
    padding: 13px 0 13px 10%;
    text-decoration: none;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li .menu_inner ul li a span {
    color: #FFF;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li .menu_inner ul li + li {
    border-top: 1px solid #FFF;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li .menu_inner.show {
    display: block;
  }
  header .nav nav .menu > ul:not(.menu_inner) > li a.sp_link {
    pointer-events: initial;
  }
  header .nav nav .external_link {
    background-color: #00285a;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    display: none;
    padding: 28px 0;
    width: 100%;
  }
  header .nav nav .external_link .link_inner {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    margin: 0 auto;
  }
  header .nav nav .external_link .link_inner ul {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    font-size: 0;
    display: inline-block;
    padding-left: 7%;
    vertical-align: middle;
  }
  header .nav nav .external_link .link_inner ul li {
    display: inline-block;
  }
  header .nav nav .external_link .link_inner ul li a {
    display: block;
    padding: 4px 10px;
    text-decoration: none;
  }
  header .nav nav .external_link .link_inner ul li a span:first-of-type {
    background: url(/common/images/sprite/sprite_icon.png) no-repeat;
    display: inline-block;
    height: 26px;
    margin-right: 4px;
    overflow: hidden;
    text-indent: 100%;
    text-decoration: none;
    white-space: nowrap;
    width: 30px;
  }
  header .nav nav .external_link .link_inner ul:nth-of-type(2) {
    width: 100%;
  }
  header .nav nav .external_link .link_inner ul:nth-of-type(2) li {
    width: 16%;
  }
  header .nav nav .external_link .link_inner ul:nth-of-type(2) li a {
    padding: 0;
  }
  header .nav nav .external_link .link_inner ul:nth-of-type(2) li a span {
    height: 27px;
    width: 31px;
  }
  header .nav nav .external_link .link_inner ul:nth-of-type(2) li a span.instagram {
    background-position: -102px -47px;
  }
  header .nav nav .external_link .link_inner ul:nth-of-type(2) li a span.twitter {
    background-position: 0px 0px;
  }
  header .nav nav .external_link .link_inner ul:nth-of-type(2) li a span.facebook {
    background-position: -51px 0px;
  }
  header .nav nav .external_link .link_inner ul:nth-of-type(2) li a span.youtube {
    background-position: 0px -47px;
  }
  header .nav nav .external_link .link_inner ul:nth-of-type(2) li a span.line {
    background-position: -51px -47px;
  }
  header .nav nav .external_link .link_inner ul:nth-of-type(2) li a span.mail {
    background-position: -102px 0px;
  }
  header .google_search {
    display: none;
    position: absolute;
    width: 100%;
    z-index: 20;
    top: 66px;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    padding: 20px;
    background-color: #00285a;
  }
  header .google_search form {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  header .google_search .head_search_text {
    width: 100%;
    -moz-box-shadow: none;
         box-shadow: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: none;
    outline: none;
    height: 36px;
    font-size: 1.5rem;
    padding: 10px;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    background-color: #fff !important;
  }
  header .google_search .head_search_text:focus {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #fff !important;
  }
  header .google_search .head_search_btn {
    margin-left: 2px;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    -moz-box-shadow: none;
         box-shadow: none;
    border: none;
    outline: none;
    padding: 8px 6px;
    height: 38px;
    width: 38px;
    margin-top: -1px;
    background-color: #fff;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    cursor: pointer;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    border: 1px solid #00285a;
    box-sizing: border-box;
  }
  header .google_search .head_search_btn svg {
    fill: #00285a;
    width: 30px;
    height: 30px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
  }
  header .google_search.show {
    display: block;
  }
  /*---------------------------------------------------------------------------*/
  footer {
    background-color: #00285a;
  }
  footer .f_bnr {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    margin: 0 auto;
    padding: 24px 4% 24px;
    width: 100%;
  }
  footer .f_bnr ul {
    font-size: 0;
  }
  footer .f_bnr ul li {
    display: inline-block;
    width: 49%;
  }
  footer .f_bnr ul li img {
    height: auto;
    width: 100%;
  }
  footer .f_bnr ul li a {
    display: block;
    height: 100%;
    width: 100%;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
  }
  footer .f_bnr ul li a:hover {
    opacity: 0.8;
  }
  footer .f_bnr ul li + li {
    margin-left: 2%;
  }
  footer .f_bnr ul li:nth-child(2n+1) {
    margin-left: 0;
  }
  footer .f_bnr ul li:nth-child(n+2) {
    margin-top: 10px;
  }
  footer .f_bnr ul.big_bnr li {
    display: block;
    width: 100%;
  }
  footer .f_bnr ul.big_bnr li img {
    width: 100%;
  }
  footer .f_bnr ul.big_bnr li + li {
    margin-left: 0;
    margin-top: 10px;
  }
  footer .pagetop {
    background-color: #ffea00;
  }
  footer .pagetop a {
    display: block;
    text-align: center;
    text-decoration: none;
  }
  footer .pagetop a:before {
    background: url(/common/images/sprite/sprite_arrow.png) no-repeat;
    background-position: -104px -78px;
    content: "";
    display: inline-block;
    height: 14px;
    width: 10px;
    -webkit-transform: rotate(-90deg);
       -moz-transform: rotate(-90deg);
        -ms-transform: rotate(-90deg);
            transform: rotate(-90deg);
  }
  footer .pagetop a p {
    color: #00285a;
    font-weight: bold;
  }
  footer .foot {
    background-color: #ffea00;
    text-align: center;
  }
  footer .foot .foot_inner {
    font-size: 0;
    margin: 0 auto;
    padding: 14px 0;
  }
  footer .foot .foot_inner .f_main_logo a img {
    height: 30px;
  }
  footer .foot .foot_inner .copyright {
    margin: 10px 0;
  }
  footer .foot .foot_inner .copyright ul {
    font-size: 0;
  }
  footer .foot .foot_inner .copyright ul li {
    display: inline-block;
    margin-right: 8px;
  }
  footer .foot .foot_inner .copyright ul li a {
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1;
    text-decoration: none;
  }
  footer .foot .foot_inner .copyright ul li + li {
    border-left: 1px solid;
    padding-left: 8px;
  }
  footer .foot .foot_inner .copyright ul li:nth-of-type(n+3) {
    margin-top: 8px;
  }
  footer .foot .foot_inner .copyright > p {
    font-size: 1.2rem;
    margin-top: 6px;
  }
  footer .foot .foot_inner .caters_logo img {
    width: 44px;
  }
  /*---------------------------------------------------------------------------*/
  .breadcrumb {
    padding: 12px 12px 14px;
    margin: 0 12.5px;
  }
  .breadcrumb ul {
    font-size: 0;
  }
  .breadcrumb ul li {
    display: inline;
    font-size: 1.2rem;
    vertical-align: middle;
  }
  .breadcrumb ul li a {
    color: #005bac;
    text-decoration: none;
  }
  .breadcrumb ul li + li {
    margin-left: 6px;
  }
  .breadcrumb ul li + li:before {
    content: ">";
    color: #000;
    display: inline-block;
    height: 12px;
    margin-top: -1px;
    vertical-align: top;
    width: 14px;
  }
  /*---------- Academy -------------------------------------------------------------*/
  .academy .modal .btn {
    margin: 0 12.5px 25px;
  }
  .academy .modal .btn a {
    position: relative;
    display: block;
    padding: 13px 0;
    color: #fff;
    font-size: 14.5px;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    background: #005bac;
  }
  .academy .modal .btn a::after {
    content: "";
    position: absolute;
    top: 15px;
    right: 10px;
    width: 6px;
    height: 10px;
    background: url(/academy/images/icon_arrow.png) no-repeat center;
    -moz-background-size: contain;
         background-size: contain;
  }
  .academy .modal .wrapper {
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    padding-top: 83.33333px;
    display: none;
    width: 100%;
    min-width: 320px;
    height: 100%;
    overflow: scroll;
    background-color: rgba(0, 0, 0, 0.5);
    text-align: right;
  }
  .academy .modal .wrapper .close {
    display: inline-block;
    position: relative;
    width: 39.58333px;
    height: 39.58333px;
    background-color: #ffea00;
    margin-bottom: 12.5px;
    margin-right: 4%;
  }
  .academy .modal .wrapper .close span {
    position: absolute;
    display: block;
    background-color: #00285a;
    width: 30px;
    height: 2px;
    top: 50%;
    left: 50%;
  }
  .academy .modal .wrapper .close span:nth-of-type(1) {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
       -moz-transform: translate(-50%, -50%) rotate(45deg);
        -ms-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg);
  }
  .academy .modal .wrapper .close span:nth-of-type(2) {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
       -moz-transform: translate(-50%, -50%) rotate(-45deg);
        -ms-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg);
  }
  .academy .modal .wrapper ul {
    width: 92%;
    margin: 0 auto;
    overflow: scroll;
  }
  .academy .modal .wrapper li {
    width: 100%;
    display: block;
    border-bottom: 1px solid #b5b5b5;
    background: #fff;
    text-align: center;
  }
  .academy .modal .wrapper li a {
    display: block;
    width: 100%;
    padding: 12px 0;
    background: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
  }
  .academy .modal .wrapper li .acc_btn {
    position: relative;
    display: block;
    width: 100%;
    padding: 12px 0;
    background: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
  }
  .academy .modal .wrapper li .acc_btn::after {
    content: '';
    position: absolute;
    width: 7px;
    height: 7px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 22.91667px;
    margin: auto;
    background: url(/academy/images/icon_arrow_r.png) no-repeat center;
    -moz-background-size: contain;
         background-size: contain;
  }
  .academy .modal .wrapper li .acc_btn.open::after {
    background: url(/academy/images/icon_arrow_b.png) no-repeat center;
    -moz-background-size: contain;
         background-size: contain;
  }
  .academy .modal .wrapper li .accordion {
    display: none;
    width: 100%;
  }
  .academy .modal .wrapper li .accordion li a {
    background: #e2e2e2;
  }
  .academy .modal .wrapper li .accordion li a::after {
    display: none;
  }
  .academy .modal .wrapper li .accordion li:first-child {
    border-top: 1px solid #b5b5b5;
  }
  .academy .modal .wrapper li .accordion li:last-child {
    border-bottom: none;
  }
  /*----------wysiwyg用-------------------------------------------------------------*/
  .wysiwyg table {
    border-collapse: collapse;
    border-top: #b5b5b5 1px solid;
    border-right: #b5b5b5 1px solid;
  }
  .wysiwyg table tr th,
  .wysiwyg table tr td {
    border-bottom: #b5b5b5 1px solid;
    border-left: #b5b5b5 1px solid;
  }
}
