@charset "UTF-8";
/* = Color
----------------------------------------------- */
/* = Commons
----------------------------------------------- */
* {
  word-break: break-all; }

body {
  color: #222222; }

a {
  display: block;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: #222222; }

.pointer {
  cursor: pointer; }

.no_point {
  pointer-events: none !important; }

img {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  vertical-align: bottom;
  width: 100%;
  height: auto;
  pointer-events: none; }

/* = Text align
----------------------------------------------- */
.align_center {
  text-align: center !important; }

.align_left {
  text-align: left !important; }

.align_right {
  text-align: right !important; }

/* = Clear fix
----------------------------------------------- */
.clearfix:after {
  content: ' ';
  display: block;
  clear: both; }

/* = Margin Commons
----------------------------------------------- */
.mb0 {
  margin-bottom: 0px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.mb80 {
  margin-bottom: 80px !important; }

.mb90 {
  margin-bottom: 90px !important; }

.mb100 {
  margin-bottom: 100px !important; }

.mt0 {
  margin-top: 0px !important; }

.mt10 {
  margin-top: 10px !important; }

.mt20 {
  margin-top: 20px !important; }

.mt30 {
  margin-top: 30px !important; }

.mt40 {
  margin-top: 40px !important; }

.mt50 {
  margin-top: 50px !important; }

.mt60 {
  margin-top: 60px !important; }

.mt70 {
  margin-top: 70px !important; }

.mt80 {
  margin-top: 80px !important; }

.mt90 {
  margin-top: 90px !important; }

.mt100 {
  margin-top: 100px !important; }

/* = Padding
----------------------------------------------- */
.no_padding {
  padding: 0 !important; }

/* = Form reset
----------------------------------------------- */
input, button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

input:not([type="checkbox"]), button, textarea, select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none; }

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
  outline: none;
  border: 1px solid #aaa;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus
ul {
  list-style: none; }

/* = Box shadow
----------------------------------------------- */
.shadow {
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); }

/* = Round
----------------------------------------------- */
.round {
  border-radius: 4px; }

/* = Flex
----------------------------------------------- */
.row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.row .col2 {
  width: 50%; }

.row .col3 {
  width: 33.3333%; }

.row .col4 {
  width: 23% !important; }

/* = font-size
----------------------------------------------- */
footer {
  position: relative;
  width: 100%; }

footer .ftr {
  color: #FFFFFF;
  height: 55rem;
  background-color: #222222;
  padding: 7rem 0 0; }

footer .ftr .ftrcontents {
  width: 120rem;
  margin: 0 auto; }

footer .ftr .ftrcontents .ftrprogram {
  width: 37rem;
  margin-right: 10rem; }

footer .ftr .ftrcontents .ftrnews {
  width: 50rem; }

footer .ftr .ftrcontents .ftrprogram,
footer .ftr .ftrcontents .ftrnews {
  display: inline-block; }

footer .ftr .ftrcontents .ftrprogram .ftrhl,
footer .ftr .ftrcontents .ftrnews .ftrhl {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #FFFFFF; }

footer .ftr .ftrcontents .ftrhl {
  font-size: 1.8rem;
  font-weight: bold; }

footer .ftr .ftrcontents ul.ftrsearchlist {
  margin-top: 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

footer .ftr .ftrcontents ul.ftrsearchlist li.ftrsearchist__item {
  font-size: 1.4rem;
  width: 12rem; }

footer .ftr .ftrcontents ul.ftrsearchlist li.ftrsearchist__item a {
  color: #FFFFFF; }

footer .ftr .ftrcontents .ftrarchive {
  margin-top: 6.5rem; }

footer .ftr .ftrcontents .ftrarchive ul.ftrarchivelist {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 2.5rem; }

footer .ftr .ftrcontents .ftrarchive ul.ftrarchivelist li.ftrarchivelist__item {
  font-size: 1.2rem; }

footer .ftr .ftrcontents .ftrarchive ul.ftrarchivelist li.ftrarchivelist__item a {
  color: #FFFFFF; }

footer .ftr .ftrcontents .ftrarchive ul.ftrarchivelist li.ftrarchivelist__item a::after {
  content: "年"; }

footer .ftr .ftrcontents .ftrarchive ul.ftrarchivelist li.ftrarchivelist__item:not(:last-child) {
  margin-right: 3rem; }

footer .ftr .ftrcontents .ftrcompanyinfo {
  margin-top: 3rem; }

footer .ftr .ftrcontents .ftrcompanyinfo ul.ftrcompanyinfolist {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

footer .ftr .ftrcontents .ftrcompanyinfo ul.ftrcompanyinfolist li.ftrcompanyinfolist__item {
  font-size: 1rem; }

footer .ftr .ftrcontents .ftrcompanyinfo ul.ftrcompanyinfolist li.ftrcompanyinfolist__item a {
  color: #FFFFFF; }

footer .ftr .ftrcontents .ftrcompanyinfo ul.ftrcompanyinfolist li.ftrcompanyinfolist__item:not(:last-child) {
  margin-right: 3rem; }

footer .ftr .ftrcontents .ftrcompanyinfo ul.ftrcompanyinfolist:last-child {
  margin-top: 1.5rem; }

footer .ftr .ftrcontents .copyright {
  font-weight: bold;
  margin-top: 1.5rem; }

footer .ftr .ftrcontents__bar {
  width: 100%;
  height: 1px;
  border-top: 1px solid #FFFFFF;
  margin-top: 4rem; }

footer.footer_small .ftr {
  height: 13.7rem;
  padding-top: 1.7rem; }

footer.footer_small .ftr .ftrcontents .copyright {
  margin: 0;
  text-align: center; }

/*個別調整*/
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

footer .copyright {
  text-align: left;
  color: #FFF;
  padding-bottom: 0;
  font-size: 1.0rem;
  font-weight: normal; }

body {
  padding-bottom: 0 !important; }

/*adの指定不要であればここから下消す*/
.ad {
  margin: 40px auto;
  text-align: center; }

.ad.ad--double {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  justify-content: space-around; }

.ad.ad--wide {
  width: 1190px;
  margin: 2.4rem auto 4rem; }

.ad.ad--fixed {
  position: fixed;
  z-index: 20000;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  margin: 0; }

.ad .ads {
  text-align: center; }

.ad .ads img {
  max-width: 100%;
  max-height: 100%;
  width: auto; }

.md_rec {
  margin: 4rem 0; }

.md_rec .ads {
  width: 100%;
  height: 100%; }
