@charset "utf-8";

/* =============================================================

    Base Setting

============================================================= */


/*  Overall Setting
--------------------------------------------- */

html,
body {
  height: 100%;
}

body {
  font-family: Noto Sans JP, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.6em;
  text-align: center;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  /*-moz-osx-font-smoothing: grayscale;
   -webkit-font-smoothing: antialiased;*/
  line-height: 1.4;
}

/*  Color Setting
-------------------------- */

/* -- Common Color -- */

body {
  color: #1e1e1e;
}

a {
  color: #475300;
}

a:hover,
a:focus {
  color: #475300;
}

/* -- Custom Color -- */

/* Default */
.txt-default,
a.txt-default,
a.txt-default:hover,
a.txt-default:focus {
  color: #222;
}

.bg-default {
  background-color: #222;
}

.txt-default-light,
a.txt-default-light,
a.txt-default-light:hover,
a.txt-default-light:focus {
  color: #ccc;
}

.bg-default-light {
  background-color: #f6f6f6;
}

.bg-default-light2 {
  background-color: #eee;
}

.txt-default-dark,
a.txt-default-dark,
a.txt-default-dark:hover,
a.txt-default-dark:focus {
  color: #1e1e1e;
}

.bg-default-dark {
  background-color: #000;
}

/* Base */
.txt-base,
a.txt-base,
a.txt-base:hover,
a.txt-base:focus {
  color: #666;
}

.bg-base {
  background-color: #666;
}

.txt-base-light,
a.txt-base-light,
a.txt-base-light:hover,
a.txt-base-light:focus {
  color: #1e1e1e;
}

.bg-base-light {
  background-color: #888;
}

.txt-base-dark,
a.txt-base-dark,
a.txt-base-dark:hover,
a.txt-base-dark:focus {
  color: #1e1e1e;
}

.bg-base-dark {
  background-color: #333;
}

/* Primary */
.txt-primary,
a.txt-primary,
a.txt-primary:hover,
a.txt-primary:focus {
  color: #022d92;
}

.bg-primary {
  background-color: #022d92;
}

/* Primary Light */
.txt-primary-light,
a.txt-primary-light,
a.txt-primary-light:hover,
a.txt-primary-light:focus {
  color: #3755a2;
}

.bg-primary-light {
  background-color: #f0f3fc;
}

/* Primary2 */
.txt-primary2,
a.txt-primary2,
a.txt-primary2:hover,
a.txt-primary2:focus {
  color: #1d2090;
}

.bg-primary2 {
  background-color: #1d2090;
}

/* Accent */
.txt-accent,
a.txt-accent,
a.txt-accent:hover,
a.txt-accent:focus {
  color: #cc0505;
}

.bg-accent {
  background-color: #cc0505;
}

.txt-accent-dark,
a.txt-accent-dark,
a.txt-accent-dark:hover,
a.txt-accent-dark:focus {
  color: #b91115;
}

/* Sub */
.txt-sub,
a.txt-sub,
a.txt-sub:hover,
a.txt-sub:focus {
  color: #156c00;
}

.bg-sub {
  background-color: #156c00;
}

/* -- Form Color -- */

.form-control,
.search-input {
  border-radius: 0;
  border: 1px solid #ccc;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  color: #1e1e1e;
}

.form-control:focus,
.search-input:focus {
  border-color: #ccc;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 4px rgba(136, 136, 136, .6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 4px rgba(136, 136, 136, .6);
}

/* -- Placeholder Color -- */

:placeholder-shown {
  color: #999;
}

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

:-moz-placeholder {
  color: #999;
}

::-moz-placeholder {
  color: #999;
}

:-ms-input-placeholder {
  color: #999;
}

/* -- Text Select Color -- */

::selection {
  background: #e1e8fc;
  color: #2447a0;
}

::-moz-selection {
  background: #e1e8fc;
  color: #2447a0;
}

/*  Switch Display
-------------------------- */

.media-sp {
  display: none;
}

/*  Link Setting
-------------------------- */

a {
  /*text-decoration: underline;*/
  text-decoration: none;
}

a,
a:before,
a:after,
a img {
  transition: opacity .2s ease-in-out,
              color .2s ease-in-out,
              background-color .2s ease-in-out,
              border-color .2s ease-in-out,
              text-shadow .2s ease-in-out;
}

a:hover {
  cursor: pointer;
  opacity: .7;
  text-decoration: none;
  /*text-decoration: underline;*/
}
a:focus {
  cursor: pointer;
  opacity: .7;
  text-decoration: none;
  /*text-decoration: underline;*/
}

a:hover img {
  opacity: .7;
}


/*  Form Setting
-------------------------- */

.form-control {
  height: 30px;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
button,
select,
textarea {
  border-radius: 4px;
  border-color: #bbb;
  padding: 5px;
  font-size: .9em;
}

input[type="checkbox"],
input[type="radio"] {
  margin-right: 8px;
  padding: 0;
  font-size: 1.2em;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
  transition: border-color .3s ease-in-out;
}

select,
select[multiple],
select[size] {
  min-width: 20px;
  height: 32px;
  padding: 0 5px;
  background-color: #fff;
  vertical-align: middle;
}


/*  Container Setting
--------------------------------------------- */

#container {
  position: relative;
  width: 100% !important;
  min-width: 1028px;
  height: auto !important;
  height: 100%;
  min-height: 100%;
  background: #fff;
}

#container.display-pc {
  width: 100% !important;
  position: relative !important;
  right: auto !important;
}

.inner {
  width: 1028px;
  margin: 0 auto;
  text-align: left;
}

.main-content-inner {
  width: 100% !important;
}


/*  Header Setting
--------------------------------------------- */

#header {
  position: relative;
  background: #fff;
  font-size: .9em;
}

#header:before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: #475300;
  content: "";
}

.display-pc #header {
  left: 0 !important;
}

#header > .inner {
  position: relative;
  padding: 40px 0 0;
}

#header a {
  text-decoration: none;
}

#header p,
#header ul {
  margin-bottom: 0;
  padding-left: 0;
}

/* -------- Site Logo -------- */

#logo {
  position: relative;
  z-index: 2;
}

#logo h1,
#logo .logo-caption {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  vertical-align: middle;
}

#logo h1 {
  margin: 0;
  width: 280px;
}

#logo h1.wide {
  margin: 0;
  width: 582px;
}

#logo a {
  display: block;
}

#logo a:hover {
  opacity: .8;
}

#logo .logo-caption {
  margin-left: 1.7em;
  padding-top: 2.4em;
  color: #4d8822;
  font-size: .75em;
  font-weight: bold;
  text-transform: uppercase;
}

/* -------- Site Menu -------- */

#sitemenu {
  padding-top: 2em;
  padding-bottom: .5em;
  font-size: 1.05em;
  font-weight: 600;
}

/* -- Menu Button -- */

#sitemenu #menu-btn {
  display: none;
}

/* -- Menu Content -- */

#sitemenu #menu {
}

/* ------ Global Navi ------ */

#gnav {
}

#gnav .menu-list {
  position: relative;
  min-width: 1028px;
  padding-left: 0;
  padding-bottom: 10px;
}

#gnav .menu-list > ul {
  margin-left: -8px;
  letter-spacing: -.40em;
  text-align: center;
}

#gnav .menu-list > ul > li {
  float: left;
  position: relative;
  letter-spacing: 0;
  vertical-align: middle;
  padding-left: 0px;
}

#gnav .menu-list > ul > li:hover {
  cursor: pointer;
}

/* ▼ ここが修正ポイント ▼ */

/* 全リンクの背景と文字色をリセット */
#gnav .menu-list > ul > li > a {
  display: block;
  transition: opacity .3s ease-in-out, color .3s ease-in-out;
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100%;
  border-radius: 3px;
  margin: 0;
  padding: 10px 26px;
  line-height: 1.4;
  text-decoration: none;
  font-size: 1.1em;
  background: transparent;
  color: #475300;
}

/* aria-current="page" が付いたリンクのみに背景色・文字色 */
#gnav .menu-list > ul > li > a[aria-current="page"] {
  background: #4d8921;
  color: #fff;
}



/* ---- Sub Menu ---- */

/* -- Sub Menu List -- */

#gnav .menu-sub {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 110;
  min-width: 290px;
  margin-left: 0;
  background: #fff;
  border: 1px solid #eee \9;
  /*box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15);*/
  -webkit-filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  -moz-filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  -ms-filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  font-size: .88em;
  letter-spacing: -.02em;
  line-height: 1.55;
}

#gnav .menu-sub ul {
  padding: 0 10px 10px;
  background: #fff;
  text-align: left;
}

/* Menu Arrow */
#gnav .menu-sub:before {
  position: absolute;
  top: -20px;
  left: 20%;
  width: 0;
  height: 0;
  border-width: 12px 10px 12px 10px;
  border-color:  transparent transparent #fff transparent;
  border-style: solid;
  content: "";
}

#gnav .menu-sub li {
  display: block;
  float: none;
  width: 100%;
  border-top: 1px solid #ddd;
}

#gnav .menu-sub li:first-child,
#gnav .menu-sub li.media-sp + li {
  border-top-width: 0;
}

#gnav .menu-sub li.media-sp {
  display: none;
}

#gnav .menu-sub li a {
  display: block;
  position: relative;
  width: 100%;
  padding: 14px 30px 14px 12px;
  font-size: 1em;
  letter-spacing: -.02em;
  line-height: 1.55;
  text-align: left;
}

#gnav .menu-sub li a:before {
}

#gnav .menu-sub li a:hover {
  opacity: 1;
  color: #337ab7 !important;
  background-color: #f4f4f4;
  border-color: #f4f4f4;
}

#gnav .menu-sub li a:hover:before {
  border-top-color: #337ab7;
  border-right-color: #337ab7;
}

#gnav .menu-sub .bnr-area {
  padding: 10px 10px 20px;
}

#gnav .menu-sub .bnr-area a {
  padding: 5px;
}

#gnav .menu-sub .bnr-area a:hover {
  opacity: .7;
}

/* -- Sub Menu Open -- */

.display-pc #gnav .menu-sub {
  display: block;
  transition: opacity .4s ease-in-out;
  opacity: 0;
  overflow: hidden;
  height: 0;
}

.display-pc #gnav .menu-list > ul > li:hover .menu-sub {
  display: block !important;
  opacity: 1;
  overflow: visible !important;
  height: auto;
  padding-top: 8px;
}

/* -- Sub Menu List -- */

#gnav .menu-ticket .menu-sub li {
  border-top-width: 0;
  border-bottom: 1px solid #ddd;
}

#gnav .menu-archives .menu-sub:before {
  margin-left: 15px;
}

#gnav .menu-ticket .menu-sub:before,
#gnav .menu-community .menu-sub:before {
  margin-left: -18px;
}

#gnav .menu-member .menu-sub:before,
#gnav .menu-support .menu-sub:before {
  margin-left: -26px;
}

/* ------ User Navi ------ */

#usernav {
  position: absolute;
  top: 4px;
  left: 0;
  width: 100%;
  font-size: .83em;
  overflow: hidden;
}

#usernav .inner {
  padding-top: 0;
  text-align: right;
}

#usernav .inner > * {
  position: relative;
  z-index: 2;
  display: inline-block;
  *display: inline;
  *zoom: 1;
  margin-left: 12px;
  padding-left: 15px;
  vertical-align: middle;
  border-left: 1px solid #ddd;
}

#usernav .inner > *:first-child {
  border-left-width: 0;
}

#usernav .usernav-list ul {
  margin: 0 0 0 -20px;
  padding: 0;
  letter-spacing: -.4em;
}

#usernav .usernav-list li {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  width: auto;
  padding-top: 0;
  padding-left: 20px;
  vertical-align: middle;
  letter-spacing: normal;
}

/* ---- User Navi List ---- */

#usernav .usernav-link {
}

#usernav .usernav-link li {
  margin-left: 13px;
  padding-left: 11px;
  border-left: 1px solid #ddd;
}

#usernav .usernav-link li:first-child {
  padding-left: 5px;
  border-left-width: 0;
}

/* ---- Language ---- */

#usernav .usernav-lang {
  margin-left: 20px;
}

#usernav .usernav-lang li {
  margin-left: 1px;
  padding-left: 0;
  letter-spacing: .05em;
}

#usernav .usernav-lang a {
  display: block;
  padding: 6px 45px 10px;
  background: #475300;
  border-radius: 0px 0px 3px 3px;
  color: #fff;
}

#usernav .usernav-lang a:hover {
  opacity: .7;
}

/* ---- Menu Search ---- */

#header-search .search-form {
  position: absolute;
  top: 62px;
  right: 0;
  z-index: 10;
  width: 290px;
}

#header-search .search-form .search-input {
  width: 100%;
  height: 43px;
  padding-left: 20px;
  padding-right: 60px;
  border-width: 0;
  box-shadow: none;
  border-width: 0;
  background: #f3f3f3;
  color: #222;
  font-size: .8em;
}

#header-search .search-form .search-btn {
  overflow: hidden;
  transition: background-color .4s ease-in-out,opacity .4s ease-in-out;
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 43px;
  padding: 0;
  border-radius: 0 2px 2px 0 !important;
  border: none;
  background: url(../img/icn-search.png) no-repeat center;
  background-size: 22px;
  text-indent: 300px;
  line-height: 300px;
  white-space: nowrap;
  cursor: pointer;
}

/* -------- Scroll Navi (onlyPC) -------- */

.display-pc #header.scroll .inner {
  max-width: 1200px;
  height: 62px;
  padding: 0;
}

.display-pc #header.scroll #logo a {
  transition: top .4s ease-in-out,opacity .4s ease-in-out;
  background: url(https://www.jsao.org/common/img/logo-sp.png) no-repeat center center;
  background-size: 100px;
}

.display-pc #header.scroll #logo a {
  position: fixed;
  top: 0;
  z-index: 55;
  overflow: hidden;
  width: 100%;
  width: 120px;
  height: 62px;
  margin: 0 0 0 -35px;
  padding: 0;
}

.display-pc #header #logo a img {
  transition: none;
  opacity: 1;
}

.display-pc #header.scroll #logo a img {
  opacity: 0;
  width: 62px;
}

.display-pc #header.scroll #gnav {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 50;
  box-shadow: 2px 2px 2px rgba(221,221,221,.8);
  background: #fff;
}

.display-pc #header.scroll #gnav .menu-list > ul {
  display: table;
  width: 1000px;
  height: 62px;
  margin: 0;
  padding: 0 0 0 142px;
}

.display-pc #header.scroll #gnav .menu-list > ul > li {
  float: none;
  display: table-cell;
  vertical-align: middle;
}

.display-pc #header.scroll #gnav .menu-list > ul > li > a,
.display-pc #header.scroll #gnav .menu-list > ul > li > p > a {
  height: auto;
  padding: 16px 0;
}

/* -- Parts Setting -- */

.display-pc #header.scroll #gnav .menu-list > ul > li.menu-archives {
  width: 150px;
  white-space: nowrap;
}

.display-pc #header.scroll #gnav .menu-list > ul > li.menu-about .menu-sub:before {
  left: 25%;
}

.display-pc #header.scroll #gnav .menu-list > ul > li.menu-archives .menu-sub:before {
  left: 17%;
}

.display-pc #header.scroll #gnav .menu-list > ul > li.menu-community .menu-sub:before {
  left: 22%;
}

/* -- Language English -- */

.display-pc.lang-e #header.scroll #logo a {
  background-image: url(https://www.jsao.org/common/img/logo-e.png);
  background-size: 60px;
}

.lang-e.display-pc #header.scroll #gnav .menu-list > ul > li.menu-concert {
  width: 110px;
}

.lang-e.display-pc #header.scroll #gnav .menu-list > ul > li.menu-ticket .menu-sub:before {
  left: 28%;
}

.lang-e.display-pc #header.scroll #gnav .menu-list > ul > li.menu-member {
  width: 190px;
}

.lang-e.display-pc #header.scroll #gnav .menu-list > ul > li.menu-member .menu-sub:before {
  left: 39%;
}

.lang-e.display-pc #header.scroll #gnav .menu-list > ul > li.menu-about {
  width: 160px;
}

.lang-e.display-pc #header.scroll #gnav .menu-list > ul > li.menu-archives {
  width: 180px;
}

.lang-e.display-pc #header.scroll #gnav .menu-list > ul > li.menu-archives .menu-sub:before {
  left: 24%;
}

/* -- Animation -- */

.display-pc #header.scroll #logo a,
.display-pc #header.scroll #gnav {
  top: -200px;
  top: 0\9;
  animation: hdrfx 1s ease 0s 1 forwards;
}

/* IE10 */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .display-pc #header.scroll #logo a,
  .display-pc #header.scroll #gnav {
    top: -200px;
  }
}

@keyframes hdrfx {
  100% {
    top: 0;
  }
}


/*  Content Settings
--------------------------------------------- */

#content {
  padding-bottom: 298px;
}

.main-content-inner {
  padding-top: 0;
}

/*  Content Top
----------------------------------- */

#content-top {
  overflow: hidden;
}

/*  Content Main
----------------------------------- */

#content-main {
  width: 100%;
}

#content-main > .inner {
  padding-top: 40px;
  padding-bottom: 100px;
}

/*  2 Column Setting
----------------------------------- */

/* ---- Main ---- */

#main {
  float: left;
  width: 730px;
}

/* ---- Side ---- */

#side {
  float: right;
  width: 250px;
  font-size: .9em;
}

#side .btn {
  margin-bottom: 1em;
}


/*  Footer Setting
--------------------------------------------- */

#footer {
  overflow: hidden;
  position: absolute;
  left: 0;
  bottom: -2px;
  z-index: 10;
  width: 100%;
  height: 300px;
  background: #475300;
  color: #fff;
}

#footer .inner {
  padding: 50px 0 100px;
  text-align: center;
  font-size: .9em;
}

#footer p,
#footer ul {
  margin-bottom: 0;
  padding-left: 0;
}

/* ---- Copyright ---- */

#copyright {
  display: block;
  font-size: .85em;
  text-align: center;
  line-height: 1.7;
}

/* ---- Page Top ---- */

#pagetop {
  visibility: hidden;
  opacity: 0;
  display: none\9;
  transition: opacity .3s ease-in-out,visibility .3s ease-in-out,z-index .3s ease-in-out;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translate3d(0,0,0);
  transform: translate3d(0, 0, 0);
  overflow: hidden;
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: -2;
  width: 58px;
  height: 58px;
}

#pagetop.show {
  opacity: 1;
  display: block\9;
  z-index: 10;
  visibility: visible;
}

#pagetop.fxd {
}

#pagetop a {
  display: block;
  position: relative;
  top: auto;
  left: auto;
  overflow: hidden;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 1px solid #ffffff;
  background: #475300;
  border-radius: 100%;
}

#pagetop a:before {
  display: block;
  border-radius: 1px;
  overflow: hidden;
  transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin-top: -4px;
  margin-left: -8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  content: "";
}

#pagetop a:hover {
  opacity: .8;
}

#pagetop a span {
  display: none;
}

/*  Overlay Setting
--------------------------------------------- */

#overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 50;
  background: rgba(0,0,0,.6);
}


/*  byFlow
--------------------------------------------- */
.mtb0 {margin-top: 0px !important; margin-bottom: 0px !important;}
.mta {margin-top: auto !important; }
.mt0 {margin-top: 0px !important; }
.mt5 {margin-top: 5px !important; }
.mt10 {margin-top: 10px !important; }
.mt15 {margin-top: 15px !important; }
.mt20 {margin-top: 20px !important; }
.mt25 {margin-top: 25px !important; }
.mt30 {margin-top: 30px !important; }
.mt35 {margin-top: 35px !important; }
.mt40 {margin-top: 40px !important; }
.mt45 {margin-top: 45px !important; }
.mt50 {margin-top: 50px !important; }
.mra {margin-right: auto !important; }
.mr0 {margin-right: 0px !important; }
.mr5 {margin-right: 5px !important; }
.mr10 {margin-right: 10px !important; }
.mr15 {margin-right: 15px !important; }
.mr20 {margin-right: 20px !important; }
.mr25 {margin-right: 25px !important; }
.mr30 {margin-right: 30px !important; }
.mr35 {margin-right: 35px !important; }
.mr40 {margin-right: 40px !important; }
.mr45 {margin-right: 45px !important; }
.mr50 {margin-right: 50px !important; }
.mba {margin-bottom: auto !important; }
.mb0 {margin-bottom: 0px !important; }
.mb5 {margin-bottom: 5px !important; }
.mb10 {margin-bottom: 10px !important; }
.mb15 {margin-bottom: 15px !important; }
.mb20 {margin-bottom: 20px !important; }
.mb25 {margin-bottom: 25px !important; }
.mb30 {margin-bottom: 30px !important; }
.mb35 {margin-bottom: 35px !important; }
.mb40 {margin-bottom: 40px !important; }
.mb45 {margin-bottom: 45px !important; }
.mb50 {margin-bottom: 50px !important; }
.mla {margin-left: auto !important; }
.ml0 {margin-left: 0px !important; }
.ml5 {margin-left: 5px !important; }
.ml10 {margin-left: 10px !important; }
.ml15 {margin-left: 15px !important; }
.ml20 {margin-left: 20px !important; }
.ml25 {margin-left: 25px !important; }
.ml30 {margin-left: 30px !important; }
.ml35 {margin-left: 35px !important; }
.ml40 {margin-left: 40px !important; }
.ml45 {margin-left: 45px !important; }
.ml50 {margin-left: 50px !important; }
.ptb0 {padding-top: 0px !important; padding-bottom: 0px !important;}
.ptblr5 {padding-top: 5px !important; padding-bottom: 5px !important; padding-left: 5px !important; padding-right: 5px !important;}
.ptblr10 {padding-top: 10px !important; padding-bottom: 10px !important; padding-left: 10px !important; padding-right: 10px !important;}
.pta {padding-top: auto !important; }
.pt0 {padding-top: 0px !important; }
.pt5 {padding-top: 5px !important; }
.pt10 {padding-top: 10px !important; }
.pt15 {padding-top: 15px !important; }
.pt20 {padding-top: 20px !important; }
.pt25 {padding-top: 25px !important; }
.pt30 {padding-top: 30px !important; }
.pt35 {padding-top: 35px !important; }
.pt40 {padding-top: 40px !important; }
.pt45 {padding-top: 45px !important; }
.pt50 {padding-top: 50px !important; }
.pra {padding-right: auto !important; }
.pr0 {padding-right: 0px !important; }
.pr5 {padding-right: 5px !important; }
.pr10 {padding-right: 10px !important; }
.pr15 {padding-right: 15px !important; }
.pr20 {padding-right: 20px !important; }
.pr25 {padding-right: 25px !important; }
.pr30 {padding-right: 30px !important; }
.pr35 {padding-right: 35px !important; }
.pr40 {padding-right: 40px !important; }
.pr45 {padding-right: 45px !important; }
.pr50 {padding-right: 50px !important; }
.pba {padding-bottom: auto !important; }
.pb0 {padding-bottom: 0 !important; }
.pb5 {padding-bottom: 5px !important; }
.pb10 {padding-bottom: 10px !important; }
.pb15 {padding-bottom: 15px !important; }
.pb20 {padding-bottom: 20px !important; }
.pb25 {padding-bottom: 25px !important; }
.pb30 {padding-bottom: 30px !important; }
.pb35 {padding-bottom: 35px !important; }
.pb40 {padding-bottom: 40px !important; }
.pb45 {padding-bottom: 45px !important; }
.pb50 {padding-bottom: 50px !important; }
.pla {padding-left: auto !important; }
.pl0 {padding-left: 0px !important; }
.pl5 {padding-left: 5px !important; }
.pl10 {padding-left: 10px !important; }
.pl15 {padding-left: 15px !important; }
.pl20 {padding-left: 20px !important; }
.pl25 {padding-left: 25px !important; }
.pl30 {padding-left: 30px !important; }
.pl35 {padding-left: 35px !important; }
.pl40 {padding-left: 40px !important; }
.pl45 {padding-left: 45px !important; }
.pl50 {padding-left: 50px !important; }
.vat {vertical-align: top !important; }
.vam {vertical-align: middle !important; }
.vab {vertical-align: bottom !important; }
.sen{ border: 1px solid #cccccc !important;}
.red {color:#d00716 !important;}
.blue {color:#06C !important;}
.navy {color:#031d61 !important;}
.orange {color:#ff6600 !important;}
.white {color:#FFF !important;}
.gray {color:#666 !important;}
.brown {color:#894d14 !important;}
.normal{ font-weight:normal !important;}
.bold{ font-weight:600 !important;}
.line{ text-decoration: underline !important;}
.center{ text-align: center !important;}
.left{ text-align: left !important;}
.right{ text-align: right !important;}
.nbr{ white-space: nowrap !important;}
.soro1{ text-indent:-1em !important; padding-left:1em;}
.soro1_1{ text-indent:-1.1em !important; padding-left:1.1em !important;}
.soro1_2{ text-indent:-1.2em !important; padding-left:1.2em !important;}
.soro1_3{ text-indent:-1.3em !important; padding-left:1.3em !important;}
.soro1_4{ text-indent:-1.4em !important; padding-left:1.4em !important;}
.soro1_5{ text-indent:-1.5em !important; padding-left:1.5em !important;}
.soro1_6{ text-indent:-1.6em !important; padding-left:1.6em !important;}
.soro1_7{ text-indent:-1.7em !important; padding-left:1.7em !important;}
.soro1_8{ text-indent:-1.8em !important; padding-left:1.8em !important;}
.soro1_9{ text-indent:-1.9em !important; padding-left:1.9em !important;}
.soro2{ text-indent:-2em !important; padding-left:2em !important;}
.soro2_1{ text-indent:-2.1em !important; padding-left:2.1em !important;}
.soro2_2{ text-indent:-2.2em !important; padding-left:2.2em !important;}
.soro2_3{ text-indent:-2.3em !important; padding-left:2.3em !important;}
.soro2_4{ text-indent:-2.4em !important; padding-left:2.4em !important;}
.soro2_5{ text-indent:-2.5em !important; padding-left:2.5em !important;}
.soro3{ text-indent:-3em !important; padding-left:3em !important;}
.soro3_5{ text-indent:-3.5em !important; padding-left:3.5em !important;}
.soro4{ text-indent:-4em !important; padding-left:4em !important;}
.soro4_5{ text-indent:-4.5em !important; padding-left:4.5em !important;}
.soro5{ text-indent:-5em !important; padding-left:5em !important;}
.soro6{ text-indent:-6em !important; padding-left:6em !important;}
.soro7{ text-indent:-7em !important; padding-left:7em !important;}
.soro8{ text-indent:-8em !important; padding-left:8em !important;}
.soro9{ text-indent:-9em !important; padding-left:9em !important;}
.soro10{ text-indent:-10em !important; padding-left:10em !important;}
.ml1em {margin-left: 1em !important; }
.ml1_5em {margin-left: 1.5em !important; }
.ml2em {margin-left: 2em !important; }
.ml2_5em {margin-left: 2.5em !important; }
.ml3em {margin-left: 3em !important; }
.ml3_5em {margin-left: 3.5em !important; }
.ml4em {margin-left: 4em !important; }
.ml4_5em {margin-left: 4.5em !important; }
.ml5em {margin-left: 5em !important; }

.flll{ font-size:1.4em; line-height:1.7; }
.fll{ font-size:1.2em; line-height:1.7; }
.fl{ font-size:1.1em; line-height:1.7; }
.fs{ font-size:0.9em; line-height:1.7; }
.fss{ font-size:0.8em; line-height:1.7; }
.fsss{ font-size:0.7em; line-height:1.7; }
hr.dotted{ border: none; border-top: 3px dotted #cccccc;}
hr.dashed{ border: none; border-top: 3px dashed #cccccc;}
.w10{ width:10% !important;}
.w20{ width:20% !important;}
.w30{ width:30% !important;}
.w40{ width:40% !important;}
.w50{ width:50% !important;}
.w60{ width:60% !important;}
.w70{ width:70% !important;}
.w80{ width:80% !important;}
.w90{ width:90% !important;}
.dib{ display:inline-block !important;}
.w100{ width:100% !important;}
.bggray{ background-color:#a9a9a9 !important;}
.pcbr { display: block !important;}
.spbr { display: none !important;}

/* ボタン
----------------------------------------------- */
.button1_blue {
color:#ffffff !important;
text-align: center;
font-weight: 400;
line-height:1.4;
background-color: #4293fe;
display: inline-block !important;
cursor: pointer !important;
padding: 0.6rem 1.8rem 0.8rem 1.8rem;
border-radius: 0.8rem;
-webkit-border-radius: 0.8rem;
-moz-border-radius: 0.8rem;
text-indent: 0;
}

.button2_blue {
color:#ffffff !important;
text-align: center;
font-size: 1.2em;
font-weight: 500;
line-height:1.4;
background-color: #4293fe;
display: inline-block !important;
cursor: pointer !important;
padding: 1rem 3.6rem 1.2rem 3.6rem;
border-radius: 0.8rem;
-webkit-border-radius: 0.8rem;
-moz-border-radius: 0.8rem;
text-indent: 0;
}

.button1_red {
color:#ffffff !important;
text-align: center;
font-weight: 400;
line-height:1.4;
background-color: #fd5c42;
display: inline-block;
cursor: pointer !important;
padding: 0.6rem 1.8rem 0.8rem 1.8rem;
border-radius: 0.8rem;
-webkit-border-radius: 0.8rem;
-moz-border-radius: 0.8rem;
text-indent: 0;
}

.button2_red {
color:#ffffff !important;
text-align: center;
font-size: 1.2em;
font-weight: 500;
line-height:1.4;
background-color: #fd5c42;
display: inline-block !important;
cursor: pointer !important;
padding: 1rem 3.6rem 1.2rem 3.6rem;
border-radius: 0.8rem;
-webkit-border-radius: 0.8rem;
-moz-border-radius: 0.8rem;
text-indent: 0;
}

.button1_purple {
color:#ffffff !important;
text-align: center;
font-weight: 400;
line-height:1.4;
background-color: #985de2;
display: inline-block;
cursor: pointer !important;
padding: 0.6rem 1.8rem 0.8rem 1.8rem;
border-radius: 0.8rem;
-webkit-border-radius: 0.8rem;
-moz-border-radius: 0.8rem;
text-indent: 0;
}

.button2_purple {
color:#ffffff !important;
text-align: center;
font-size: 1.2em;
font-weight: 500;
line-height:1.4;
background-color: #985de2;
display: inline-block !important;
cursor: pointer !important;
padding: 1rem 3.6rem 1.2rem 3.6rem;
border-radius: 0.8rem;
-webkit-border-radius: 0.8rem;
-moz-border-radius: 0.8rem;
text-indent: 0;
}

.button1_green {
color:#ffffff !important;
text-align: center;
font-weight: 400;
line-height:1.4;
background-color: #00a384;
display: inline-block !important;
cursor: pointer !important;
padding: 0.6rem 1.8rem 0.8rem 1.8rem;
border-radius: 0.8rem;
-webkit-border-radius: 0.8rem;
-moz-border-radius: 0.8rem;
text-indent: 0;
}

.button2_green {
color:#ffffff !important;
text-align: center;
font-size: 1.2em;
font-weight: 500;
line-height:1.4;
background-color: #00a384;
display: inline-block !important;
cursor: pointer !important;
padding: 1rem 3.6rem 1.2rem 3.6rem;
border-radius: 0.8rem;
-webkit-border-radius: 0.8rem;
-moz-border-radius: 0.8rem;
text-indent: 0;
}

.button1_orange {
color:#ffffff !important;
text-align: center;
font-weight: 400;
line-height:1.4;
background-color: #ff9342;
display: inline-block !important;
cursor: pointer !important;
padding: 0.6rem 1.8rem 0.8rem 1.8rem;
border-radius: 0.8rem;
-webkit-border-radius: 0.8rem;
-moz-border-radius: 0.8rem;
text-indent: 0;
}

.button2_orange {
color:#ffffff !important;
text-align: center;
font-size: 1.2em;
font-weight: 500;
line-height:1.4;
background-color: #ff9342;
display: inline-block !important;
cursor: pointer !important;
padding: 1rem 3.6rem 1.2rem 3.6rem;
border-radius: 0.8rem;
-webkit-border-radius: 0.8rem;
-moz-border-radius: 0.8rem;
text-indent: 0;
}

.hissu {
color:#ffffff;
text-align: center;
font-size: .9em;
line-height:100%;
background-color: #fd5c42;
display: inline-block;
padding: .4rem .6rem .5rem .6rem;
border-radius: 0.3rem;
-webkit-border-radius: 0.3rem;
-moz-border-radius: 0.3rem;
}

.cf7 input[type="submit"] {
margin-left:auto;
margin-right:auto;
width:70%;
color:#ffffff !important;
border:0;
text-align: center;
font-size: 1.2em;
font-weight: 500;
line-height:1.4;
background-color: #ff9342;
display: block !important;
cursor: pointer !important;
padding: 1rem 3.6rem 1.2rem 3.6rem;
border-radius: 0.8rem;
-webkit-border-radius: 0.8rem;
-moz-border-radius: 0.8rem;
text-indent: 0;
}

.cf7 input[type="submit"]:hover {
  opacity: .7;
}

@media screen and (max-width: 600px) {
.pcbr { display: none !important;}
.spbr { display: block !important;}
.w10{ width:30% !important;}
.w20{ width:40% !important;}
.w30{ width:60% !important;}
.w40{ width:80% !important;}
.w50{ width:90% !important;}
.w60{ width:100% !important;}
.w70{ width:100% !important;}
.w80{ width:100% !important;}
.w90{ width:100% !important;}
.button1_blue, .button1_red, .button1_purple, .button1_green, .button1_orange { padding: 0.4rem 1.2rem;}
.button2_blue, .button2_red, .button2_purple, .button2_green, .button2_orange { width:100%; padding: 0.8rem 1.8rem;}
}