@charset "UTF-8";
/* #Default
   -------------------------------------------------------------------------- */
/**
 * ブラウザの持っているスタイルの一部リセット
 */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, figure {
  margin: 0;
  padding: 0;
  font-weight: normal;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

ul, ol {
  list-style: none;
}

fieldset, img {
  border: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}

/* ===================
画像余白クリア
===================*/
img {
  font-size: 0;
  line-height: 0;
  vertical-align: top;
}

/* ===================
共通変数
===================*/
/* ===================
ブレークポイント
===================*/
/* ===================
Flexbox
===================*/
/* #Base
   -------------------------------------------------------------------------- */
/**
* Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
* 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
* 基本的にclass属性は使用しません。
*/
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "メイリオ", "Meiryo", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴシック Pro W3", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.4em;
  color: #000;
}

#scroll_area_Off {
  overflow: hidden;
}

/* ===================
リンク
===================*/
a {
  outline: none;
}

a:link {
  text-decoration: none;
  color: #000;
}

a:visited {
  text-decoration: none;
  color: #000;
}

a:hover {
  text-decoration: underline;
  color: #000;
}

a:active {
  text-decoration: none;
  color: #000;
}

a:hover img {
  opacity: 0.7;
}

/* -----------------------------------------------------------------------------
   #Box
   -------------------------------------------------------------------------- */
/*
  Box系(display,width,height,margin,padding,float等)の汎用クラス
*/
/* -----------------------------------------------------------------------------
   #Display
   -------------------------------------------------------------------------- */
.u-dsp_none {
  display: none !important;
}

.u-dsp_block {
  display: block !important;
}

.u-dsp_inline-block {
  display: inline-block !important;
}

.u-dsp_tbl {
  display: table !important;
}

.u-dsp_tbl-cell {
  display: table-cell !important;
}

.u-flx_wrap {
  display: -ms-flexbox !important; /*--- IE10 ---*/
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex-wrap: wrap !important; /* Safari */
  flex-wrap: wrap !important;
}

.u-flx_nowrap {
  display: -ms-flexbox !important; /*--- IE10 ---*/
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex-wrap: nowrap !important; /* Safari */
  flex-wrap: nowrap !important;
}

.u-flx_space-between {
  display: -ms-flexbox !important; /*--- IE10 ---*/
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-justify-content: space-between !important;
  justify-content: space-between !important;
}

.u-flx_align-item-center {
  -webkit-align-items: center !important;
  align-items: center !important;
}

@media print, screen and (min-width: 768px) {
  .u-flx_nowrap_pc {
    display: -ms-flexbox !important; /*--- IE10 ---*/
    display: -webkit-flex !important;
    display: flex !important;
    -webkit-flex-wrap: nowrap !important; /* Safari */
    flex-wrap: nowrap !important;
  }
  .u-flx_space-between_pc {
    display: -ms-flexbox !important; /*--- IE10 ---*/
    display: -webkit-flex !important;
    display: flex !important;
    -webkit-justify-content: space-between !important;
    justify-content: space-between !important;
  }
}
.u_clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.u-flt_left {
  float: left !important;
}

.u-flt_right {
  float: right !important;
}

@media print, screen and (min-width: 768px) {
  .u-flt_left_pc {
    float: left !important;
  }
  .u-flt_right_pc {
    float: right !important;
  }
}
/* -----------------------------------------------------------------------------
   #Margin
   -------------------------------------------------------------------------- */
.u-m10 {
  margin: 10px !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.u-mr10 {
  margin-right: 10px !important;
}

.u-mr20 {
  margin-right: 20px !important;
}

.u-mr30 {
  margin-right: 30px !important;
}

.u-ml10 {
  margin-left: 10px !important;
}

.u-ml20 {
  margin-left: 20px !important;
}

.u-ml30 {
  margin-left: 30px !important;
}

@media only screen and (max-width: 767px) {
  .u-m10_sp {
    margin: 10px !important;
  }
  .u-mt0_sp {
    margin-top: 0px !important;
  }
  .u-mt10_sp {
    margin-top: 10px !important;
  }
  .u-mt20_sp {
    margin-top: 20px !important;
  }
  .u-mt30_sp {
    margin-top: 30px !important;
  }
  .u-mt40_sp {
    margin-top: 40px !important;
  }
  .u-mt50_sp {
    margin-top: 50px !important;
  }
  .u-mt60_sp {
    margin-top: 60px !important;
  }
  .u-mb0_sp {
    margin-bottom: 0 !important;
  }
  .u-mb10_sp {
    margin-bottom: 10px !important;
  }
  .u-mb20_sp {
    margin-bottom: 20px !important;
  }
  .u-mb30_sp {
    margin-bottom: 30px !important;
  }
  .u-mb40_sp {
    margin-bottom: 40px !important;
  }
  .u-mb50_sp {
    margin-bottom: 50px !important;
  }
  .u-mb60_sp {
    margin-bottom: 60px !important;
  }
  .u-mr10_sp {
    margin-right: 10px !important;
  }
  .u-mr20_sp {
    margin-right: 20px !important;
  }
  .u-mr30_sp {
    margin-right: 30px !important;
  }
  .u-ml0_sp {
    margin-left: 0 !important;
  }
  .u-ml10_sp {
    margin-left: 10px !important;
  }
  .u-ml20_sp {
    margin-left: 20px !important;
  }
  .u-ml30_sp {
    margin-left: 30px !important;
  }
}
/* -----------------------------------------------------------------------------
   #Padding
   -------------------------------------------------------------------------- */
.u-p10 {
  padding: 10px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-pt60 {
  padding-top: 60px !important;
}

.u-pt70 {
  padding-top: 70px !important;
}

.u-pt80 {
  padding-top: 80px !important;
}

.u-pt90 {
  padding-top: 90px !important;
}

.u-pt100 {
  padding-top: 100px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-pb60 {
  padding-bottom: 60px !important;
}

.u-pl10 {
  padding-left: 10px !important;
}

.u-pl20 {
  padding-left: 20px !important;
}

.u-pl30 {
  padding-left: 30px !important;
}

.u-pl50 {
  padding-left: 50px !important;
}

.u-pl90 {
  padding-left: 90px !important;
}

.u-pr10 {
  padding-right: 10px !important;
}

.u-pr20 {
  padding-right: 20px !important;
}

.u-pr30 {
  padding-right: 30px !important;
}

@media only screen and (max-width: 767px) {
  .u-p10_sp {
    padding: 10px !important;
  }
  .u-pt0_sp {
    padding-top: 0px !important;
  }
  .u-pt10_sp {
    padding-top: 10px !important;
  }
  .u-pt20_sp {
    padding-top: 20px !important;
  }
  .u-pt30_sp {
    padding-top: 30px !important;
  }
  .u-pt40_sp {
    padding-top: 40px !important;
  }
  .u-pt50_sp {
    padding-top: 50px !important;
  }
  .u-pt60_sp {
    padding-top: 60px !important;
  }
  .u-pt70_sp {
    padding-top: 70px !important;
  }
  .u-pt80_sp {
    padding-top: 80px !important;
  }
  .u-pt90_sp {
    padding-top: 90px !important;
  }
  .u-pt100_sp {
    padding-top: 100px !important;
  }
  .u-pb10_sp {
    padding-bottom: 10px !important;
  }
  .u-pb20_sp {
    padding-bottom: 20px !important;
  }
  .u-pb30_sp {
    padding-bottom: 30px !important;
  }
  .u-pb40_sp {
    padding-bottom: 40px !important;
  }
  .u-pb50_sp {
    padding-bottom: 50px !important;
  }
  .u-pb60_sp {
    padding-bottom: 60px !important;
  }
  .u-pl0_sp {
    padding-left: 0px !important;
  }
  .u-pl10_sp {
    padding-left: 10px !important;
  }
  .u-pl20_sp {
    padding-left: 20px !important;
  }
  .u-pl30_sp {
    padding-left: 30px !important;
  }
  .u-pl90_sp {
    padding-left: 90px !important;
  }
  .u-pr10_sp {
    padding-right: 10px !important;
  }
  .u-pr0_sp {
    padding-right: 0px !important;
  }
  .u-pr20_sp {
    padding-right: 20px !important;
  }
  .u-pr30_sp {
    padding-right: 30px !important;
  }
}
/* -----------------------------------------------------------------------------
   #Text
   -------------------------------------------------------------------------- */
/*
  テキストのスタイルを指定する汎用クラスです。
*/
/*---------------テキスト寄せ
------------------------*/
.u-text_left {
  text-align: left !important;
}

.u-text_right {
  text-align: right !important;
}

.u-text_center {
  text-align: center !important;
}

@media only screen and (max-width: 767px) {
  .u-text_left_sp {
    text-align: left !important;
  }
  .u-text_right_sp {
    text-align: right !important;
  }
  .u-text_center_sp {
    text-align: center !important;
  }
}
.u-mincho {
  font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
}

.u-bold {
  font-weight: bold !important;
}

.u-red {
  color: red !important;
}

.u-black {
  color: #000 !important;
}

.bold {
  font-weight: bold;
}

.red {
  color: red;
}

.u-fsize_l {
  font-size: 1.5rem !important;
}

.u-fsize_m {
  font-size: 1.4rem !important;
}

.u-fsize_s {
  font-size: 1.2rem !important;
}

.u-f10 {
  font-size: 1rem !important;
}

.u-f11 {
  font-size: 1.1rem !important;
}

.u-f12 {
  font-size: 1.2rem !important;
}

.u-f13 {
  font-size: 1.3rem !important;
}

.u-f14 {
  font-size: 1.4rem !important;
}

.u-f15 {
  font-size: 1.5rem !important;
}

.u-f16 {
  font-size: 1.6rem !important;
}

.u-f17 {
  font-size: 1.7rem !important;
}

.u-f18 {
  font-size: 1.8rem !important;
}

.u-f19 {
  font-size: 1.9rem !important;
}

.u-f20 {
  font-size: 2rem !important;
}

.u-f21 {
  font-size: 2.1rem !important;
}

.u-f22 {
  font-size: 2.2rem !important;
}

.u-f23 {
  font-size: 2.3rem !important;
}

.u-f24 {
  font-size: 2.4rem !important;
}

.u-f25 {
  font-size: 2.5rem !important;
}

.u-f26 {
  font-size: 2.6rem !important;
}

.u-f27 {
  font-size: 2.7rem !important;
}

.u-f28 {
  font-size: 2.8rem !important;
}

.u-f29 {
  font-size: 2.9rem !important;
}

.u-f30 {
  font-size: 3rem !important;
}

.u-f31 {
  font-size: 3.1rem !important;
}

.u-f32 {
  font-size: 3.2rem !important;
}

.u-f33 {
  font-size: 3.3rem !important;
}

.u-f34 {
  font-size: 3.4rem !important;
}

.u-f35 {
  font-size: 3.5rem !important;
}

.u-f36 {
  font-size: 3.6rem !important;
}

.u-f37 {
  font-size: 3.7rem !important;
}

.u-f38 {
  font-size: 3.8rem !important;
}

.u-f39 {
  font-size: 3.9rem !important;
}

.u-f40 {
  font-size: 4rem !important;
}

.u-f41 {
  font-size: 4.1rem !important;
}

.u-f42 {
  font-size: 4.2rem !important;
}

.u-f43 {
  font-size: 4.3rem !important;
}

.u-f44 {
  font-size: 4.4rem !important;
}

.u-f45 {
  font-size: 4.5rem !important;
}

.u-f46 {
  font-size: 4.6rem !important;
}

.u-f47 {
  font-size: 4.7rem !important;
}

.u-f48 {
  font-size: 4.8rem !important;
}

.u-f49 {
  font-size: 4.9rem !important;
}

.u-f50 {
  font-size: 5rem !important;
}

@media only screen and (max-width: 767px) {
  .u-f10_sp {
    font-size: 1rem !important;
  }
  .u-f11_sp {
    font-size: 1.1rem !important;
  }
  .u-f12_sp {
    font-size: 1.2rem !important;
  }
  .u-f13_sp {
    font-size: 1.3rem !important;
  }
  .u-f14_sp {
    font-size: 1.4rem !important;
  }
  .u-f15_sp {
    font-size: 1.5rem !important;
  }
  .u-f16_sp {
    font-size: 1.6rem !important;
  }
  .u-f17_sp {
    font-size: 1.7rem !important;
  }
  .u-f18_sp {
    font-size: 1.8rem !important;
  }
  .u-f19_sp {
    font-size: 1.9rem !important;
  }
  .u-f20_sp {
    font-size: 2rem !important;
  }
  .u-f21_sp {
    font-size: 2.1rem !important;
  }
  .u-f22_sp {
    font-size: 2.2rem !important;
  }
  .u-f23_sp {
    font-size: 2.3rem !important;
  }
  .u-f24_sp {
    font-size: 2.4rem !important;
  }
  .u-f25_sp {
    font-size: 2.5rem !important;
  }
  .u-f26_sp {
    font-size: 2.6rem !important;
  }
  .u-f27_sp {
    font-size: 2.7rem !important;
  }
  .u-f28_sp {
    font-size: 2.8rem !important;
  }
  .u-f29_sp {
    font-size: 2.9rem !important;
  }
  .u-f30_sp {
    font-size: 3rem !important;
  }
  .u-f31_sp {
    font-size: 3.1rem !important;
  }
  .u-f32_sp {
    font-size: 3.2rem !important;
  }
  .u-f33_sp {
    font-size: 3.3rem !important;
  }
  .u-f34_sp {
    font-size: 3.4rem !important;
  }
  .u-f35_sp {
    font-size: 3.5rem !important;
  }
  .u-f36_sp {
    font-size: 3.6rem !important;
  }
  .u-f37_sp {
    font-size: 3.7rem !important;
  }
  .u-f38_sp {
    font-size: 3.8rem !important;
  }
  .u-f39_sp {
    font-size: 3.9rem !important;
  }
  .u-f40_sp {
    font-size: 4rem !important;
  }
  .u-f41_sp {
    font-size: 4.1rem !important;
  }
  .u-f42_sp {
    font-size: 4.2rem !important;
  }
  .u-f43_sp {
    font-size: 4.3rem !important;
  }
  .u-f44_sp {
    font-size: 4.4rem !important;
  }
  .u-f45_sp {
    font-size: 4.5rem !important;
  }
  .u-f46_sp {
    font-size: 4.6rem !important;
  }
  .u-f47_sp {
    font-size: 4.7rem !important;
  }
  .u-f48_sp {
    font-size: 4.8rem !important;
  }
  .u-f49_sp {
    font-size: 4.9rem !important;
  }
  .u-f50_sp {
    font-size: 5rem !important;
  }
}
/* #Wrapper
  -------------------------------------------------------------------------- */
/*
	画面の最大幅を設定するクラス

*/
/*-------------------レイアウト共通
---------------------------*/
.u-wrapper {
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 768px) {
  .u-wrapper {
    max-width: 1020px;
  }
}
@media only screen and (max-width: 767px) {
  .u-wrapper {
    width: 100%;
    max-width: 1020px;
  }
}

.u-wrapper_inner {
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}
@media print, screen and (min-width: 768px) {
  .u-wrapper_inner {
    max-width: 1020px;
  }
}
@media only screen and (max-width: 767px) {
  .u-wrapper_inner {
    width: 100%;
    max-width: 1020px;
  }
}

.u-wrapper_inner_pc {
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 768px) {
  .u-wrapper_inner_pc {
    max-width: 1020px;
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .u-wrapper_inner_pc {
    width: 100%;
    max-width: 1020px;
  }
}

.u-wrapper_inner_sp {
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 768px) {
  .u-wrapper_inner_sp {
    max-width: 1020px;
  }
}
@media only screen and (max-width: 767px) {
  .u-wrapper_inner_sp {
    width: 100%;
    max-width: 1020px;
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* #Show
  -------------------------------------------------------------------------- */
/*
PCとスマホの表示・非表示切り替え
*/
@media print, screen and (min-width: 768px) {
  .u-show_sp {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  .u-show_sp {
    display: inherit;
  }
}

@media print, screen and (min-width: 768px) {
  .u-show_pc {
    display: inherit;
  }
}
@media only screen and (max-width: 767px) {
  .u-show_pc {
    display: none !important;
  }
}

/* #u-fluid-img
  -------------------------------------------------------------------------- */
/*
ウィンドウ幅に合わせて画像サイズを変えるクラス

*/
.u-fluid-img {
  max-width: 100%;
  height: auto;
}

@media print, screen and (min-width: 768px) {
  .u-fluid-img_pc {
    max-width: 100%;
    height: auto;
  }
}

@media only screen and (max-width: 767px) {
  .u-fluid-img_sp {
    max-width: 100%;
    height: auto;
  }
}

.is-hide {
  display: none;
}

.loading {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.7);
  z-index: 99999;
}
.loading::before {
  content: "";
  display: block;
  position: fixed;
  left: 50%;
  top: 50%;
  width: 50px;
  height: 50px;
  border-radius: 5px;
  margin-top: -15px;
  margin-left: -15px;
  background: white;
}
.loading::after {
  content: "";
  display: block;
  position: fixed;
  left: 50%;
  top: 50%;
  width: 32px;
  height: 32px;
  border-radius: 20px;
  margin-top: -10px;
  margin-left: -10px;
  border: 4px solid #60ABB9;
  border-right: 4px solid white;
  animation: rotate 1s infinite linear;
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* #Header
   -------------------------------------------------------------------------- */
/*doc
*/
header {
  display: flex;
  flex-direction: column;
  border-top: 5px solid #004ea2;
}
header * {
  line-height: 1;
}

@media print, screen and (min-width: 768px) {
  .h_main {
    padding: 20px 0 50px;
  }
}
.h_main > div {
  display: flex;
  align-items: center;
}
@media print, screen and (min-width: 768px) {
  .h_main > div {
    justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) {
  .h_main > div {
    flex-wrap: wrap;
  }
}

.sp_logo_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .sp_logo_wrap {
    width: 100%;
  }
}

.h_others {
  padding: 10px;
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .h_others {
    order: -1;
    width: 100%;
  }
}

.h_links li {
  display: inline-block;
  margin: 0 5px;
}

nav {
  background-color: #e5e5e5;
}

.gnv_pc {
  z-index: 99;
  position: relative;
  display: flex;
  justify-content: center;
  font-size: 1.1rem;
  text-align: center;
}
.gnv_pc > li {
  flex-grow: 1;
}
.gnv_pc dd {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  font-size: 1.3rem;
  background-color: #fff;
}
.gnv_pc dd ul {
  display: flex;
  justify-content: space-around;
  padding: 30px 10px;
}
.gnv_pc dd a, .gnv_pc dd span {
  display: block;
}
.gnv_pc dd img {
  margin-bottom: 10px;
}
.gnv_pc dd li {
  line-height: 1.5;
}
.gnv_pc dd p {
  padding-left: 20px;
  text-align: left;
  font-size: 1.6rem;
  line-height: 2;
  font-weight: bold;
  background-color: #004ea2;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .gnv_pc {
    display: none;
  }
}
.gnv_pc a:hover {
  color: #004ea2;
  text-decoration: none;
}

.menu_corporate {
  border: 1px solid #009944;
  border-top: 5px solid #009944;
}

.menu_products {
  border: 1px solid #004ea2;
}
.menu_products .imgLiquid {
  display: block;
  width: 137px;
  height: 108px;
}

.gnv_ttl_pc {
  display: block;
  padding: 15px 0;
  width: 100%;
  cursor: pointer;
  font-weight: bold;
  font-size: 1.3rem;
}
.gnv_ttl_pc a:link {
  color: #004ea2;
}
.gnv_ttl_pc a:visited {
  color: #004ea2;
}
.gnv_ttl_pc a:hover {
  color: #004ea2;
}
.gnv_ttl_pc a:active {
  color: #004ea2;
}
.gnv_ttl_pc:hover {
  color: #004ea2;
  text-decoration: none;
}
.gnv_ttl_pc.is-current {
  color: #004ea2;
}
.gnv_ttl_pc.is-current:link {
  color: #004ea2;
}
.gnv_ttl_pc.is-current:visited {
  color: #004ea2;
}
.gnv_ttl_pc.is-current:active {
  color: #004ea2;
}
.gnv_ttl_pc.is-current:hover {
  color: #004ea2;
  text-decoration: none;
}

.is-select .gnv_ttl_pc {
  color: #004ea2;
}
.is-select .gnv_ttl_pc a:link {
  color: #004ea2;
}
.is-select .gnv_ttl_pc a:visited {
  color: #004ea2;
}
.is-select .gnv_ttl_pc a:hover {
  color: #004ea2;
}
.is-select .gnv_ttl_pc a:active {
  color: #004ea2;
}

.gnv_btn {
  background-color: transparent;
  display: block;
  border: none;
  cursor: pointer;
  outline: none;
  margin-left: 10px;
  appearance: none;
  font-size: 1rem;
}
.gnv_btn img {
  margin-bottom: 3px;
}
@media print, screen and (min-width: 768px) {
  .gnv_btn {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .gnv_btn {
    display: block;
  }
}

.gnv_sp {
  display: none;
  position: relative;
  z-index: 101;
}
.gnv_sp a, .gnv_sp .gnv-close {
  display: block;
  padding: 15px;
  width: 100%;
  height: 100%;
}
.gnv_sp a:hover {
  background-color: #ddd;
  text-decoration: none;
}
.gnv_sp li {
  border-top: 1px solid #000;
}
.gnv_sp dd li {
  border: none;
}
.gnv_sp dd a {
  padding-left: 30px;
}
.gnv_sp .open {
  display: block;
}
.gnv_sp p {
  margin: 10px;
}

.gnv_ttl {
  display: block;
  padding: 15px;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.gnv_ttl:hover {
  background-color: #ddd;
}

.gnv_close {
  background-color: #666;
  color: #fff;
}

/* #Footer
   -------------------------------------------------------------------------- */
/*doc

*/
footer {
  position: relative;
  margin-top: 90px;
  padding: 25px 0;
  background-color: #004ea2;
  color: #fff;
}
footer a:link {
  color: #fff;
}
footer a:visited {
  color: #fff;
}
footer a:hover {
  color: #fff;
}
footer a:active {
  color: #fff;
}
@media only screen and (max-width: 767px) {
  footer {
    text-align: center;
  }
}
@media print, screen and (min-width: 768px) {
  footer > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media print, screen and (min-width: 768px) {
  footer ul {
    order: 2;
  }
}
footer ul li {
  padding: 0 10px;
  display: inline-block;
  line-height: 2;
  border-right: 1px solid #ccc;
}
@media print, screen and (min-width: 768px) {
  footer small {
    order: 1;
  }
}

.f_sns {
  position: absolute;
  right: 70px;
  top: 15px;
}

#pagetop {
  position: absolute;
  right: 0;
  top: -58px;
  width: 58px;
  height: 58px;
  line-height: 58px;
}

/* #Content
   -------------------------------------------------------------------------- */
/*doc

*/
#content {
  min-height: 55vh;
}

#breadcrumb {
  text-align: right;
}
#breadcrumb li {
  display: inline-block;
  margin-top: 10px;
  font-size: 1.2rem;
}
#breadcrumb li:before {
  margin: 0 8px;
  content: ">";
  color: #000;
}
#breadcrumb li:first-child:before {
  margin: 0;
  content: "";
}
#breadcrumb img {
  vertical-align: middle;
}

.content_top {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  height: 182px;
  background-repeat: repeat-x;
  background-position: center center;
  text-align: center;
}
.content_top h2 {
  font-family: "EB Garamond", serif;
  font-size: 4.8rem;
  color: #fff;
  font-weight: normal;
}

.heading {
  background-color: #004ea2;
}
.heading .u-wrapper {
  position: relative;
  display: flex;
}
@media print, screen and (min-width: 768px) {
  .heading .u-wrapper {
    height: 70px;
    justify-content: flex-end;
    align-items: center;
  }
}
@media only screen and (max-width: 767px) {
  .heading .u-wrapper {
    padding-top: 10px;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: flex-start;
  }
}
.heading h2 {
  padding: 0 10px;
  font-size: 24px;
  background-color: #fff;
  color: #004ea2;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  background: -moz-linear-gradient(bottom, #ffffff 60%, #eaeaea);
  background: -webkit-linear-gradient(bottom, #ffffff 60%, #eaeaea);
  background: linear-gradient(to top, #ffffff 60%, #eaeaea);
  font-family: "Shin Go Bold", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴシック Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.heading h2 span {
  font-size: 18px;
}
@media print, screen and (min-width: 768px) {
  .heading h2 {
    position: absolute;
    bottom: 0;
    left: 10px;
    line-height: 2;
  }
}
@media only screen and (max-width: 767px) {
  .heading h2 {
    margin: 10px 10px 0 10px;
    order: 1;
  }
}
.heading a:link {
  color: #004ea2;
}
.heading a:visited {
  color: #004ea2;
}
.heading a:hover {
  color: #004ea2;
}
.heading a:active {
  color: #004ea2;
}
.heading a {
  padding: 10px;
  color: #004ea2;
  border: 1px solid #fff;
  border-radius: 5px;
  font-weight: bold;
  background: -moz-linear-gradient(bottom, #cbcbcb, #f7f7f7);
  background: -webkit-linear-gradient(bottom, #cbcbcb, #f7f7f7);
  background: linear-gradient(to top, #cbcbcb, #f7f7f7);
}
.heading a img {
  vertical-align: middle;
}
.heading a:hover {
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  .heading a {
    margin-left: 10px;
    display: inline-block;
    order: 0;
    padding: 5px 10px 0;
    text-align: right;
  }
}

.imgLiquid {
  position: relative;
  border: 1px solid #ccc;
}
.imgLiquid a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.btn_rel {
  display: block;
  margin: 0 auto;
  padding: 5px 10px;
  width: 100%;
  max-width: 600px;
  text-align: center;
  border: 1px solid #000;
  background-color: #fff;
  text-align: center;
  line-height: 1;
}

.index .news {
  margin-top: 30px;
}
@media print, screen and (min-width: 768px) {
  .index .news {
    display: flex;
    align-items: center;
  }
}
@media only screen and (max-width: 767px) {
  .index .news h2 {
    text-align: center;
  }
}

.slider img {
  margin: 0 auto;
}

.news_list {
  font-size: 1.3rem;
  width: 100%;
}
.news_list dl {
  border-bottom: 1px solid #ccc;
}
@media print, screen and (min-width: 768px) {
  .news_list dl {
    display: flex;
    align-items: flex-start;
  }
}
.news_list dd, .news_list dt {
  margin: 10px;
}
.news_list .category {
  font-size: 1.2rem;
  flex-shrink: 0;
  text-align: center;
  width: 100px;
  background-color: #004ea2;
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  .news_list {
    margin-left: 60px;
  }
}

.pickup {
  max-width: 1200px;
  margin: 30px auto;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .pickup {
    display: flex;
    flex-wrap: wrap;
  }
}
.pickup a {
  display: block;
}
@media print, screen and (min-width: 768px) {
  .pickup a {
    width: 50%;
  }
}
@media only screen and (max-width: 767px) {
  .pickup a {
    margin-bottom: 10px;
  }
}

.our_products {
  text-align: center;
}
.our_products h2 {
  margin-bottom: 15px;
}
.our_products .imgLiquid {
  width: 200px;
  height: 135px;
}
.our_products .imgLiquid:hover {
  opacity: 0.5;
}

.greeting {
  text-align: center;
  margin-top: 50px;
}
.greeting h3, .greeting p {
  margin-bottom: 30px;
  max-width: 700px;
  margin: 0 auto 30px;
  font-size: 1.5rem;
}
.greeting a:link {
  color: #fff;
}
.greeting a:visited {
  color: #fff;
}
.greeting a:hover {
  color: #fff;
}
.greeting a:active {
  color: #fff;
}

@media print, screen and (min-width: 768px) {
  .offices {
    display: flex;
    flex-wrap: wrap;
  }
}
@media print, screen and (min-width: 768px) {
  .offices dl {
    margin: 0 2% 30px;
    width: 46%;
  }
}
@media only screen and (max-width: 767px) {
  .offices dl {
    margin-bottom: 30px;
  }
}
.offices dt {
  margin-bottom: 10px;
  padding-bottom: 5px;
  font-size: 1.8rem;
  border-bottom: 1px solid #000;
}
.offices dd {
  margin-bottom: 10px;
}

.googlemap {
  position: relative;
  padding-top: 59.57%;
  width: 100%;
  border: 1px solid #ccc;
}
.googlemap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.outline table, .recruit table {
  width: 100%;
}
.outline th, .recruit th, .outline td, .recruit td {
  padding: 10px;
  border: 1px solid #fff;
  text-align: left;
}
.outline th, .recruit th {
  background-color: #e5e5e5;
}
@media print, screen and (min-width: 768px) {
  .outline th, .recruit th {
    width: 22.5%;
  }
}
.outline td, .recruit td {
  background-color: #f2f2f2;
}
@media only screen and (max-width: 767px) {
  .outline table, .recruit table, .outline tbody, .recruit tbody, .outline tr, .recruit tr, .outline th, .recruit th, .outline td, .recruit td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
}

.ttl_outline {
  margin-top: 60px;
  margin-bottom: 30px;
  padding-bottom: 5px;
  border-bottom: 1px solid #000;
  font-size: 1.8rem;
  line-height: 1;
}
.ttl_outline img {
  margin-right: 10px;
  vertical-align: bottom;
}

@media print, screen and (min-width: 768px) {
  .history {
    display: flex;
  }
}
.history th, .history td {
  padding: 10px 0;
  border-bottom: 1px solid #9c9c9c;
  text-align: left;
}
.history th {
  border-bottom: 3px solid #9c9c9c;
}
@media print, screen and (min-width: 768px) {
  .history th {
    width: 164px;
  }
}
.history td {
  padding-left: 50px;
}
.history figure {
  margin: 0;
  margin-bottom: 30px;
}
@media print, screen and (min-width: 768px) {
  .history figure {
    padding-left: 30px;
  }
}

.recruit h3 {
  margin-top: 30px;
  margin-bottom: 25px;
  font-size: 1.8rem;
  border-bottom: 1px solid #000;
}
.recruit p {
  font-size: 2.4rem;
  color: #004ea2;
}
.recruit td {
  padding: 10px 20px;
}

.development {
  margin-top: 30px;
  background: #000 url("/images/corporate/development/bg_development.jpg") 0 0 no-repeat;
  background-size: cover;
  color: #fff;
}
.development h3 {
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .development h3 {
    padding: 0 30px;
  }
}
@media only screen and (max-width: 767px) {
  .development h3 {
    padding: 10px 10px 0;
  }
}
.development .main-products {
  margin-top: 50px;
  padding-bottom: 10px;
}
@media print, screen and (min-width: 768px) {
  .development .main-products h3 {
    padding: 15px 30px;
    font-size: 2.7rem;
    background: transparent url("/images/corporate/development/fig_01.png") right 0 no-repeat;
  }
}
@media only screen and (max-width: 767px) {
  .development .main-products h3 {
    font-size: 2.2rem;
  }
}
.development .main-products h3 img {
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
  .development .main-products .description {
    padding: 0 30px;
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) {
  .development .main-products .description {
    padding: 0 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .development .main-products .description dl {
    width: 48%;
  }
}
.development .main-products .description dl dt {
  margin-bottom: 10px;
  text-align: center;
  line-height: 2;
  font-size: 2.2rem;
  border: 1px solid #ccc;
  font-weight: bold;
}
.development .main-products figure {
  text-align: center;
}
.development .approach {
  margin-top: 15px;
}
@media print, screen and (min-width: 768px) {
  .development .approach {
    display: flex;
    flex-wrap: wrap;
  }
}
@media print, screen and (min-width: 768px) {
  .development .approach div {
    width: 50%;
    padding: 0 30px 30px;
  }
}
@media only screen and (max-width: 767px) {
  .development .approach div {
    padding: 10px;
  }
}
.development .approach dt {
  margin-bottom: 10px;
}
.development .approach dd {
  font-weight: 1.5rem;
}

.ttl_global {
  margin-top: 60px;
  font-size: 2.8rem;
  text-align: center;
  color: #004ea2;
  font-weight: bold;
}

@media print, screen and (min-width: 768px) {
  .collaborate {
    display: flex;
    justify-content: space-around;
  }
}
.collaborate > div {
  margin-top: 30px;
}
@media print, screen and (min-width: 768px) {
  .collaborate > div {
    padding: 0 30px;
    width: 50%;
    max-width: 460px;
  }
}
.collaborate p {
  margin-top: 15px;
  line-height: 1.75;
  font-size: 1.6rem;
}
.collaborate p span {
  color: #004ea2;
  font-weight: bold;
}

.ttl_global-office {
  margin-top: 60px;
  margin-bottom: 10px;
  text-align: center;
  font-size: 2.4rem;
}

.global-office {
  margin-bottom: 30px;
  border: 1px solid #ccc;
}
@media print, screen and (min-width: 768px) {
  .global-office {
    display: flex;
    padding: 30px 50px;
  }
}
@media only screen and (max-width: 767px) {
  .global-office {
    padding: 10px;
  }
}
.global-office figure {
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .global-office figure {
    width: 27.55%;
  }
}
@media only screen and (max-width: 767px) {
  .global-office figure {
    margin-bottom: 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .global-office > div {
    width: 72.45%;
    padding-left: 40px;
  }
}
.global-office h4 {
  font-size: 1.8rem;
  vertical-align: middle;
}
.global-office h4 img {
  vertical-align: middle;
  margin-right: 10px;
}
.global-office dt {
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 1.5rem;
  border-bottom: 1px solid #000;
}
.global-office a:link {
  color: #004ea2;
}
.global-office a:visited {
  color: #004ea2;
}
.global-office a:hover {
  color: #004ea2;
}
.global-office a:active {
  color: #004ea2;
}

.products .products_wrapper {
  margin-top: 35px;
}
@media print, screen and (min-width: 768px) {
  .products .products_wrapper {
    display: flex;
    align-items: flex-start;
  }
}
.products .product_contents {
  width: 100%;
}
.products .product-menu {
  flex-shrink: 0;
  flex-basis: 270px;
  padding-left: 30px;
  color: #fff;
  line-height: 1;
}
.products .product-menu a:link {
  color: #fff;
}
.products .product-menu a:visited {
  color: #fff;
}
.products .product-menu a:hover {
  color: #fff;
}
.products .product-menu a:active {
  color: #fff;
}
.products .product-menu .L > dt {
  padding: 10px;
  text-align: center;
  background-color: #052563;
  font-size: 1.5rem;
}
.products .product-menu .M > dt {
  padding: 15px 10px;
  background-color: #4d6eb2;
  border-bottom: 1px solid #fff;
}
.products .product-menu .M > dt:before {
  content: url("/images/products/icon_arrow.gif");
  margin-right: 3px;
}
.products .product-menu .M > dt:hover {
  cursor: pointer;
  background-color: #a5a7a8;
  text-decoration: none;
}
.products .product-menu .M > dd {
  display: none;
}
.products .product-menu .M > dd.show_slug {
  display: block;
}
.products .product-menu a {
  display: block;
  padding: 5px 10px 5px 24px;
  background-color: #2f95c5;
  border-bottom: 1px solid #fff;
}
.products .product-menu a:hover {
  background-color: #a5a7a8;
  text-decoration: none;
}
.products .product-menu .S > dt {
  padding: 5px 10px 5px 24px;
  background-color: #4d6eb2;
  border-bottom: 1px solid #fff;
}
.products .product-menu .S a {
  padding: 5px 10px 5px 34px;
}
.products .product-menu .active a {
  background-color: #a5a7a8;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .products .product-menu {
    display: none;
  }
}
.products .single_page .summary {
  margin-bottom: 10px;
  line-height: 1;
}
.products .single_page .summary div {
  display: flex;
  align-items: center;
  padding: 5px 0;
  border-bottom: 1px solid #004ea2;
}
.products .single_page .summary dt {
  flex-shrink: 0;
  padding: 0 10px;
  font-size: 1.5rem;
  line-height: 24px;
  background-color: #004ea2;
  color: #fff;
  width: 65px;
}
.products .single_page .summary dd {
  padding-left: 10px;
  font-size: 1.6rem;
}
.products .single_page h3 {
  font-size: 2.4rem;
  font-weight: bold;
}
.products .single_page .description {
  margin: 15px 0;
  padding: 5px 10px;
  font-size: 1.6rem;
  background-color: #004ea2;
  color: #fff;
}
.products .single_page figure img {
  background-image: url("/images/products/bg_product.jpg");
  background-size: cover;
}
.products .single_page .features {
  margin-top: 30px;
  text-align: left;
}
.products .single_page .features h4 {
  margin-bottom: 15px;
  padding: 0 15px;
  border: 1px solid #bfbfbf;
  background-color: #eeeeee;
  line-height: 2;
  font-weight: bold;
}
.products .single_page .features p {
  margin-bottom: 10px;
}
.products .single_page .rel_contact {
  display: block;
  margin: 30px auto;
  max-width: 340px;
  line-height: 50px;
  text-align: center;
  border: 1px solid #000;
  background-color: #fff;
  text-align: center;
  vertical-align: middle;
  font-size: 1.4rem;
}
.products .single_page .rel_contact img {
  margin-right: 10px;
  vertical-align: middle;
}
@media print, screen and (min-width: 768px) {
  .products .archive_category, .products .archive_all .item_lists {
    display: flex;
    flex-wrap: wrap;
  }
}
.products .archive_category h3, .products .archive_all .item_lists h3 {
  width: 100%;
  margin-bottom: 15px;
  font-size: 2.2rem;
  font-weight: bold;
  color: #004ea2;
}
.products .archive_category h5, .products .archive_all .item_lists h5 {
  width: 100%;
  margin-bottom: 20px;
  padding: 5px 20px;
  font-size: 1.6rem;
  font-weight: bold;
  border: 1px solid #ccc;
  background: -moz-linear-gradient(top, #fff, #ccc);
  background: -webkit-linear-gradient(top, #fff, #ccc);
  background: linear-gradient(to bottom, #fff, #ccc);
}
.products .archive_category dl, .products .archive_all .item_lists dl {
  margin: 0 1% 30px;
}
@media print, screen and (min-width: 768px) {
  .products .archive_category dl, .products .archive_all .item_lists dl {
    width: 48%;
  }
}
.products .archive_category dt, .products .archive_all .item_lists dt {
  margin-top: 10px;
}
.products .archive_category dt a:link, .products .archive_all .item_lists dt a:link {
  color: #0075a9;
}
.products .archive_category dt a:visited, .products .archive_all .item_lists dt a:visited {
  color: #0075a9;
}
.products .archive_category dt a:hover, .products .archive_all .item_lists dt a:hover {
  color: #0075a9;
}
.products .archive_category dt a:active, .products .archive_all .item_lists dt a:active {
  color: #0075a9;
}
.products .archive_category dd, .products .archive_all .item_lists dd {
  font-size: 1.3rem;
}
.products .archive_category dd img, .products .archive_all .item_lists dd img {
  vertical-align: middle;
}
.products .archive_category .links, .products .archive_all .item_lists .links {
  margin-top: 5px;
  display: flex;
}
.products .archive_category .product_img, .products .archive_all .item_lists .product_img {
  background: -moz-linear-gradient(top, #dadada, #fff 70%);
  background: -webkit-linear-gradient(top, #dadada, #fff 70%);
  background: linear-gradient(to bottom, #dadada, #fff 70%);
}
.products .archive_category .imgLiquid, .products .archive_all .item_lists .imgLiquid {
  display: block;
  padding-top: 81.66%;
  width: 100%;
}
.products .archive_all h3 {
  margin-bottom: 10px;
  padding: 5px 10px;
  font-size: 2.4rem;
  color: #fff;
  background-color: #052563;
  font-weight: bold;
}
.products .archive_all h4 {
  margin-bottom: 30px;
  border-top: 3px solid #ccc;
  border-bottom: 1px solid #ccc;
  font-size: 1.8rem;
  padding: 5px 10px;
}
.products .archive_all h5 {
  margin-bottom: 30px;
  padding: 5px 20px;
  font-size: 1.6rem;
  border: 1px solid #ccc;
  background: -moz-linear-gradient(top, #fff, #ccc);
  background: -webkit-linear-gradient(top, #fff, #ccc);
  background: linear-gradient(to bottom, #fff, #ccc);
}
.products .archive_all .item_lists dl {
  margin: 0 1% 30px;
}
@media print, screen and (min-width: 768px) {
  .products .archive_all .item_lists dl {
    width: 23%;
  }
}

@media print, screen and (min-width: 768px) {
  .youtube iframe {
    display: block;
    margin: 0 auto 10px;
    width: 100%;
    max-width: 700px;
    height: 393px;
    padding: 30px 60px;
    border: 1px solid #ccc;
  }
}
@media only screen and (max-width: 767px) {
  .youtube {
    position: relative;
    margin: 0 auto 10px;
    padding-top: 56.25%;
  }
  .youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .youtube:empty {
    display: none;
  }
}
.wysiwyg img {
  max-width: 100%;
  height: auto;
}

.btn_mail, .btn_detail {
  display: block;
  margin: 0 auto;
  padding: 3px 10px;
  width: 50%;
  max-width: 136px;
  text-align: center;
  border: 1px solid #000;
  background-color: #fff;
  text-align: center;
  line-height: 1;
  vertical-align: middle;
  font-size: 1.2rem;
}
.btn_mail img, .btn_detail img {
  vertical-align: middle;
}

.btn_detail {
  background-color: #004ea2;
  border-color: #004ea2;
  color: #fff;
}
.btn_detail:link {
  color: #fff;
}
.btn_detail:visited {
  color: #fff;
}
.btn_detail:active {
  color: #fff;
}
.btn_detail:hover {
  color: #fff;
  text-decoration: none;
}

textarea, select, input {
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴシック Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.4rem;
}

.contact form {
  margin: 30px 0;
}
.contact table {
  margin: 15px 0 30px;
  width: 100%;
}
.contact tr {
  border-top: 1px dashed #ccc;
}
.contact td, .contact th {
  padding: 15px;
  vertical-align: top;
  text-align: left;
}
.contact th {
  width: 29.4rem;
  background-color: #ddd;
}
.contact .req {
  color: red;
}
.contact label {
  margin-right: 10px;
}
.contact input[type=radio] {
  margin-right: 5px;
}
.contact input[type=text], .contact textarea {
  padding: 5px;
  width: 500px;
}
.contact #inquiry {
  width: 500px;
  height: 150px;
}
.contact .validation-error {
  text-align: center;
  line-height: 3;
}
.contact .entry a, .contact .entry button, .contact .confirm a, .contact .confirm button, .contact #thanks a, .contact #thanks button {
  display: block;
  margin: 0 auto;
  width: 18.2rem;
  text-align: center;
  line-height: 2.5;
  font-size: 1.4rem;
  border: 1px solid #aaa;
  border-radius: 3px;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e8e8e8)); /* Safari,Google Chrome用 */
  background: -ms-linear-gradient(top, #fff, #e8e8e8); /* IE10+ */
  background: -moz-linear-gradient(top, #fff, #e8e8e8); /* Firefox用 */
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe8e8e8', GradientType=0)"; /* IE8,9用 */
  background: linear-gradient(top, #fff, #e8e8e8);
  box-shadow: rgba(212, 212, 212, 0.65098) 0 3px 3px;
  -webkit-box-shadow: rgba(212, 212, 212, 0.65098) 0 3px 3px;
  -moz-box-shadow: rgba(212, 212, 212, 0.65098) 0 3px 3px;
}
.contact .entry a:hover, .contact .entry button:hover, .contact .confirm a:hover, .contact .confirm button:hover, .contact #thanks a:hover, .contact #thanks button:hover {
  text-decoration: none;
  opacity: 0.5;
}
.contact .entry a#doSend, .contact .entry button#doSend, .contact .confirm a#doSend, .contact .confirm button#doSend, .contact #thanks a#doSend, .contact #thanks button#doSend {
  color: #fff;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(red)); /* Safari,Google Chrome用 */
  background: -ms-linear-gradient(top, #fff, red); /* IE10+ */
  background: -moz-linear-gradient(top, #fff, red); /* Firefox用 */
  background: linear-gradient(top, #fff, red);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffff0000', GradientType=0)"; /* IE8,9用 */
}
.contact #thanks {
  margin: 70px;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .contact table, .contact tbody, .contact tr, .contact th, .contact td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
  .contact input[type=text], .contact textarea {
    padding: 5px;
    width: 100%;
  }
  .contact #inquiry {
    width: 100%;
    height: 150px;
  }
}

.ttl_contact {
  margin-bottom: 30px;
  font-weight: normal;
  text-align: center;
  font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-size: 3.8rem;
}

.megaro_news .news_list {
  margin: 30px 0;
}
.megaro_news .news_list dl {
  border-bottom: 1px dashed #ccc;
}
.megaro_news .news_list dl:first-child {
  border-top: 1px dashed #ccc;
}

.news_single {
  margin-top: 30px;
  margin-bottom: 10px;
}
.news_single .category {
  font-size: 1.2rem;
  text-align: center;
  width: 100px;
  background-color: #004ea2;
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  .news_single dl {
    padding: 20px;
    border: 1px solid #000;
  }
}
.news_single dt {
  margin: 5px 0 20px;
  padding: 10px;
  background-color: #eee;
  font-size: 1.6rem;
}
.news_single dd {
  margin-bottom: 15px;
}
.news_single dd time, .news_single dd span {
  display: inline-block;
  line-height: 20px;
  vertical-align: middle;
}
.news_single dd time {
  margin-right: 10px;
}
.news_single .wysiwyg a:link {
  color: blue;
}
.news_single .wysiwyg a:visited {
  color: blue;
}
.news_single .wysiwyg a:hover {
  color: blue;
}
.news_single .wysiwyg a:active {
  color: blue;
}
.news_single .wysiwyg img {
  margin: 10px 0;
  max-width: 100%;
  height: auto;
}

#paging {
  margin-top: 50px;
  padding-bottom: 15px;
  text-align: center;
}
#paging li {
  display: inline;
}
#paging span, #paging a {
  display: inline-block;
  font-size: 1.4rem;
  width: 32px;
  height: 32px;
  margin-left: 7px;
  line-height: 32px;
  border: 1px solid #000;
  border-radius: 5px;
  text-align: center;
}
#paging span:hover, #paging span.current, #paging a:hover, #paging a.current {
  background-color: blue;
  color: #fff;
  text-decoration: none;
}
#paging a:hover {
  cursor: pointer;
}

.pdf {
  padding: 3px;
  margin-left: 5px;
  background-color: #CC0000;
  color: #fff;
  font-size: 1rem;
  border-radius: 5px;
}

/*wp仕様Pagenation*/
.pager {
  text-align: center;
}

.pager a.page-numbers,
.pager .current {
  background: #fff;
  border: solid 1px #ddd;
  padding: 5px 8px;
  margin: 0 2px;
}

.pager .current {
  background: #527bcc;
  color: #fff;
}

.pager a {
  color: #000;
  text-decoration: none;
}

.pager a:link {
  text-decoration: none;
  color: #000;
}

.pager a:visited {
  text-decoration: none;
  color: #000;
}

.pager a:hover {
  text-decoration: none;
  color: #000;
}

.pager a:active {
  text-decoration: none;
  color: #000;
}

.privacy section {
  margin-top: 30px;
}
.privacy section dl {
  margin-bottom: 30px;
}
.privacy section dt {
  margin-bottom: 10px;
  padding: 10px 0 10px 15px;
  background-color: #e9e9e9;
  font-size: 1.8rem;
}
.privacy section dd {
  line-height: 1.75;
}
@media print, screen and (min-width: 768px) {
  .privacy section dd {
    padding-left: 30px;
  }
}
.privacy section ul {
  margin-top: 30px;
}

.sitemap {
  margin-top: 30px;
}
@media print, screen and (min-width: 768px) {
  .sitemap {
    display: flex;
  }
}
@media print, screen and (min-width: 768px) {
  .sitemap > ul {
    width: 50%;
  }
}
.sitemap > ul > li {
  margin-bottom: 15px;
  font-size: 1.6rem;
}
.sitemap a:before {
  content: "▶︎ ";
  font-size: 1rem;
}
.sitemap dd li {
  padding-left: 15px;
  font-size: 1.4rem;
}