@charset "UTF-8";
/*

template project
@jun akagi

*/
/*-------------------------------------------------------

base

baseではサイト内の基本的な設定を行う
現バージョンでは以下を追加している
・cssリセット
・フォントリセットとマスターの設定
・PC専用/モバイル専用クラス
・Googleマップレスポンシブ化
・flex（safariとiPhoneではキャンセル）、その他flex関連の補助クラス

-------------------------------------------------------*/
abbr,
acronym,
address,
applet,
big,
blockquote,
body,
button,
caption,
cite,
code,
dd,
del,
dfn,
div,
dl,
dt,
em,
fieldset,
font,
form,
h1,
h2,
h3,
h4,
h5,
h6,
html,
iframe,
img,
ins,
kbd,
label,
legend,
li,
object,
ol,
p,
pre,
q,
samp,
span,
table,
tfoot,
ul {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  line-height: 1.5;
  font-weight: 400;
  font-style: normal;
  color: #333;
}

:where(.jppage) abbr,
:where(.jppage) acronym,
:where(.jppage) address,
:where(.jppage) applet,
:where(.jppage) b,
:where(.jppage) big,
:where(.jppage) blockquote,
:where(.jppage) button,
:where(.jppage) caption,
:where(.jppage) center,
:where(.jppage) cite,
:where(.jppage) code,
:where(.jppage) dd,
:where(.jppage) del,
:where(.jppage) dfn,
:where(.jppage) div,
:where(.jppage) dl,
:where(.jppage) dt,
:where(.jppage) em,
:where(.jppage) fieldset,
:where(.jppage) font,
:where(.jppage) form,
:where(.jppage) h1,
:where(.jppage) h2,
:where(.jppage) h3,
:where(.jppage) h4,
:where(.jppage) h5,
:where(.jppage) h6,
:where(.jppage) i,
:where(.jppage) iframe,
:where(.jppage) img,
:where(.jppage) ins,
:where(.jppage) kbd,
:where(.jppage) label,
:where(.jppage) legend,
:where(.jppage) li,
:where(.jppage) object,
:where(.jppage) ol,
:where(.jppage) p,
:where(.jppage) pre,
:where(.jppage) q,
:where(.jppage) s,
:where(.jppage) samp,
:where(.jppage) small,
:where(.jppage) span,
:where(.jppage) strike,
:where(.jppage) strong,
:where(.jppage) sub,
:where(.jppage) sup,
:where(.jppage) table,
:where(.jppage) tfoot,
:where(.jppage) tt,
:where(.jppage) u,
:where(.jppage) ul,
:where(.jppage) var {
  font-family: メイリオ, MS Pゴシック, Arial, sans-serif;
}

a {
  font-size: inherit;
  vertical-align: baseline;
  background: transparent;
  line-height: inherit;
  font-weight: 400;
  font-style: normal;
  color: #333;
}

i {
  font-style: normal;
  font-weight: normal;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:after,
blockquote:before,
q:after,
q:before {
  content: "";
  content: none;
}

:focus {
  outline: 0;
}

ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

table {
  border-spacing: 0;
}

input,
select,
textarea {
  font: 100% "MS Pゴシック", Arial, sans-serif;
}

table {
  font-size: inherit;
}

sup {
  vertical-align: super;
  font-size: 50%;
  line-height: 1;
}

/*PC専用/モバイル専用クラス*/
.onlypc {
  display: block;
}

span.onlypc,
br.onlypc {
  display: inline;
}

.onlymobile {
  display: none;
}

@media only screen and (max-width: 979px) {
  .onlypc,
  span.onlypc,
  br.onlypc {
    display: none;
  }
  .onlymobile {
    display: block;
  }
  span.onlymobile,
  br.onlymobile {
    display: inline;
  }
}
.dib {
  display: inline-block;
  font-size: inherit;
  color: inherit;
  font-weight: inherit;
}

.displaynone {
  display: none;
}

.wating {
  color: #f00;
  font-weight: bold;
}

.corp-color {
  color: #1d7ec2;
}

/*Googleマップレスポンシブ化*/
/*div要素、section要素等のブロック要素に.ggmapを付与し、内部にGoogleマップから吐き出された埋め込み用要素を貼り付ける
このときiframe要素に入っているwidth属性やhight属性は無視される*/
.ggmap,
.youtube {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  margin-bottom: 30px;
}

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

/*flex*/
/*flexを使用したいボックスにflexクラスを付与すると直下の子要素が横並びになる
flex非対応ブラウザおよびsafariではキャンセルされるようにする*/
.flex,
.flexbasic {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -moz-flex;
  display: -ms-flexbox;
  display: -webkit-flexbox;
  display: flex;
}

.ua-safari .flex,
.no-flexbox .flex,
.ua-safari .flexbasic,
.no-flexbox .flexbasic {
  display: block;
  overflow: hidden;
}

.ua-safari .flex2x,
.no-flexbox .flex2x {
  overflow: hidden;
}

.ua-safari .flex2x > *,
.no-flexbox .flex2x > * {
  float: left;
}

.ua-safari .flex2x > *:nth-child(2n),
.no-flexbox .flex2x > *:nth-child(2n) {
  float: right;
}

.jcsb {
  justify-content: -webkit-space-between;
  justify-content: -moz-space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.jcar {
  justify-content: -webkit-space-around;
  justify-content: -moz-space-around;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.jcc {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.aic {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.acsb {
  align-content: -webkit-space-between;
  align-content: -moz-space-between;
  -ms-flex-line-pack: justify;
      align-content: space-between;
}

.fdcu {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.fdrr {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.flwp,
.flexbasic {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0;
}

.clearfix {
  zoom: 1;
}

.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}

.clearfix:after {
  clear: both;
}

#mainVisual .flexbasic > *,
#main .flexbasic > *,
#footer .flexbasic > * {
  float: left;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#mainVisual .flexbasic > *:before,
#main .flexbasic > *:before,
#footer .flexbasic > *:before {
  content: none;
}

#mainVisual .flexbasic > .leftend,
#main .flexbasic > .leftend,
#footer .flexbasic > .leftend {
  clear: left;
}

#mainVisual .flexbasic > .rightend,
#main .flexbasic > .rightend,
#footer .flexbasic > .rightend {
  margin-right: 0 !important;
}

.tablebreaker.breaking thead {
  display: none;
}

.tablebreaker.breaking,
.tablebreaker.breaking tbody,
.tablebreaker.breaking tr,
.tablebreaker.breaking th,
.tablebreaker.breaking td,
.tablebreaker.breaking caption {
  display: block;
  width: 100%;
  border: none;
  padding: 0;
  background: none;
  font-size: 100%;
  line-height: 1.5;
}

.tablebreaker.breaking {
  margin-bottom: 18px;
}

.tablebreaker.breaking th {
  border-bottom: #333 1px solid;
  margin-bottom: 9px;
}

.tablebreaker.breaking tr {
  margin-bottom: 18px;
}

.tablebreaker.breaking tr:last-child {
  margin-bottom: 0;
}

.tablebreaker.breaking td {
  font-size: 94%;
}

.tablebreaker.breaking caption {
  font-size: 83.3%;
}

.tablebreaker.breaking caption:before {
  content: "※ ";
}

#navbox {
  display: none;
}

.btnsHoverList > *,
.btnsHover {
  cursor: pointer !important;
}

body {
  /*	background: #ffffff url(../../master.jpg) 50% 0 no-repeat;*/
  /*	padding-bottom: 2000px;*/
  /*	background: #ffffff;*/
  width: 100%;
}

.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

.fixwidth {
  max-width: 980px;
  /*	min-width: 320px;*/
  margin: auto;
}

@media only screen and (max-width: 979px) {
  .fixwidth {
    margin: 0 10px;
  }
}
@media only print {
  .fixwidth {
    max-width: 100%;
  }
}
@media only screen and (min-width: 980px) {
  #gNav > ul {
    display: table;
    width: 100%;
  }
  #gNav > ul > li {
    display: table-cell;
  }
  #gNav a,
  #gNav span {
    display: block;
  }
  .megamenu #pNav {
    position: relative;
    z-index: 1000;
  }
  .megamenu #pNav > div {
    position: absolute;
    left: 0;
    right: 0;
  }
  .pulldown #gNav > ul > li {
    position: relative;
  }
  .pulldown #gNav > ul > li > ul {
    position: absolute;
    left: 0;
    right: 0;
  }
}
@media only screen and (max-width: 979px) {
  #gNav > ul {
    display: block;
  }
  #gNav > ul > li {
    display: block;
  }
  #gNav a,
  #gNav span {
    display: block;
  }
}
@media only print {
  #gNav, #pNav {
    display: none;
  }
}
* sup {
  font-size: 75%;
}

* sub {
  font-size: 75%;
  vertical-align: baseline;
}

/*-------------------------------------------------------

design

基本的なレイアウト、各種パーツの振る舞い、スタンダートな文章デザインをここで設定する
css作成作業の大部分がこのゾーンでの作業になる

-------------------------------------------------------*/
#header {
  padding: 0;
  /*	overflow: hidden;*/
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#header .fixwidth {
  position: relative;
}

h1 a {
  display: block;
  padding: 16px 22px;
}

h1 a img {
  vertical-align: bottom;
}

h1.custom_h1__wrap a {
  display: block;
  padding: 16px 22px;
  font-size: 0;
  max-width: 100%;
}
h1.custom_h1__wrap a::before {
  content: "";
  background: url("../img/logo.png") no-repeat center center;
  background-size: contain;
  height: 100%;
  aspect-ratio: 213/34;
  max-height: 68px;
  -webkit-margin-after: 7px;
          margin-block-end: 7px;
  display: block;
}
h1.custom_h1__wrap a span {
  display: block;
}

#tNav {
  background: #2554B0;
}
#top.kumiai #tNav {
  background: #e66000;
}

#tNav ul {
  padding: 11px 0 7px;
  overflow: hidden;
  position: relative;
}

#tNav li {
  float: left;
  border-left: #fff 1px solid;
}

#tNav li:first-child {
  border-left: none;
}

#tNav a {
  display: block;
  padding: 6px 15px 6px 50px;
  color: #fff;
  text-decoration: none;
  background-repeat: no-repeat;
  background-position: 10px 45%;
}

#tNav .guide a {
  background-image: url(../img/tNav_guide.png);
}

#tNav .faq a {
  background-image: url(../img/tNav_faq.png);
}

#tNav .contact a {
  background-image: url(../img/tNav_contact.png);
}

#tNav .tabstyle {
  position: absolute;
  top: 0;
  right: 23px;
  float: none;
  border: none;
  display: none;
}

#tNav .tabstyle a {
  padding: 13px 30px 12px 15px;
  color: #2554B0;
  font-size: 110%;
  font-weight: bold;
  line-height: 1.35;
  border-radius: 0 0 5px 5px;
  background: #fff;
  position: relative;
}
#tNav .tabstyle a.tabstyle--to-kumiai {
  background: #ffea66;
}

#tNav .tabstyle a:before,
#tNav .tabstyle a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 4px;
  height: 15px;
  background: #2554B0;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}

#tNav .tabstyle a:before {
  -webkit-transform-origin: bottom right;
      -ms-transform-origin: bottom right;
          transform-origin: bottom right;
  -webkit-transform: translateY(-100%) rotate(-45deg);
      -ms-transform: translateY(-100%) rotate(-45deg);
          transform: translateY(-100%) rotate(-45deg);
}

#tNav .tabstyle a:after {
  -webkit-transform-origin: top right;
      -ms-transform-origin: top right;
          transform-origin: top right;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}

#tBox {
  position: absolute;
  bottom: 98px;
  right: 17px;
}

#searchbox {
  display: block;
}
@media only screen and (max-width: 767px) {
  #searchbox {
    display: none;
  }
}

#searchboxmobile {
  display: none;
}
@media only screen and (max-width: 767px) {
  #searchboxmobile {
    display: block;
  }
}

#___gcse_0 {
  width: auto;
  display: block;
  float: left;
  margin-left: 5px;
}
#___gcse_0 .gsc-control-cse {
  padding: 0;
  background: transparent;
  border: none;
}
#___gcse_0 .gsc-control-searchbox-only {
  width: auto;
}
#___gcse_0 table.gsc-search-box {
  width: auto !important;
}
#___gcse_0 table.gsc-search-box tbody {
  display: block;
}
#___gcse_0 table.gsc-search-box tr {
  display: block;
}
#___gcse_0 .gsc-input {
  display: block;
  float: left;
}
#___gcse_0 .gsc-search-box-tools .gsc-search-box .gsc-input,
#___gcse_0 .gsc-search-box-tools .gsc-search-box .gsc-input-box {
  border: none;
  padding: 0;
  height: auto;
}
#___gcse_0 td.gsib_a,
#___gcse_0 div.gsst_b {
  padding: 0;
}
#___gcse_0 div.gsst_b {
  padding: 0;
  height: 20px;
}
#___gcse_0 td.gsib_b {
  height: auto !important;
  cursor: pointer;
  width: auto;
  position: relative;
  padding: 0;
}
#___gcse_0 td.gsib_b a {
  position: absolute;
  inset: 0 0 0 auto;
}
#___gcse_0 td.gsib_a input {
  display: block;
  padding: 0;
  margin: 0;
  height: 35px !important;
  line-height: 35px;
  border: #999 1px solid !important;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  min-width: 250px;
}
#___gcse_0 td.gsc-search-button {
  display: block !important;
  float: left;
  clear: none;
}
#___gcse_0 button.gsc-search-button {
  display: block !important;
  background: #4489CA;
  padding: 11px 20px;
  margin: 0;
  font-size: 83.3%;
  color: #fff;
  border-left: none;
  height: 37px !important;
  line-height: 13px;
  cursor: pointer;
}
#___gcse_0 div.gsc-clear-button {
  display: block;
}

#___gcse_1 {
  width: 100%;
  display: block;
  background: transparent;
}
#___gcse_1 .gsc-control-cse {
  padding: 0;
  background: transparent;
  border: none;
}
#___gcse_1 .gsc-control-searchbox-only {
  width: auto;
}
#___gcse_1 table.gsc-search-box {
  margin: 0;
}
#___gcse_1 .gsc-search-box-tools .gsc-search-box .gsc-input,
#___gcse_1 .gsc-search-box-tools .gsc-search-box .gsc-input-box {
  border: none;
  padding: 0;
  height: auto;
  border-radius: 0;
}
#___gcse_1 td.gsib_a,
#___gcse_1 div.gsst_b {
  padding: 0;
}
#___gcse_1 div.gsst_b {
  padding: 0;
  height: 20px;
}
#___gcse_1 td.gsib_b {
  height: auto !important;
  cursor: pointer;
  width: auto;
  position: relative;
  padding: 0;
}
#___gcse_1 td.gsib_b a {
  position: absolute;
  inset: 0 0 0 auto;
}
#___gcse_1 td.gsib_a input {
  display: block;
  padding: 0;
  margin: 0;
  height: 35px !important;
  line-height: 35px;
  border: #999 1px solid !important;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#___gcse_1 .gsc-search-button {
  display: block !important;
}
#___gcse_1 button.gsc-search-button {
  display: block;
  background: #4489CA;
  padding: 11px 20px;
  margin: 0;
  font-size: 83.3%;
  color: #fff;
  border-left: none;
  height: 35px !important;
  line-height: 13px;
  border-radius: 0;
}
@media only screen and (max-width: 979px) {
  #header .fixwidth {
    position: static;
  }
  #tBox {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  h1 {
    float: none;
  }
  h1 a {
    display: block;
    padding: 10px 10px;
  }
  h1 a img {
    width: calc(100% - 50px);
    max-width: 254px;
    height: auto;
  }
  h1.custom_h1__wrap a {
    padding: 10px 10px;
  }
  h1.custom_h1__wrap a::before {
    width: calc(100% - 50px);
    max-width: 254px;
  }
  #tNav ul {
    padding: 0.3em 0;
    margin: 0;
    width: 100%;
    height: 30px;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (auto)[3];
    grid-template-columns: repeat(3, auto);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #tNav li {
    float: none;
  }
  #tNav a {
    font-size: 75%;
    font-size: min(3vw, 100%);
    background-size: 2em;
    padding: 0 0 0 min(10vw, 3.5em);
    height: 100%;
    display: block;
  }
}
@media only print {
  #header {
    border-bottom-width: 5px;
  }
  #tNav {
    display: none;
  }
}
@media only screen and (min-width: 980px) {
  #gNav {
    margin-bottom: 18px;
  }
  #gNav > ul {
    margin: auto;
  }
  #gNav > ul > li {
    display: block;
    float: left;
    width: 20%;
    margin-right: 0;
  }
  #gNav > ul > li.last-child {
    margin-right: 0;
  }
  #gNav > ul > li.hasChild {
    cursor: pointer;
  }
  #gNav > ul > li > a {
    text-align: center;
    height: 82px;
    line-height: 130px;
    line-height: calc(164px - 1.8em);
    background-repeat: no-repeat;
    background-position: 50% 5px;
    text-decoration: none;
    position: relative;
  }
  #gNav > ul > li.products > a {
    background-image: url(../img/gnav/products.png);
  }
  #gNav > ul > li.seikyu > a {
    background-image: url(../img/gnav/kanyu.png);
  }
  #gNav > ul > li.case > a {
    background-image: url(../img/gnav/case.png);
  }
  #gNav > ul > li.mitsumori > a {
    background-image: url(../img/gnav/mitsumori.png);
  }
  #gNav > ul > li.enjoy > a {
    background-image: url(../img/gnav/enjoy.png);
  }
  #gNav > ul > li.support > a {
    background-image: url(../img/gnav/siryo.png);
  }
  #gNav > ul > li.mypage > a {
    background-image: url(../img/gnav/mypage.png);
  }
  #gNav > ul > li:not(.nopnav) > a {
    pointer-events: none;
  }
  .kento #gNav > ul > li.noall {
    display: none;
  }
  .all #gNav > ul > li.noall {
    display: none;
  }
  .kumiai #gNav > ul > li.nokumiai {
    display: none;
  }
  .megamenu #gNav li > ul {
    display: none;
  }
}
@media only screen and (max-width: 979px) {
  #gNav {
    padding: 10px 10px 0;
    z-index: 10000;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -100%;
    right: 0;
    max-width: calc(100% - 70px);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    overflow-y: auto;
    /*	display: none;*/
  }
  #gNav > ul > li {
    clear: left;
  }
  #gNav > ul > li.home {
    width: calc(50% - 5px);
  }
  #gNav > ul > li.home:nth-child(2n-1) {
    float: left;
  }
  #gNav > ul > li.home:nth-child(2n) {
    float: right;
    clear: none;
  }
  #gNav ul > li > a,
  #gNav ul > li > span {
    background: #2554B0;
    color: #fff;
    padding: 10px 30px 10px 10px;
    border-radius: 5px;
    margin-bottom: 9px;
    font-size: 115%;
    text-decoration: none;
    position: relative;
  }
  #gNav ul > li > a.backmenu {
    padding: 10px 30px 10px 30px;
  }
  #gNav ul > li > a.backmenu,
  #gNav ul > li.hasChild > a {
    pointer-events: none;
  }
  #gNav ul > li > a.backmenu:before,
  #gNav ul > li.hasChild > a:before,
  #gNav ul > li.hasChild > span:before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    border: transparent 6px solid;
  }
  #gNav ul > li > a.backmenu:before {
    left: 10px;
    border-left: none;
    border-right-color: #fff;
    border-right-width: 12px;
  }
  #gNav ul > li.hasChild > a:before,
  #gNav ul > li.hasChild > span:before {
    right: 10px;
    border-right: none;
    border-left-color: #fff;
    border-left-width: 12px;
  }
  #gNav ul > li > a span {
    font-size: inherit;
    color: inherit;
  }
  #gNav ul > li > a span.short {
    display: none;
  }
  .megamenu #gNav li > ul {
    display: block;
  }
  #gNav li > ul {
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 10000;
    position: absolute;
    top: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    left: calc(-100% - 10px);
    width: 100%;
    overflow: auto;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
  }
  #gNav li > ul::-webkit-scrollbar {
    width: 0.4em;
  }
  #gNav li > ul::-webkit-scrollbar-thumb {
    background: #ffffff;
    border-radius: 100vmax;
  }
  .gnavactive #gNav li.active > ul {
    left: 0;
  }
  .drilldown #pNav {
    display: none;
  }
}
@media only screen and (max-width: 500px) {
  #gNav ul > li > a,
  #gNav ul > li > span {
    padding: 5px 26px 5px 10px;
    font-size: 94%;
  }
  #gNav ul > li > a.backmenu {
    padding: 5px 10px 5px 26px;
  }
  #gNav ul > li > a.backmenu:before,
  #gNav ul > li.hasChild > a:before,
  #gNav ul > li.hasChild > span:before {
    border-width: 4px;
  }
  #gNav ul > li > a.backmenu:before {
    border-right-width: 8px;
  }
  #gNav ul > li.hasChild > a:before,
  #gNav ul > li.hasChild > span:before {
    border-left-width: 8px;
  }
}
@media only screen and (max-width: 359px) {
  #gNav ul > li > a,
  #gNav ul > li > span {
    padding: 3px 20px 3px 5px;
    font-size: 83.3%;
  }
  #gNav ul > li > a.backmenu {
    padding: 3px 5px 3px 20px;
  }
  #gNav ul > li > a.backmenu:before,
  #gNav ul > li.hasChild > a:before,
  #gNav ul > li.hasChild > span.before {
    border-width: 4px;
  }
  #gNav ul > li > a.backmenu:before {
    left: 5px;
    border-right-width: 8px;
  }
  #gNav ul > li.hasChild > a:before,
  #gNav ul > li.hasChild > span.before {
    right: 5px;
    border-left-width: 8px;
  }
}
/*
	#pageTitleBox,
	#main,
	#footer {display: none;}
*/
/*メガメニューデザイン設定例*/
.megamenu #pNav {
  /*	max-width: 1200px;*/
  margin: auto;
}
.megamenu #pNav > div {
  /*プルダウン　非表示状態のデザイン設定
  高さを持つプロパティを非表示状態では0にしておき、表示状態の時に高さを持つように設定する
  文字が入る場合はoverflow: hidden;を忘れないようにする
  高さ以外の設定は非表示状態で適用しておく（アニメーションを使う場合は特に）*/
  /*		max-width: 940px;*/
  background: #eee;
  margin-inline: auto;
  padding: 0 15px;
  overflow: hidden;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.megamenu #pNav > div.active {
  /*プルダウン　表示状態のデザイン設定
  上下padding値を上書きしている*/
  padding: 18px 15px;
}
.megamenu #pNav > div section {
  float: left;
  padding-right: 10px;
  width: 320px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.megamenu #pNav > div .title {
  /*プルダウンに自動挿入される見出し 非表示状態のデザイン設定*/
  font-size: 160%;
  margin-bottom: 0;
  height: 0;
  line-height: 0;
  overflow: hidden;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.megamenu #pNav > div .title span {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.megamenu #pNav > div .title span.short {
  display: none;
}
.megamenu #pNav .menudiv {
  max-width: 940px;
  margin: auto;
}

.megamenu #pNav > div.active .title {
  /*見出し 表示状態のデザイン設定*/
  height: 100%;
  line-height: 1.5;
}

.megamenu #pNav > div p {
  /*プルダウンに自動挿入されるティーザー文 非表示状態のデザイン設定*/
  font-size: 94%;
  margin-bottom: 0;
  line-height: 0;
  overflow: hidden;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.megamenu #pNav > div.active p {
  /*ティーザー文 表示状態のデザイン設定*/
  margin-bottom: 10px;
  line-height: 1.6;
}

.megamenu #pNav > div nav {
  float: right;
  width: 620px;
  padding-left: 20px;
  border-left: #666 1px solid;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.megamenu #pNav > div li.hasChild > a {
  /*下部メニュー持ちの設定*/
  position: relative;
}

.megamenu #pNav > div li.hasChild > a:before {
  /*下部メニュー持ちに▼を付ける　プルダウン非表示状態*/
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  border: transparent 6px solid;
  border-top-width: 0;
  border-bottom-width: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.megamenu #pNav > div.active li.hasChild > a:before {
  /*下部メニュー持ちに▼を付ける　プルダウン表示状態*/
  border-top-width: 10px;
}

.megamenu #pNav > div li.hasChild.active > a:before {
  /*下部メニュー展開時*/
  -webkit-transform: translateY(-50%) rotate(180deg);
      -ms-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}

.megamenu #pNav > div .second > li.hasChild > a:before {
  /*第2階層の下部メニュー持ち*/
  border-top-color: #2781c4;
}

.megamenu #pNav > div .third > li.hasChild > a:before {
  /*第3階層の下部メニュー持ち*/
  border-top-color: #fff;
  border-width: 4px;
  border-top-width: 8px;
  border-bottom: 0;
}

/*第2階層メニューデザイン*/
.megamenu #pNav > div .second > li {
  display: block;
  width: calc(50% - 7px);
}

.megamenu #pNav > div .second > li:nth-child(2n-1) {
  float: right;
  clear: right;
  margin-right: 0;
}

.megamenu #pNav > div .second > li:nth-child(2n) {
  float: left;
  clear: both;
}

.megamenu #pNav > div .second li.backmenuli {
  display: none;
}

.megamenu #pNav > div.active .second > li {
  margin-bottom: 5px;
}

.megamenu #pNav > div .second > li > a { /*第2階層メニューボタンデザイン 非表示*/
  background: #fff;
  display: block;
  border-radius: 5px;
  text-decoration: none;
  padding: 0 10px;
  height: 0;
  line-height: 0;
  overflow: hidden;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.megamenu.pnavactive #pNav > div.active .second > li > a { /*第2階層メニューボタンデザイン 表示*/
  border-radius: 5px;
  padding: 5px 10px;
  height: auto;
  line-height: 1.4;
}

.megamenu.pnavactive #pNav > div .second > li.hasChild { /*第2階層メニューボタン（子持ち）デザイン 表示*/
  cursor: pointer;
}

.megamenu.pnavactive #pNav > div .second > li.hasChild > a { /*第2階層メニューボタン（子持ち）デザイン 表示*/
  padding-right: 30px;
  pointer-events: none;
}

.megamenu #pNav > div .second > li > a:hover { /*第2階層メニューボタンデザイン マウスオン時*/
  background: #016bb7;
  color: #fff;
}

.megamenu.pnavactive #pNav > div .second > li > a.active { /*第2階層メニューボタンデザイン 下部メニュー展開時*/
  -webkit-box-shadow: 0 0 10px #2781c4;
          box-shadow: 0 0 10px #2781c4;
}

.megamenu #pNav > div .third { /*第3階層メニューリストデザイン　非表示*/
  padding: 0 10px 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.megamenu.pnavactive #pNav > div.active .active > .third { /*第3階層メニューリストデザイン　表示*/
  padding: 10px 10px 0;
}

.megamenu #pNav > div .third > li { /*第3階層メニューデザイン　非表示*/
  margin-bottom: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.megamenu.pnavactive #pNav > div.active .active > .third > li { /*第3階層メニュトデザイン　表示*/
  margin-bottom: 5px;
}

.megamenu #pNav > div .third > li:last-child,
.megamenu.pnavactive #pNav > div .third > li.active:last-child {
  margin-bottom: 0;
}

.megamenu #pNav > div .third > li > a { /*第3階層メニューボタンデザイン 非表示*/
  background: #2781c4;
  color: #fff;
  display: block;
  border-radius: 5px;
  text-decoration: none;
  padding: 0 10px;
  height: 0;
  line-height: 0;
  overflow: hidden;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.megamenu.pnavactive #pNav > div.active .active > .third > li > a { /*第3階層メニューボタンデザイン 表示*/
  border-radius: 5px;
  padding: 5px 10px;
  height: 100%;
  line-height: 1;
}

.megamenu #pNav > div .third > li > a:hover { /*第3階層メニューボタンデザイン マウスオン時*/
  background: #18629a;
}

.megamenu.pnavactive #pNav > div.active .third > li > a.active { /*第3階層メニューボタンデザイン 下部メニュー展開時*/
  -webkit-box-shadow: 0 0 10px #18629a inset;
          box-shadow: 0 0 10px #18629a inset;
}

.megamenu #pNav > div .fourth { /*第4階層メニューリストデザイン　非表示*/
  padding: 0 10px 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  /*					display: none;*/
}

.megamenu.pnavactive #pNav > div .active > .fourth { /*第4階層メニューリストデザイン　表示*/
  padding: 5px 10px 0;
}

.megamenu #pNav > div .fourth > li { /*第4階層メニューデザイン　非表示*/
  margin-bottom: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.megamenu.pnavactive #pNav > div .active > .fourth > li { /*第4階層メニュトデザイン　表示*/
  margin-bottom: 5px;
}

.megamenu #pNav > div .fourth > li:last-child,
.megamenu.pnavactive #pNav > div .fourth > li.active:last-child {
  margin-bottom: 0;
}

.megamenu #pNav > div .fourth > li > a { /*第4階層メニューボタンデザイン 非表示*/
  border: #2781c4 0 solid;
  color: #2781c4;
  font-size: 83.3%;
  display: block;
  border-radius: 5px;
  text-align: left;
  text-decoration: none;
  padding: 0 10px;
  height: 0;
  line-height: 0;
  overflow: hidden;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.megamenu.pnavactive #pNav > div.active .active > .fourth > li > a { /*第4階層メニューボタンデザイン 表示*/
  border-radius: 5px;
  border-width: 1px;
  padding: 2px 10px;
  height: 100%;
  line-height: 1.5;
}

.megamenu #pNav > div .fourth > li > a:hover { /*第4階層メニューボタンデザイン マウスオン時*/
  background: #fff;
}

#gNavbg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: none;
  opacity: 0;
  background: #000;
  z-index: 9999;
}

#gNavopener {
  display: none;
  position: absolute;
  z-index: 10000;
  top: 25px;
  right: 18px;
  width: 36px;
  height: 4px;
  background: rgb(123, 123, 123);
  cursor: pointer;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  border-radius: 0;
  border: #7f7f7f 0 solid;
}

#gNavopener:after {
  display: block;
  content: "menu";
  position: absolute;
  top: 18px;
  right: 0;
  width: 36px;
  text-align: center;
  font-size: 75%;
  line-height: 1;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  overflow: hidden;
}

#gNavopener span {
  display: block;
  position: relative;
  top: -9px;
  width: 100%;
  height: 38px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

#gNavopener span:before,
#gNavopener span:after {
  display: block;
  content: "";
  position: absolute;
  right: 50%;
  -webkit-transform: translateX(50%);
  -ms-transform: translateX(50%);
      transform: translateX(50%);
  width: 36px;
  height: 4px;
  background: #7b7b7b;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

#gNavopener span:before {
  top: 0px;
}

#gNavopener span:after {
  top: 18px;
}

body.gnavactive #gNav {
  left: 0;
}

body.gnavactive #gNavbg {
  opacity: 0.9;
}

body.gnavactive #gNavopener {
  top: 10px;
  width: 30px;
  height: 30px;
  background: rgba(123, 123, 123, 0);
  border-width: 3px;
  border-color: #fff;
  border-radius: 18px;
}

body.gnavactive #gNavopener:after {
  height: 0;
}

body.gnavactive #gNavopener span {
  top: -4px;
}

body.gnavactive #gNavopener span:before,
body.gnavactive #gNavopener span:after {
  top: 50%;
  width: 25px;
  background: #fff;
}

body.gnavactive #gNavopener span:before {
  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);
  -ms-transform: translateX(50%) translateY(-50%) rotate(45deg);
      transform: translateX(50%) translateY(-50%) rotate(45deg);
}

body.gnavactive #gNavopener span:after {
  -webkit-transform: translateX(50%) translateY(-50%) rotate(-45deg);
  -ms-transform: translateX(50%) translateY(-50%) rotate(-45deg);
      transform: translateX(50%) translateY(-50%) rotate(-45deg);
}

@media only screen and (max-width: 979px) {
  #gNavopener {
    top: 95px;
    right: 27px;
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  #gNavopener {
    top: calc(55px + 0.3em);
    right: 18px;
  }
}
#sNav {
  float: right;
  width: 320px;
}

body.nosnav #sNav,
body.nosnav #sNavopener,
body.nosnav #sNavbg {
  display: none;
}

#sNav ul {
  width: 320px;
  padding: 5px 0;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 10;
}

#sNav > ul > li a {
  display: block;
  text-decoration: none;
  padding: 0.5em 10px 0.5em 30px;
  margin-bottom: 4.5px;
  font-size: 100%;
  position: relative;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

#sNav > ul > li a:before {
  display: block;
  content: "";
  position: absolute;
  left: 0.6em;
  top: 1.2em;
  border: transparent 0 solid;
  border-left: #333 10px solid;
  border-right: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  height: 1px;
  -webkit-transform: translateX(0) translateY(-50%);
      -ms-transform: translateX(0) translateY(-50%);
          transform: translateX(0) translateY(-50%);
}

#sNav > ul > li a:hover:before,
#sNav > ul > li a.current:before {
  border-top-width: 5px;
  border-bottom-width: 5px;
  border-left-color: #1d7ec2;
  width: 0;
  height: 0;
}

.snavactive #sNav > ul > li a.active,
#sNav > ul > li a.current,
#sNav > ul > li a:hover {
  color: #1d7ec2;
}

#sNav > ul > li.hasChild a.current {
  cursor: pointer;
}

.snavactive #sNav > ul > li a.active {
  background: #e6e6e6;
  border-radius: 10px 0 0 10px;
}

.snavactive #sNav > ul li.active > ul > li > a {
  padding: 0.5em 10px 0.5em 30px;
  opacity: 1;
}

.snavactive #sNav ul.second > li a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.snavactive #sNav ul.second > li a.active {
  background: #ccc;
}

#sNav > ul li.hasChild > a:before,
#sNav > ul li.hasChild > a:after {
  display: block;
  content: "";
  position: absolute;
  left: 0.6em;
  top: 1.2em;
  background: #333;
  border: none;
  height: 1px;
  -webkit-transform: translateX(0) translateY(-50%);
      -ms-transform: translateX(0) translateY(-50%);
          transform: translateX(0) translateY(-50%);
}

#sNav > ul li.hasChild > a:before {
  width: 11px;
}

#sNav > ul li.hasChild > a:after {
  width: 1px;
  height: 11px;
  -webkit-transform: translateX(5px) translateY(-50%);
      -ms-transform: translateX(5px) translateY(-50%);
          transform: translateX(5px) translateY(-50%);
}

#sNav > ul li.hasChild > a:hover:before,
.snavactive #sNav > ul li.hasChild.active > a:before,
#sNav > ul li.hasChild.current > a:before,
#sNav > ul li.hasChild > a:hover:after,
.snavactive #sNav > ul li.hasChild.active > a:hover:after,
#sNav > ul li.hasChild.current > a:hover:after {
  background: #1d7ec2;
}

#sNav > ul > li li > a {
  max-width: 320px;
  padding: 0.5em 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.1s;
  transition: opacity 0.1s;
}

#sNav > ul > li ul {
  right: 0%;
  background: #e6e6e6;
  z-index: 9;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  width: 0;
  /*				overflow: hidden;*/
}

#sNav > ul > li ul.third {
  background: #ccc;
}

.snavactive #sNav li.active > ul.second {
  padding-left: 10px;
  right: -100%;
  width: 100%;
}

.snavactive #sNav li.active > ul.third {
  right: -100%;
  width: 100%;
  padding-left: 10px;
}

#sNav > ul > li ul.nosnav {
  display: none;
}

#sNav > ul > li li > a.current {
  color: #00a1e9;
}

#sNav .hidenav {
  display: none;
}

#sNavbg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: none;
  opacity: 0;
  background: #000;
  z-index: 10;
}

body.snavactive #sNavbg {
  opacity: 0.6;
}

#sNavopener {
  /*		display: none;*/
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-460px) translateY(-50%);
      -ms-transform: translateX(-460px) translateY(-50%);
          transform: translateX(-460px) translateY(-50%);
  width: 40px;
  height: 4px;
  background: rgb(255, 255, 255);
  cursor: pointer;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  border-radius: 5px;
  border: #fff 0 solid;
}

#sNavopener span {
  display: block;
  position: relative;
  top: -9px;
  width: 100%;
  height: 38px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

#sNavopener span:before,
#sNavopener span:after {
  display: block;
  content: "";
  position: absolute;
  right: 50%;
  -webkit-transform: translateX(50%);
  -ms-transform: translateX(50%);
      transform: translateX(50%);
  width: 40px;
  height: 4px;
  border-radius: 5px;
  background: #fff;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

#sNavopener span:before {
  top: -4px;
}

#sNavopener span:after {
  top: 22px;
}

body.snavactive #sNavopener {
  width: 34px;
  height: 34px;
  background: rgba(123, 123, 123, 0);
  border-width: 3px;
  border-color: #fff;
  border-radius: 18px;
}

body.snavactive #sNavopener:after {
  height: 0;
}

body.snavactive #sNavopener span {
  top: -2px;
}

body.snavactive #sNavopener span:before,
body.snavactive #sNavopener span:after {
  top: 50%;
  width: 30px;
  background: #fff;
}

body.snavactive #sNavopener span:before {
  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);
  -ms-transform: translateX(50%) translateY(-50%) rotate(45deg);
      transform: translateX(50%) translateY(-50%) rotate(45deg);
}

body.snavactive #sNavopener span:after {
  -webkit-transform: translateX(50%) translateY(-50%) rotate(-45deg);
  -ms-transform: translateX(50%) translateY(-50%) rotate(-45deg);
      transform: translateX(50%) translateY(-50%) rotate(-45deg);
}

@media only screen and (max-width: 979px) {
  #sNavopener {
    /*		top: 95px;*/
    left: 10px;
    -webkit-transform: translateX(0) translateY(-50%);
        -ms-transform: translateX(0) translateY(-50%);
            transform: translateX(0) translateY(-50%);
    display: block;
    display: none;
  }
}
.roundNav {
  padding: 30px 0 20px;
}
.roundNav li:before {
  content: none;
}
.roundNav li a,
.roundNav li span {
  text-decoration: none;
  background: #ccc;
  display: block;
  padding: 10px 10px 10px 30px;
  border-radius: 10px;
  position: relative;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.roundNav li a:before,
.roundNav li span:before {
  position: absolute;
  top: 50%;
  left: 10px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
  border: transparent 5px solid;
  border-left: #fff 10px solid;
  border-right: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.roundNav li a:hover {
  background: #bbb;
}
.roundNav li a:hover::before {
  left: 14px;
}
.roundNav li a.bg--blue {
  background: #1D7EC2;
  color: #fff;
}
.roundNav li a.bg--blue:hover {
  background: #2554b0;
}
.roundNav li span {
  color: #1d7ec2;
  border: #1d7ec2 2px solid;
  background: #fff;
}
.roundNav li span::before {
  left: 7px;
  border: none;
  content: "●";
  color: #1d7ec2;
}
.roundNav li ul {
  display: none;
}

#breadcrumbs {
  background: #eee;
  clear: both;
}

#breadcrumbs ul {
  overflow: hidden;
  padding: 0 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#breadcrumbs ul li {
  float: left;
  padding: 5px 0;
}

#breadcrumbs ul a,
#breadcrumbs ul span {
  display: block;
  height: 30px;
  line-height: 30px;
  padding: 0 5px 0 5px;
  font-size: 100%;
}

#breadcrumbs ul a,
#breadcrumbs ul span {
  display: block;
  position: relative;
  padding-right: 33px;
  text-decoration: none;
}

#breadcrumbs ul li:last-child span {
  padding-right: 5px;
}

#breadcrumbs ul .home a {
  padding-left: 40px;
  background: url(../img/icon_home.png) 0 50% no-repeat;
}

#breadcrumbs ul a:before,
#breadcrumbs ul a:after,
#breadcrumbs ul span:before,
#breadcrumbs ul span:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 3px;
  height: 11px;
  background: #666;
}

#breadcrumbs ul li:last-child span:before,
#breadcrumbs ul li:last-child span:after {
  content: none;
}

#breadcrumbs ul a:before,
#breadcrumbs ul span:before {
  -webkit-transform-origin: bottom right;
      -ms-transform-origin: bottom right;
          transform-origin: bottom right;
  -webkit-transform: translateY(-100%) skew(45deg);
      -ms-transform: translateY(-100%) skew(45deg);
          transform: translateY(-100%) skew(45deg);
}

#breadcrumbs ul a:after,
#breadcrumbs ul span:after {
  -webkit-transform-origin: top right;
      -ms-transform-origin: top right;
          transform-origin: top right;
  -webkit-transform: skew(-45deg);
      -ms-transform: skew(-45deg);
          transform: skew(-45deg);
}

@media only screen and (max-width: 979px) {
  #breadcrumbs ul {
    overflow: hidden;
    padding: 0;
  }
  #breadcrumbs ul li {
    padding: 5px 0;
  }
  #breadcrumbs ul a,
  #breadcrumbs ul span {
    height: 18px;
    line-height: 18px;
    font-size: 94%;
    padding-right: 15px;
  }
  #breadcrumbs ul .home a {
    padding-left: 25px;
    background-size: contain;
  }
  #breadcrumbs ul a:before,
  #breadcrumbs ul a:after,
  #breadcrumbs ul span:before,
  #breadcrumbs ul span:after {
    right: 0px;
    height: 6px;
  }
}
@media only screen and (max-width: 399px) {
  #breadcrumbs ul li {
    padding: 3px 0;
  }
  #breadcrumbs ul a,
  #breadcrumbs ul span {
    height: 12px;
    line-height: 12px;
    font-size: 70%;
    padding-right: 12px;
  }
  #breadcrumbs ul .home a {
    padding-left: 18px;
  }
  #breadcrumbs ul a:before,
  #breadcrumbs ul a:after,
  #breadcrumbs ul span:before,
  #breadcrumbs ul span:after {
    width: 2px;
    height: 4px;
  }
}
#pageTitleBox {
  font-size: 185%;
  padding: 0.8em 1em;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  position: relative;
  background: #1D7EC2;
}

#pageTitleBox h2 {
  color: #fff;
  text-align: center;
  margin: 0 auto;
}

#pageTitleBox #sNavopener + h2 {
  padding: 0 0 0 100px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#top #pageTitleBox {
  display: none;
}

@media only screen and (max-width: 979px) {
  #pageTitleBox {
    font-size: 130%;
  }
  #pageTitleBox #sNavopener + h2 {
    padding-left: 0;
  }
}
@media only screen and (max-width: 767px) {
  #pageTitleBox {
    height: auto;
    line-height: 1.4;
    font-size: 120%;
    margin-bottom: 18px;
  }
}
@media only screen and (max-width: 399px) {
  #pageTitleBox {
    font-size: 100%;
  }
}
#main article {
  width: 100%;
}

.sympoNav span {
  display: block;
  font-size: 83.3%;
}

.footercontact {
  padding: 20px 0 10px;
  background: #36ACDA;
}

.footercontact ul {
  max-width: 940px;
}

.footercontact li {
  border: #0278C2 2px solid;
  background: #fff;
  margin-bottom: 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.ua-safari .footercontact li,
.ua-ie9 .footercontact li {
  float: left;
  margin-right: 9px;
}

.ua-safari .footercontact .amurin,
.ua-safari .footercontact .office,
.ua-ie9 .footercontact .amurin,
.ua-ie9 .footercontact .office {
  margin-right: 0;
}

.footercontact .jisosha {
  width: calc((100% - 20px) / 3);
}

.footercontact .kyosaikin {
  width: calc((100% - 20px) / 3);
}

.footercontact .office {
  width: calc((100% - 20px) / 3);
}

.footercontact .mail {
  width: calc((100% - 10px) / 2);
}

.footercontact .amurin {
  width: calc((100% - 10px) / 2);
}

.footercontact h3 {
  background: #0278C2;
  text-align: center;
  font-size: 105%;
  font-weight: bold;
  color: #fff;
  padding: 8px 0;
}

.footercontact img {
  max-width: 100%;
  width: auto;
  vertical-align: bottom;
}

.footercontact .onlypc {
  display: inline;
  color: inherit;
  font-weight: inherit;
}

.footercontact .jisosha {
  border-color: #F39801;
}

.footercontact .jisosha h3 {
  background: #F39801;
}

.footercontact .kyosaikin {
  border-color: #9FC94B;
}

.footercontact .kyosaikin h3 {
  background: #9FC94B;
}

.footercontact .office {
  border-color: #CA4A7D;
}

.footercontact .office h3 {
  background: #CA4A7D;
}

.footercontact div {
  padding: 5px;
}

.footercontact p {
  font-size: 83.3%;
  margin-bottom: 0;
}

.footercontact .mail h3 {
  padding-left: 2em;
}

.footercontact .mail h3:before {
  font: normal normal normal 14px/1 FontAwesome;
  content: "\f003";
  font-size: 110%;
  -webkit-transform: translateX(-1.5em) rotate(15deg);
      -ms-transform: translateX(-1.5em) rotate(15deg);
          transform: translateX(-1.5em) rotate(15deg);
  position: absolute;
}

.footercontact .amurin {
  position: relative;
}

.footercontact .amurin:after {
  position: absolute;
  content: url(../img/footercontent_amrin.png);
  height: 76px;
  bottom: 0;
  left: 5%;
}

.footercontact .amurin h3 {
  padding-left: 50px;
}

@media only screen and (max-width: 979px) {
  .footercontact h3 {
    font-size: 94%;
    font-weight: normal;
    padding: 4px 10px;
  }
  .footercontact div {
    padding: 10px;
  }
  .footercontact .jisosha div,
  .footercontact .kyosaikin div,
  .footercontact .office div {
    padding: 10px 30px;
  }
  .footercontact p {
    font-size: 83.3%;
    margin-bottom: 9px;
  }
  .footercontact p a {
    font-size: 83.3%;
  }
}
@media only screen and (max-width: 767px) {
  .footercontact .jisosha {
    width: calc(50% - 10px);
  }
  .footercontact .kyosaikin {
    width: calc(50% - 10px);
  }
  .footercontact .office {
    width: calc(33.3% - 10px);
  }
  .footercontact .mail {
    width: calc(33.3% - 10px);
  }
  .footercontact .amurin {
    width: calc(33.3% - 10px);
  }
  .footercontact h3 {
    font-size: 83.3%;
    padding: 4px 10px;
  }
  .footercontact .onlypc {
    display: none;
  }
  .footercontact .amurin h3 {
    padding-left: 0;
  }
}
@media only screen and (max-width: 520px) {
  .footercontact .jisosha {
    width: calc(50% - 10px);
  }
  .footercontact .kyosaikin {
    width: calc(50% - 10px);
  }
  .footercontact .office {
    width: 100%;
  }
  .footercontact .mail {
    width: calc(50% - 10px);
  }
  .footercontact .amurin {
    width: calc(50% - 10px);
  }
  .footercontact div {
    padding: 5px 8px;
  }
  .footercontact .jisosha div,
  .footercontact .kyosaikin div {
    padding: 10px;
  }
  .footercontact p,
  .footercontact p a {
    font-size: 75%;
    margin-bottom: 0;
  }
  .footercontact .amurin h3 {
    padding-left: 50px;
  }
}
@media only screen and (max-width: 399px) {
  .footercontact .jisosha,
  .footercontact .kyosaikin,
  .footercontact .office,
  .footercontact .mail,
  .footercontact .amurin {
    width: 100%;
  }
  .footercontact div {
    padding: 5px 8px;
  }
  .footercontact div img,
  .footercontact div img {
    height: 40px;
  }
}
#footer {
  clear: both;
}

#footer .fixwidth {
  max-width: 940px;
}

@media only screen and (min-width: 980px) {
  #pagetopanchor {
    position: fixed;
    right: 0;
    bottom: 20px;
    overflow: hidden;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    display: block;
    background: #177ecb;
    width: 0;
    height: 30px;
    line-height: 30px;
    border-radius: 15px 0 0 15px;
    padding-left: 0;
    color: #fff;
    font-size: 100%;
    text-decoration: none;
    z-index: 999;
  }
  #pagetopanchor.pcactive {
    width: 80px;
    padding-left: 50px;
  }
  #pagetopanchor.pcactive:hover {
    width: 100px;
  }
  #pagetopanchor span {
    color: inherit;
  }
  #pagetopanchor span:before,
  #pagetopanchor span:after {
    content: "";
    width: 3px;
    height: 15px;
    background: #fff;
    position: absolute;
    top: 50%;
    left: 25px;
  }
  #pagetopanchor span:before {
    -webkit-transform: translateY(-50%) translateX(0%) rotate(45deg);
        -ms-transform: translateY(-50%) translateX(0%) rotate(45deg);
            transform: translateY(-50%) translateX(0%) rotate(45deg);
    -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
            transform-origin: top left;
  }
  #pagetopanchor span:after {
    -webkit-transform: translateY(-50%) translateX(-100%) rotate(-45deg);
        -ms-transform: translateY(-50%) translateX(-100%) rotate(-45deg);
            transform: translateY(-50%) translateX(-100%) rotate(-45deg);
    -webkit-transform-origin: top right;
        -ms-transform-origin: top right;
            transform-origin: top right;
  }
}
@media only screen and (max-width: 979px) {
  #pagetopanchor {
    position: fixed;
    right: 0;
    left: 0;
    bottom: -40px;
    overflow: hidden;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    display: block;
    border-top: #744c0d 1px solid;
    background: #F39801;
    height: 40px;
    line-height: 40px;
    padding-left: 0;
    color: #fff;
    font-size: 120%;
    text-align: center;
    text-decoration: none;
    z-index: 999;
    display: none;
  }
  #pagetopanchor.pcactive {
    bottom: 0;
  }
  #pagetopanchor span {
    color: inherit;
  }
  #pagetopanchor span:before,
  #pagetopanchor span:after {
    content: "";
    width: 5px;
    height: 25px;
    background: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
  }
  #pagetopanchor span:before {
    -webkit-transform: translateY(-50%) translateX(-3.5em) rotate(45deg);
        -ms-transform: translateY(-50%) translateX(-3.5em) rotate(45deg);
            transform: translateY(-50%) translateX(-3.5em) rotate(45deg);
    -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
            transform-origin: top left;
  }
  #pagetopanchor span:after {
    -webkit-transform: translateY(-50%) translateX(-100%) translateX(-3.5em) rotate(-45deg);
        -ms-transform: translateY(-50%) translateX(-100%) translateX(-3.5em) rotate(-45deg);
            transform: translateY(-50%) translateX(-100%) translateX(-3.5em) rotate(-45deg);
    -webkit-transform-origin: top right;
        -ms-transform-origin: top right;
            transform-origin: top right;
  }
}
@media only screen and (max-width: 399px) {
  #pagetopanchor {
    font-size: 83.3%;
  }
  #pagetopanchor span:before,
  #pagetopanchor span:after {
    width: 2px;
    height: 15px;
  }
}
@media only print {
  #pagetopanchor {
    display: none;
  }
}
#fNav ul {
  padding: 39px 0;
  overflow: hidden;
}

#fNav > ul > li {
  float: left;
  width: 50%;
  padding: 0 10px;
  margin-bottom: 18px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#fNav > ul > li > a {
  display: block;
  border-bottom: #0186d1 2px solid;
  color: #0186d1;
  font-size: 110%;
  text-decoration: none;
  font-weight: bold;
  line-height: 1.3;
  position: relative;
}

#fNav > ul > li ul {
  padding: 18px 0;
}

#fNav > ul > li ul li {
  float: left;
  width: 50%;
  padding: 0 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#fNav > ul > li.case ul li {
  width: 33.3%;
}

#fNav > ul li:nth-child(2n+1) {
  clear: both;
}

#fNav > ul > li.case ul li:nth-child(2n+1) {
  clear: none;
}

#fNav > ul > li.case ul li:nth-child(3n+1) {
  clear: both;
}

#fNav > ul > li ul li a {
  display: block;
  padding: 6px;
  font-size: 75%;
  line-height: 1.3;
  text-decoration: none;
  border-bottom: #666 1px dotted;
}

#fNav > ul > li i {
  margin-left: 0.5em;
}

#fNav .nofnav {
  display: none;
}

@media only screen and (max-width: 767px) {
  #fNav > ul > li ul li {
    width: 100%;
  }
  #fNav > ul > li.case ul li {
    width: 50%;
  }
  #fNav > ul > li.case ul li:nth-child(2n+1) {
    clear: both;
  }
  #fNav > ul > li.case ul li:nth-child(3n+1) {
    clear: inherit;
  }
}
@media only screen and (max-width: 639px) {
  #fNav > ul > li,
  #fNav > ul > li ul li,
  #fNav > ul > li.case ul li {
    float: none;
    width: 100%;
  }
}
#footer figure {
  margin: 0 0 18px;
  float: left;
}

@media only print {
  #footer figure {
    margin: 18px 0;
    float: none;
    text-align: center;
  }
}
#ffNav {
  margin: 0 0 18px;
  float: right;
  width: calc(100% - 300px);
}

#ffNav ul {
  text-align: right;
}

#ffNav > ul > li {
  display: inline-block;
}

#ffNav > ul > li > a {
  display: block;
  font-size: 83.3%;
  line-height: 1.3;
  margin-right: 10px;
}

#ffNav > ul > li > ul {
  display: none;
}

@media only screen and (max-width: 639px) {
  #footer figure,
  #ffNav {
    float: none;
    text-align: center;
    width: 100%;
  }
  #ffNav ul {
    text-align: center;
    line-height: 1;
  }
  #ffNav > ul > li > a {
    font-size: 65%;
    margin-bottom: 0;
  }
}
@media only print {
  #fNav, #ffNav {
    display: none;
  }
}
#footer address {
  clear: both;
  font-size: 66%;
  margin-bottom: 9px;
}

#footer .btn {
  margin-bottom: 20px;
}

#footer .btn a {
  display: inline-block;
  background: #177ecb;
  padding: 5px 15px;
  border-radius: 5px;
  font-size: 83.3%;
  color: #fff;
  text-decoration: none;
}

@media only print {
  #footer .btn {
    display: none;
  }
}
.p-footerstickynav__wrap {
  position: sticky;
  bottom: 0;
  -webkit-transition: bottom 0.2s;
  transition: bottom 0.2s;
  z-index: 9998;
}
.p-footerstickynav__wrap {
  background: #2554B0;
  display: none;
}
@media only screen and (max-width: 979px) {
  .p-footerstickynav__wrap {
    display: block;
  }
}
.p-footerstickynav__list {
  width: 100%;
  max-width: 980px;
  margin-inline: auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[4];
  grid-template-columns: repeat(4, 1fr);
}
.p-footerstickynav__link {
  display: block;
  text-align: center;
  padding-block: 10px;
  height: 65px;
  line-height: 130px;
  line-height: calc(130px - 1.8em);
  background-repeat: no-repeat;
  background-position: 50% 15px;
  background-size: 3.5em;
  text-decoration: none;
  font-size: 83.3%;
  color: #fff;
  background-size: 3em;
}
.p-footerstickynav__link--support {
  background-image: url(../img/gnav/siryo_white.png);
}
.p-footerstickynav__link--mitsumori {
  background-image: url(../img/gnav/mitsumori_white.png);
}
.p-footerstickynav__link--seikyu {
  background-image: url(../img/gnav/seikyu_white.png);
}
.p-footerstickynav__link--office {
  background-image: url(../img/gnav/office_white.png);
}

.p-footercontact__wrap {
  padding: 20px 10px;
  background: #36ACDA;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto;
  -ms-grid-columns: 1fr min(940px, 100%) 1fr;
      grid-template: "before contents after" auto/1fr min(940px, 100%) 1fr;
}
.p-footercontact__wrap::before, .p-footercontact__wrap::after {
  content: "";
}
.p-footercontact__wrap::before {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: before;
}
.p-footercontact__wrap::after {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: after;
}
.p-footercontact__list {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: contents;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 10px 1fr 10px 1fr 10px 1fr 10px 1fr 10px 1fr;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
}
@media only screen and (max-width: 639px) {
  .p-footercontact__list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.p-footercontact__item {
  border: #0278C2 2px solid;
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.p-footercontact__item--image {
  text-align: center;
  -ms-grid-column-span: 2;
  grid-column: span 2;
}
.p-footercontact__item--icon {
  -ms-grid-column-span: 2;
  grid-column: span 2;
}
.p-footercontact__item--kyosaikin {
  border-color: #9FC94B;
}
.p-footercontact__item--jisosha {
  border-color: #F39801;
}
.p-footercontact__item--office {
  border-color: #CA4A7D;
}
.p-footercontact__link {
  display: block;
  text-decoration: none;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.p-footercontact__link--mail {
  background: rgb(1, 102, 166);
  background: -webkit-gradient(linear, left top, right top, from(rgb(1, 102, 166)), to(rgb(51, 176, 255)));
  background: linear-gradient(90deg, rgb(1, 102, 166) 0%, rgb(51, 176, 255) 100%);
}
.p-footercontact__link--icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1.5em 0.5em;
}
.p-footercontact__link--line {
  background: rgb(0, 185, 0);
  background: -webkit-gradient(linear, left top, right top, from(rgb(0, 185, 0)), to(rgb(129, 224, 48)));
  background: linear-gradient(90deg, rgb(0, 185, 0) 0%, rgb(129, 224, 48) 100%);
}
.p-footercontact__link--amurin {
  background: #0278C2;
  padding-block: 0;
}
.p-footercontact__link.current {
  pointer-events: none;
}
.p-footercontact__title {
  background: #0278C2;
  text-align: center;
  font-size: 105%;
  font-weight: bold;
  color: #fff;
  padding: 8px 0;
}
.p-footercontact__title--kyosaikin {
  background-color: #9FC94B;
}
.p-footercontact__title--jisosha {
  background-color: #F39801;
}
.p-footercontact__title--office {
  background-color: #CA4A7D;
}
.p-footercontact__iconbox {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto;
  -ms-grid-columns: auto 1em 1fr;
      grid-template: "icon text" auto/auto 1fr;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em;
}
.p-footercontact__iconbox--amurin {
  -ms-grid-rows: auto;
  -ms-grid-columns: auto 1fr;
      grid-template: "iconimg text" auto/auto 1fr;
  position: relative;
}
.p-footercontact__iconbox--line {
  display: block;
}
.p-footercontact__icon {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: icon;
  font-size: 360%;
}
.p-footercontact__icon--mail, .p-footercontact__icon--line {
  color: #fff;
  rotate: 5deg;
}
.p-footercontact__icon--line {
  display: none !important;
}
.p-footercontact__img {
  display: block;
  margin: 10px auto;
  width: auto;
  min-width: 0;
  max-width: 100%;
}
.p-footercontact__iconimg--amurin {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: iconimg;
  margin-top: 0.5em;
  height: 100px;
  width: auto;
}
.p-footercontact__text {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: text;
  display: block;
}
.p-footercontact__iconbox--amurin > .p-footercontact__text {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}
.p-footercontact__text--mail, .p-footercontact__text--line, .p-footercontact__text--amurinsub, .p-footercontact__text--amurinmain {
  font-size: 120%;
  color: #fff !important;
  font-weight: bold !important;
}
.p-footercontact__text--amurin {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-footercontact__text--amurinsub {
  font-size: 83.3%;
}
/*-------------------------------------------------------

state

:hover、:active、:focusなどの擬似要素や
.currentなどのページの状態によって部分的に変化を起こす際にここで設定

-------------------------------------------------------*/
.current {
  cursor: default;
}

/*-------------------------------------------------------

cosmetic

その他、局所的に使用するスタイル
あるいは、汎用性の高いスタイル設定を記述

-------------------------------------------------------*/
#main .btn a {
  display: inline-block;
  text-align: center;
  border: #177ecb 1px solid;
  padding: 10px 0;
  width: 33.3%;
  font-size: 110%;
  color: #177ecb;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  opacity: 1;
  cursor: pointer;
  position: relative;
}

#main .btn.medium a {
  width: 50%;
}

#main .btn.large a {
  width: 75%;
}

#main .btn.full a {
  width: 100%;
}

#main .btn a:before,
#main .btn a:after {
  content: "";
  width: 18px;
  height: 4px;
  background: #177ecb;
  position: absolute;
  top: 50%;
  right: 10%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

#main .btn a:before {
  -webkit-transform: translateY(-50%) translateY(2px) rotate(45deg);
      -ms-transform: translateY(-50%) translateY(2px) rotate(45deg);
          transform: translateY(-50%) translateY(2px) rotate(45deg);
  -webkit-transform-origin: top right;
      -ms-transform-origin: top right;
          transform-origin: top right;
}

#main .btn a:after {
  -webkit-transform: translateY(-50%) translateY(-2px) rotate(-45deg);
      -ms-transform: translateY(-50%) translateY(-2px) rotate(-45deg);
          transform: translateY(-50%) translateY(-2px) rotate(-45deg);
  -webkit-transform-origin: bottom right;
      -ms-transform-origin: bottom right;
          transform-origin: bottom right;
}

#main .btn a:hover {
  opacity: 0.6;
}

#main .btn a:hover:before,
#main .btn a:hover:after {
  right: 8%;
}

@media only screen and (max-width: 979px) {
  #main .btn a {
    width: 50%;
  }
  #main .btn.medium a {
    width: 66.6%;
  }
}
@media only screen and (max-width: 639px) {
  #main .btn a,
  #main .btn.medium a,
  #main .btn.large a {
    width: 100%;
    font-size: 100%;
  }
}
@media only screen and (max-width: 399px) {
  #main .btn a {
    font-size: 94%;
    padding: 10px 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  #main .btn a:before,
  #main .btn a:after {
    right: 10px;
    width: 10px;
    height: 3px;
  }
  #main .btn a:before {
    -webkit-transform: translateY(-50%) translateY(1px) rotate(60deg);
        -ms-transform: translateY(-50%) translateY(1px) rotate(60deg);
            transform: translateY(-50%) translateY(1px) rotate(60deg);
    -webkit-transform-origin: top right;
        -ms-transform-origin: top right;
            transform-origin: top right;
  }
  #main .btn a:after {
    -webkit-transform: translateY(-50%) translateY(-1px) rotate(-60deg);
        -ms-transform: translateY(-50%) translateY(-1px) rotate(-60deg);
            transform: translateY(-50%) translateY(-1px) rotate(-60deg);
    -webkit-transform-origin: bottom right;
        -ms-transform-origin: bottom right;
            transform-origin: bottom right;
  }
  #main .btn a:hover:before,
  #main .btn a:hover:after {
    right: 5px;
  }
}
.box-design-blueborder {
  padding: 25px;
  overflow: hidden;
  position: relative;
  clear: both;
  margin-bottom: 18px;
  border: 1px solid #00A1E6;
}

.linklist {
  margin-bottom: 18px;
}

.linklist li {
  padding-left: 25px;
  margin-bottom: 5px;
  position: relative;
  line-height: 1.3;
}

.linklist li:before,
.linklist li:after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  top: 0.7em;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  border: transparent 5px solid;
  border-right: none;
  border-left: #00A0E9 7px solid;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.linklist li.noicon::before,
.linklist li.noicon::after {
  display: none;
}

.linklist li:before {
  left: 5px;
}

.linklist li:after {
  left: 12px;
}

.linklist li:hover:before {
  left: 8px;
}

.linklist li:hover:after {
  left: 15px;
}

.linklist a {
  /*			display: block;*/
  color: #00A0E9;
}

.linklist-black a {
  color: #333;
}

.linklist a i {
  margin-left: 5px;
}

#main .linklist a span {
  color: inherit;
}

#main td .linklist {
  margin: 0;
}

#main td .linklist li {
  padding-left: 20px;
  font-size: 83.3%;
}

#main td .linklist li a {
  font-size: 94%;
}

#main td .linklist a .far,
#main td .linklist a .fa {
  display: inline;
}

#main td .linklist li:before {
  left: 0;
}

#main td .linklist li:hover:before {
  left: 3px;
}

#main td .linklist li:after {
  left: 7px;
}

#main td .linklist li:hover:after {
  left: 10px;
}

/*
							#main .linklist.center {
								display: table
							}
							#main .linklist.center li {
							}
							#main .linklist.center li:before,
							#main .linklist.center li:after {
								content: "";
							}
							#main .linklist.center li a {
								display: block;
							}
*/
.icon .far,
.icon .fa {
  margin-left: 5px;
}

.px8 {
  font-size: 62%;
} /**/
.px9 {
  font-size: 68%;
}

.px10 {
  font-size: 74%;
} /**/
.px11 {
  font-size: 83.3%;
}

.px12 {
  font-size: 93%;
}

.px13 {
  font-size: 100%;
} /**/
.px14 {
  font-size: 105%;
}

.px15 {
  font-size: 115%;
} /**/
.px16 {
  font-size: 123%;
}

.px17 {
  font-size: 136%;
} /**/
.px18 {
  font-size: 145%;
}

.px19 {
  font-size: 154%;
}

.px20 {
  font-size: 160%;
}

.px21 {
  font-size: 162%;
}

.px22 {
  font-size: 170%;
}

.px23 {
  font-size: 177%;
}

.px24 {
  font-size: 185%;
}

.mincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
}

.red {
  color: red;
}

.gray {
  color: gray;
}

strong {
  font-weight: bold;
}

.clear {
  clear: both;
}

.txtAlignC,
.allTxtAlignC th,
.allTxtAlignC td {
  text-align: center;
}

.txtAlignL {
  text-align: left;
}

.allTxtAlignC .txtAlignR,
.txtAlignR {
  text-align: right;
}

.boxAlignC {
  margin-left: auto;
  margin-right: auto;
}

.vAlignMiddle {
  vertical-align: middle;
  margin: 0 5px;
}

.floatContentsR {
  float: right;
  margin: 0 0 10px 10px;
}

.floatContentsL {
  float: left;
  margin: 0 10px 10px 0;
}

.floatContentsR,
.floatContentsL {
  max-width: 49%;
  max-width: calc(50% - 10px);
}

.floatContentsR img,
.floatContentsL img {
  width: 100%;
}

@media only screen and (max-width: 959px) {
  .floatContentsR {
    margin: 0 0 10px 5px;
  }
  .floatContentsL {
    margin: 0 5px 10px 0;
  }
  .floatContentsR,
  .floatContentsL {
    width: 200px;
    max-width: 49%;
    max-width: calc(50% - 5px);
  }
}
@media only screen and (max-width: 479px) {
  .floatContentsR,
  .floatContentsL {
    margin: 0 0 0 0;
  }
  .floatContentsR,
  .floatContentsL {
    max-width: 100%;
  }
  .floatContentsR img,
  .floatContentsL img {
    vertical-align: bottom;
  }
}
.tabledl {
  overflow: hidden;
}

.tabledl dt {
  float: left;
}

.tabledl dd {
  margin-bottom: 0.5em;
}

.tabledl.tdl2em dt {
  width: 2em;
}

.tabledl.tdl2em dd {
  margin-left: 2.5em;
}

.tabledl.tdl4em dt {
  width: 4em;
}

.tabledl.tdl4em dd {
  margin-left: 4.5em;
}

em {
  color: #c00;
}

.btn img {
  max-width: 100%;
}

#main .fa-file-pdf {
  color: #f21d1d;
}

#main .fa-file-word {
  color: #121b83;
}

#main .fa-file-excel {
  color: #0e9a2f;
}

#main .fa-file-powerpoint {
  color: #ff9300;
}

#main .fa-envelope {
  color: #f00;
}

#main .fa-clone {
  color: #120da3;
}

/*slick.css*/
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/*slick-theme.css*/
/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  font-weight: normal;
  font-style: normal;
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
}
/* Arrows */
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  outline: none;
  background: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  opacity: 0.75;
  color: white;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

[dir=rtl] .slick-prev {
  right: -25px;
  left: auto;
}

.slick-prev:before {
  content: "←";
}

[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}

[dir=rtl] .slick-next {
  right: auto;
  left: -25px;
}

.slick-next:before {
  content: "→";
}

[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: "•";
  text-align: center;
  opacity: 0.25;
  color: black;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  opacity: 0.75;
  color: black;
}

/* Foundation v2.1.4 http://foundation.zurb.com */
/* Artfully masterminded by ZURB  */
/* --------------------------------------------------
   Table of Contents
-----------------------------------------------------
:: Shared Styles
:: Page Name 1
:: Page Name 2
*/
/* -----------------------------------------
   Shared Styles
----------------------------------------- */
/* Mobile */
#main #article table.scroll,
#main #article table.responsive {
  margin-bottom: 0;
}

#main #article .pinned {
  position: absolute;
  left: 0;
  top: 0;
  background: #fff;
  width: 17%;
  overflow: hidden;
  /*		overflow-x: scroll;*/
  border-right: 1px solid #ccc;
  /*		border-left: 1px solid #ccc;*/
}

#main #article .pinned table {
  border-right: none;
  /*		border-left: none;*/
  width: 100%;
}

#main #article .pinned table th, .pinned table td {
  white-space: nowrap;
}

#main #article .pinned td:last-child {
  border-bottom: 0;
}

#main #article div.table-wrapper {
  position: relative;
  margin-bottom: 20px;
  overflow: hidden;
  border-right: 1px solid #ccc;
}

#main #article div.table-wrapper div.scrollable {
  margin-left: 17%;
}

#main #article div.table-wrapper div.scrollable {
  overflow: scroll;
  overflow-y: hidden;
}

#main #article table.responsive td, table.responsive th {
  /*		position: relative;*/
  white-space: nowrap;
  overflow: hidden;
}

#main #article div.scrollable table.responsive th:first-child,
#main #article div.scrollable table.responsive td:first-child,
#main #article div.scrollable table.scroll th:first-child,
#main #article div.scrollable table.scroll td:first-child {
  display: none;
}

#main #article .pinned table.responsive th:first-child,
#main #article .pinned table.responsive td:first-child,
#main #article .pinned table.scroll th:first-child,
#main #article .pinned table.scroll td:first-child {
  display: table-cell;
}

#main #article table.markettable .dummy {
  /*
  	padding: 0;
  	display: none !important;
  */
}

#main .p-manga_more {
  float: right;
  min-width: 200px;
  width: 40%;
  max-width: 340px;
}
#main .p-manga_more img {
  width: auto;
  max-width: 100%;
}