@charset "UTF-8";
/*================================================

base

================================================*/
/*!
 * ress.css • v1.1.1
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  box-sizing: border-box;
  overflow-y: scroll;
  /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%;
  /* iOS 8+ */
}

*,
::before,
::after {
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

/* Remove margin, padding of all elements and set background-no-repeat as default */
* {
  background-repeat: no-repeat;
  /* Set `background-repeat: no-repeat` to all elements */
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

summary {
  display: list-item;
  /* Add the correct display in all browsers */
}

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */
}

[hidden],
template {
  display: none;
  /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: 1px dotted;
  /* Add a bordered underline effect in all browsers */
  text-decoration: none;
  /* Remove text decoration in Firefox 40+ */
}

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects;
  /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */
}

b,
strong {
  font-weight: bolder;
  /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic;
  /* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
  border-radius: 0;
}

/* Apply cursor pointer to button elements */
button,
[type="button"],
[type="reset"],
[type="submit"]
[role="button"] {
  cursor: pointer;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type="number"] {
  width: auto;
  /* Firefox 36+ */
}

[type="search"] {
  -webkit-appearance: textfield;
  /* Safari 8+ */
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
  /* Safari 8 */
}

textarea {
  overflow: auto;
  /* Internet Explorer 11+ */
  resize: vertical;
  /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule. */
}

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: 0;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS */
}

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
}

/* Style select like a standard input */
select {
  -moz-appearance: none;
  /* Firefox 36+ */
  -webkit-appearance: none;
  /* Chrome 41+ */
}

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor;
  /* Internet Explorer 11+ */
}

legend {
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge and IE */
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS and Safari */
  font: inherit;
  /* Change font properties to `inherit` in Chrome and Safari */
}

[type="search"] {
  -webkit-appearance: textfield;
  /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px;
  /* Correct the outline style in Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden;
  /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block;
  /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~="screen"] {
    display: inherit;
  }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}

/* Specify the progress cursor of updating elements */
[aria-busy="true"] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* # =================================================================
   # Selection
   # ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection {
  background-color: #b3d4fc;
  /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc;
  /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

label {
  cursor: pointer;
}

::ms-clear {
  display: none;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  -webkit-appearance: none;
}

button, input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
}

/*================================================
 * base */
body {
  -webkit-font-smoothing: antialiased;
  font-family: メイリオ, Meiryo, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "MS Sans Serif", "ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif;
  -webkit-text-size-adjust: 100%;
  line-height: 1.7;
  letter-spacing: 0.02em;
  font-size: 16px;
}

@media only screen and (max-width: 768px) {
  body {
    margin-top: 59px;
    position: relative;
  }
}

img {
  vertical-align: top;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

ol, ul, li {
  list-style: none;
  list-style-type: none;
}

table {
  border-collapse: collapse;
}

:placeholder-shown {
  font: inherit;
  line-height: 1;
  color: #666;
}

::-webkit-input-placeholder {
  font: inherit;
  line-height: 1.5;
  color: #666;
}

:-moz-placeholder {
  font: inherit;
  line-height: 1.6;
  color: #666;
}

::-moz-placeholder {
  font: inherit;
  line-height: 1.6;
  color: #666;
}

:-ms-input-placeholder {
  font: inherit;
  line-height: 1;
  color: #666;
}

input:focus::-webkit-input-placeholder {
  color: transparent;
}

input:focus:-moz-placeholder {
  color: transparent;
}

input:focus::-moz-placeholder {
  color: transparent;
}

textarea:focus::-webkit-input-placeholder {
  color: transparent;
}

textarea:focus:-moz-placeholder {
  color: transparent;
}

textarea:focus::-moz-placeholder {
  color: transparent;
}

/*================================================

plugin

================================================*/
/* Slider */
.slickSlider {
  position: relative;
  display: block;
  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;
}

.slickSlider .slick-track,
.slickSlider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: '';
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slickSlide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir='rtl'] .slickSlide {
  float: right;
}

.slickSlide img {
  display: block;
}

.slickSlide.slick-loading img {
  display: none;
}

.slickSlide.dragging img {
  pointer-events: none;
}

.slick-initialized .slickSlide {
  display: block;
}

.slick-loading .slickSlide {
  visibility: hidden;
}

.slick-vertical .slickSlide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/*================================================

* layout

================================================*/
.inner {
  width: 1020px;
  margin: 0 auto;
  padding: 0 10px;
}

@media only screen and (max-width: 768px) {
  .inner {
    width: auto;
    padding: 0;
  }
}

/*================================================

* module

================================================*/
/*------------------------------
utility */
.clr:after {
  content: '';
  display: table;
  clear: both;
  height: 0;
}

.none {
  display: none;
}

.align-c {
  text-align: center;
}

.align-r {
  text-align: right;
}

.float-l {
  float: left;
}

.float-r {
  float: right;
}

@media only screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }
}

@media only screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}

.textSmall {
  font-size: 10px;
}

/*------------------------------
header */
.header {
  position: relative;
  min-width: 1020px;
  z-index: 3;
}

@media only screen and (max-width: 768px) {
  .header {
    width: 100%;
    min-width: 0;
    position: fixed;
    top: 0;
    background-color: #f2f2f2;
  }
}

.headerActive {
  height: 100%;
  z-index: 9999;
}

@media only screen and (min-width: 568px) and (max-width: 736px) {
  .headerActive {
    overflow-y: scroll;
    padding-bottom: 20px;
    padding: 0;
    width: calc(100% + 17px);
    padding-right: 17px;
  }
}

.headerLogo {
  font-size: 11px;
  text-align: center;
  padding-top: 9px;
  float: left;
  text-indent: -9999px;
}

@media only screen and (max-width: 768px) {
  .headerLogo {
    padding-left: 20px;
    padding-bottom: 7px;
  }
}

.headerLogo a {
  display: block;
}

@media only screen and (min-width: 769px) {
  .headerLogo a {
    width: 167px;
    height: 54px;
    opacity: 1;
    transition: all 0.3s ease;
    background: url(../img/common/logo_pc.png) no-repeat 0;
  }
}

@media only screen and (min-width: 769px) and (-webkit-min-device-pixel-ratio: 2), only screen and (min-width: 769px) and (min-resolution: 2dppx) {
  .headerLogo a {
    background: url(../img/common/logo_pc@2x.png) no-repeat 0;
    background-size: 167px auto;
  }
}

@media only screen and (min-width: 769px) {
  .headerLogo a:hover {
    opacity: 0.7;
  }
}

@media only screen and (max-width: 768px) {
  .headerLogo a {
    width: 136px;
    height: 43px;
    background: url(../img/common/logo_sp.png) no-repeat 0 0;
    background-size: 136px auto;
  }
}

.headerBox {
  position: absolute;
  top: 20px;
  left: 50%;
  margin-left: -20px;
}

@media only screen and (max-width: 768px) {
  .headerBox {
    position: static;
    display: none;
  }
}

.headerBox > li {
  display: inline-block;
  vertical-align: middle;
}

@media only screen and (max-width: 768px) {
  .headerBox > li:nth-child(n+2) {
    display: none;
  }
}

@media only screen and (max-width: 768px) {
  .headerBox > li {
    display: block;
  }
}

.headerBoxLink {
  margin-right: 20px;
}

@media only screen and (max-width: 768px) {
  .headerBoxLink {
    background-color: #f2f2f2;
    margin-right: 0;
  }
}

.headerBoxLink > li {
  display: inline-block;
  font-size: 13px;
}

.headerBoxLink > li:nth-child(4) {
  display: none;
}

@media only screen and (max-width: 768px) {
  .headerBoxLink > li:nth-child(4) {
    display: block;
  }
}

@media only screen and (max-width: 768px) {
  .headerBoxLink > li {
    font-size: 14px;
    display: block;
    text-align: center;
    border-bottom: 1px solid #cdcdcd;
  }
}

.headerBoxLink > li:not(:last-child) {
  margin-right: 16px;
}

@media only screen and (max-width: 768px) {
  .headerBoxLink > li:not(:last-child) {
    margin-right: 0;
  }
}

@media only screen and (max-width: 768px) {
  .headerBoxLink > li a {
    color: #666;
    font-size: 14px;
    width: 100%;
    position: relative;
    padding: 13px 0;
    display: block;
  }
}

.headerBoxLink > li a::before {
  position: relative;
  top: -1px;
  content: "";
  margin-right: 7px;
  display: inline-block;
  vertical-align: middle;
  width: 4px;
  height: 4px;
  border-top: 1px solid #259a80;
  border-right: 1px solid #259a80;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

@media only screen and (max-width: 768px) {
  .headerBoxLink > li a::before {
    display: none;
  }
}

@media only screen and (max-width: 768px) {
  .headerBoxLink > li a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -6px;
    display: inline-block;
    vertical-align: middle;
    width: 11px;
    height: 11px;
    border-top: 2px solid #00403d;
    border-right: 2px solid #00403d;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
  }
}

@media only screen and (min-width: 769px) {
  .headerBoxLink > li a:hover {
    color: #007670;
  }
}

.headerBoxSerch {
  margin-right: 17px;
  border: 1px solid #bbb;
  border-radius: 3px;
  font-size: 11px;
  color: #1d1d1d;
  padding: 5px 11px;
  display: inline-block;
  vertical-align: middle;
}

.headerBoxSerchField {
  display: inline-block;
  vertical-align: middle;
  width: 152px;
  margin-right: 4px;
}

.headerBoxSerchBtn {
  display: inline-block;
  vertical-align: middle;
}

.headerBoxSerchBtn img {
  position: relative;
  top: 1px;
}

.headerBoxActive {
  display: block;
}

@media only screen and (max-width: 768px) {
  .headerSp {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    position: relative;
    background-color: #00403d;
  }
}

.headerSpBox {
  display: none;
}

@media only screen and (max-width: 768px) {
  .headerSpBox {
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -17px;
  }
}

.headerSpSerch {
  width: 31px;
  height: 30px;
}

.headerSpMenuBtn {
  color: #fff;
  font-size: 11px;
  position: relative;
  padding-top: 20px;
  text-align: center;
  width: 30px;
  margin-left: 20px;
}

.headerSpMenuBtn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 30px;
  height: 21px;
  border-top: 3px solid #fff;
  border-bottom: 3px solid #fff;
}

.headerSpMenuBtn::after {
  content: "";
  position: absolute;
  top: 9px;
  left: 0;
  display: block;
  width: 30px;
  border-top: 3px solid #fff;
}

.headerSpMenuBtnActive::before {
  top: -4px;
  left: -1px;
  border-bottom-width: 0;
  -webkit-transform-origin: left;
          transform-origin: left;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

.headerSpMenuBtnActive::after {
  top: 9px;
  left: 1px;
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

/*------------------------------
footer */
.footer {
  background-color: #00403d;
  color: #fff;
  font-size: 13px;
  padding-top: 35px;
  min-width: 1020px;
  z-index: 999;
  position: relative;
  z-index: 6;
}

@media only screen and (max-width: 768px) {
  .footer {
    font-size: 14px;
    min-width: 0;
    padding-top: 0;
  }
}

.footerNav {
  margin: 0 auto 35px;
  text-align: center;
  line-height: 1;
}

@media only screen and (max-width: 768px) {
  .footerNav {
    margin: 0;
    text-align: left;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: center;
        justify-content: flex-start;
  }
}

.footerNav > li {
  padding: 0 20px;
  display: inline-block;
}

@media only screen and (max-width: 768px) {
  .footerNav > li {
    width: 50%;
    height: 72px;
    padding: 0;
    border-bottom: 1px solid #fff;
  }
  .footerNav > li:nth-child(-n+2) {
    border-top: 1px solid #fff;
  }
}

@media only screen and (min-width: 769px) {
  .footerNav > li:not(:last-child) {
    border-right: 1px solid #fff;
  }
}

@media only screen and (max-width: 768px) {
  .footerNav > li:nth-child(2n+1) {
    border-right: 1px solid #fff;
  }
}

.footerNav > li a {
  display: block;
}

@media only screen and (max-width: 768px) {
  .footerNav > li a {
    width: 100%;
    padding: 20px 14px;
    line-height: 1.3;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    position: relative;
    height: 100%;
  }
  .footerNav > li a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -6px;
    display: inline-block;
    vertical-align: middle;
    width: 11px;
    height: 11px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
}

@media only screen and (min-width: 769px) {
  .footerNav > li a:hover {
    text-decoration: underline;
  }
}

/*------------------------------
contentBox */
.contentBox {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: stretch;
      align-items: stretch;
}

@media only screen and (max-width: 768px) {
  .contentBox {
    display: block;
  }
}

/*------------------------------
mainContent */
.mainContent {
  border-right: 1px solid #ddd;
  box-sizing: border-box;
  padding-right: 29px;
  width: 670px;
}

@media only screen and (max-width: 768px) {
  .mainContent {
    width: auto;
    border-right-width: 0;
    padding-right: 0;
    margin-bottom: 20px;
  }
}

@media only screen and (max-width: 768px) {
  .mainContentInner {
    padding: 0 14px;
  }
}

/*------------------------------
sideContent */
.sideContent {
  width: 330px;
  padding-left: 30px;
  overflow: hidden;
}

@media only screen and (max-width: 768px) {
  .sideContent {
    width: auto;
    padding-left: 0;
  }
}

.sideContentHeading {
  text-align: center;
  height: 93px;
}

@media only screen and (max-width: 768px) {
  .sideContentHeading {
    height: auto;
    padding: 0 14px;
  }
}

.sideContentHeadingInner {
  font-weight: bold;
  display: block;
  color: #00403d;
  background: #f2f2f2;
  font-size: 14px;
  padding: 16px 0;
  box-shadow: 0 3px 0 #bbb;
  border-radius: 3px;
  transition: all 0.3s ease;
  position: relative;
  top: 0;
}

@media only screen and (max-width: 768px) {
  .sideContentHeadingInner {
    font-size: 13px;
  }
}

.sideContentHeadingInner::before {
  content: "";
  position: relative;
  top: 0;
  left: -11px;
  display: inline-block;
  vertical-align: middle;
  width: 28px;
  height: 28px;
  background: url(../img/common/icon_airplane.png) no-repeat 0 0;
  background-size: contain;
}

@media only screen and (min-width: 769px) {
  .sideContentHeadingInner:hover {
    top: 3px;
    box-shadow: 0 0 0 #bbb;
  }
}

.sideContentItem {
  padding: 30px 0;
}

.sideContentItem:last-child {
  padding-bottom: 0;
}

.sideContentItemAccessRate {
  padding-bottom: 20px;
}

.sideContentItemBorder {
  border-top: 1px solid #ddd;
}

@media only screen and (max-width: 768px) {
  .sideContentItemBorder {
    border-top-width: 0;
  }
}

@media only screen and (max-width: 768px) {
  .sideContentItemBorderSp {
    border-top-width: 1px;
  }
}

.sideContentItemFb {
  text-align: center;
}

@media only screen and (max-width: 768px) {
  .sideContentItemFb {
    padding: 30px 14px;
  }
}

@media only screen and (max-width: 768px) {
  .sideContentItemBanner {
    padding: 30px 14px;
  }
}

.sideContentItemBanner li:not(:last-child) {
  margin-bottom: 18px;
}

.sideContentItemTtl {
  color: #fff;
  background-color: #00403d;
  font-size: 14px;
  letter-spacing: 0.02em;
  font-weight: bold;
  padding: 9px 13px;
  border-left: 3px solid #259a80;
  margin-bottom: 21px;
}

@media only screen and (max-width: 768px) {
  .sideContentItemTtl {
    text-align: center;
    border-left-width: 0;
    margin-bottom: 16px;
    padding: 12px 0;
    font-size: 15px;
  }
}

.sideContentItemList {
  margin: 0;
}

@media only screen and (max-width: 768px) {
  .sideContentItemList {
    padding: 0 20px;
  }
}

@media only screen and (max-width: 768px) {
  .sideContentItemList > li:nth-child(n+6) {
    display: none;
  }
}

.sideContentItemList > li:not(:last-child) {
  margin-bottom: 21px;
}

.sideContentItemList > li a {
  display: block;
  overflow: hidden;
  width: auto;
  position: relative;
  z-index: 0;
  opacity: 1;
  transition: all 0.3s ease;
}

@media only screen and (min-width: 769px) {
  .sideContentItemList > li a:hover {
    opacity: 0.7;
  }
  .sideContentItemList > li a:hover .ttl {
    text-decoration: underline;
  }
}

.sideContentItemList > li:nth-child(1) .sideContentItemListNumber {
  border-color: #c09f1d;
  color: #c09f1d;
}

.sideContentItemList > li:nth-child(1) .sideContentItemListTtlNumber {
  border-color: #c09f1d;
  background-color: #c09f1d;
  color: #fff;
}

.sideContentItemList > li:nth-child(2) .sideContentItemListNumber {
  border-color: #999;
  color: #999;
}

.sideContentItemList > li:nth-child(2) .sideContentItemListTtlNumber {
  border-color: #999;
  background-color: #999;
  color: #fff;
}

.sideContentItemList > li:nth-child(3) .sideContentItemListNumber {
  border-color: #c97e25;
  color: #c97e25;
}

.sideContentItemList > li:nth-child(3) .sideContentItemListTtlNumber {
  border-color: #c97e25;
  background-color: #c97e25;
  color: #fff;
}

.sideContentItemListBorder > li a {
  margin-bottom: 7px;
}

.sideContentItemListNewArticle .tag {
  margin-bottom: 5px;
}

@media only screen and (max-width: 768px) {
  .sideContentItemListNewArticle .tag {
    margin-bottom: 10px;
  }
}

@media only screen and (max-width: 768px) {
  .sideContentItemListNewArticle > li {
    border-bottom: 1px solid #ddd;
  }
  .sideContentItemListNewArticle > li a {
    padding-bottom: 13px;
  }
}

.sideContentItemListInner {
  overflow: hidden;
}

.sideContentItemListNumber {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 22px;
  height: 22px;
  border: 1px solid #00403d;
  background-color: #00403d;
  background-color: #fff;
  text-align: center;
  font-size: 11px;
  font-weight: bold;
  padding: 2px;
}

@media only screen and (max-width: 768px) {
  .sideContentItemListNumber {
    display: none;
  }
}

.sideContentItemListImage {
  width: 74px;
  height: 74px;
  float: left;
}

@media only screen and (max-width: 768px) {
  .sideContentItemListImage {
    width: 82px;
    height: 82px;
    margin-right: 20px;
  }
}

.sideContentItemListImage img {
  height: 100%;
}

.sideContentItemListTtl {
  width: 210px;
  float: right;
}

@media only screen and (max-width: 768px) {
  .sideContentItemListTtl {
    width: calc(100% - 102px);
  }
}

.sideContentItemListTtlNumber {
  display: none;
  border: 1px solid #00403d;
  width: 30px;
  height: 30px;
  text-align: center;
  font-weight: bold;
  padding-top: 3px;
  margin-bottom: 10px;
  line-height: 1;
}

@media only screen and (max-width: 768px) {
  .sideContentItemListTtlNumber {
    display: block;
    font-size: 13px;
    width: 20px;
    height: 20px;
  }
}

/*------------------------------
topHeading*/
.topHeading {
  min-width: 1020px;
  background-color: #f2f2f2;
  margin-bottom: 30px;
}

@media only screen and (max-width: 768px) {
  .topHeading {
    width: auto;
    display: none;
  }
}

.topHeadingContents {
  padding: 30px 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
}

.topHeadingMain {
  display: block;
  width: 640px;
  height: 358px;
  padding: 20px;
  color: #fff;
  background: url(../img/thumb/thumb_01.jpg) no-repeat 0 0;
  background-size: cover;
  position: relative;
  cursor: pointer;
  opacity: 1;
  transition: all 0.3s ease;
}

@media only screen and (min-width: 769px) {
  .topHeadingMain:hover {
    opacity: 0.7;
  }
  .topHeadingMain:hover .topHeadingMainTtl {
    text-decoration: underline;
  }
}

.topHeadingMainNoImage {
  background: url(../img/thumb/thumb_no_image.jpg) no-repeat 0 0;
  background-size: cover;
}

.topHeadingMainInner {
  position: absolute;
  left: 0px;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.2);
  padding: 10px 10px 25px 25px;
  width: 100%;
}

.topHeadingMainTtl {
  font-weight: bold;
  font-size: 26px;
  margin-bottom: 4px;
}

.topHeadingMainList {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

.topHeadingMainList .date {
  margin-right: 7px;
}

.topHeadingMainList .tag {
  font-weight: bold;
}

.topHeadingSub {
  width: 330px;
}

.topHeadingSubItem {
  overflow: hidden;
}

.topHeadingSubItem:not(:first-child) {
  padding-top: 9px;
}

.topHeadingSubItem:not(:last-child) {
  padding-bottom: 9px;
  border-bottom: 1px solid #ddd;
}

.topHeadingSubItem a {
  display: block;
  overflow: hidden;
  opacity: 1;
  transition: all 0.3s ease;
}

@media only screen and (min-width: 769px) {
  .topHeadingSubItem a:hover {
    opacity: 0.7;
  }
  .topHeadingSubItem a:hover .ttl {
    text-decoration: underline;
  }
}

.topHeadingSubThumb {
  width: 134px;
  margin-right: 15px;
  float: left;
}

/*------------------------------
topHeadingSp*/
.topHeadingSp {
  display: none;
  margin-top: 90px;
  padding: 20px 20px;
  border-bottom: 1px solid #00403d;
}

@media only screen and (max-width: 768px) {
  .topHeadingSp {
    display: block;
  }
}

/*------------------------------
topHeadingSlider*/
.topHeadingSlider {
  padding-bottom: 20px;
  border-bottom: 2px solid #00403d;
  display: none;
}

@media only screen and (max-width: 768px) {
  .topHeadingSlider {
    display: block;
    padding: 0 15px;
    padding-bottom: 20px;
    margin-bottom: 18px;
  }
}

.topHeadingSlider .slickSlide img {
  width: 100%;
}

.topHeadingSlider .slickPrev, .topHeadingSlider .slickNext {
  text-indent: -9999px;
}

.topHeadingSlider .slickPrev {
  content: "";
  position: absolute;
  top: 50%;
  left: -7px;
  margin-top: -70px;
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #00403d;
  border-left: 2px solid #00403d;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

@media only screen and (min-width: 737px) and (max-width: 769px) {
  .topHeadingSlider .slickPrev {
    margin-top: -63px;
  }
}

@media only screen and (min-width: 376px) and (max-width: 414px) {
  .topHeadingSlider .slickPrev {
    margin-top: -67px;
  }
}

.topHeadingSlider .slickNext {
  position: absolute;
  top: 50%;
  right: -7px;
  margin-top: -70px;
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #00403d;
  border-right: 2px solid #00403d;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

@media only screen and (min-width: 737px) and (max-width: 769px) {
  .topHeadingSlider .slickNext {
    margin-top: -63px;
  }
}

@media only screen and (min-width: 376px) and (max-width: 414px) {
  .topHeadingSlider .slickNext {
    margin-top: -67px;
  }
}

.topHeadingSlider .slickDots {
  text-align: center;
  margin-top: 16px;
}

.topHeadingSlider .slickDots > li {
  display: inline-block;
}

.topHeadingSlider .slickDots > li:not(:first-child) {
  margin-left: 15px;
}

.topHeadingSlider .slickDots > li button {
  text-indent: -9999px;
  border: 1px solid #00403d;
  background-color: #00403d;
  width: 10px;
  height: 10px;
}

.topHeadingSlider .slickDots > li.slick-active button {
  background-color: #fff;
}

.topHeadingSliderContent {
  position: relative;
  padding: 20px 6px 0;
}

.topHeadingSliderTtl {
  font-size: 18px;
  margin-top: 10px;
}

@media only screen and (max-width: 768px) {
  .topHeadingSliderTtl {
    height: 80px;
  }
}

@media only screen and (min-width: 737px) and (max-width: 769px) {
  .topHeadingSliderTtl {
    font-size: 22px;
  }
}

.topHeadingSliderBox {
  text-align: right;
}

@media only screen and (max-width: 768px) {
  .topHeadingSliderBox {
    margin-top: 7px;
  }
}

.topHeadingSliderBox p {
  display: inline-block;
  vertical-align: middle;
}

.topHeadingSliderBox p:first-child {
  margin-right: 6px;
}

.topHeadingSliderBox .date {
  color: #000;
}

/*------------------------------
top-articleList*/
@media only screen and (min-width: 769px) {
  .articleList {
    margin-bottom: 64px;
  }
}

@media only screen and (min-width: 767px) and (max-width: 769px) {
  .articleList {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.articleListItem {
  width: 320px;
  float: left;
  box-sizing: border-box;
  padding-bottom: 54px;
}

@media only screen and (max-width: 768px) {
  .articleListItem {
    width: auto;
    display: block;
    float: none;
    border-bottom: 1px solid #ddd;
    padding-bottom: 20px;
    margin-bottom: 30px;
  }
  .articleListItem:last-child {
    margin-bottom: 0px;
  }
}

@media only screen and (min-width: 767px) and (max-width: 769px) {
  .articleListItem {
    width: 50%;
    border-bottom-width: 0;
    margin-bottom: 0;
  }
  .articleListItem:not(:nth-last-child(-n +2)) {
    padding-bottom: 54px;
  }
}

.articleListItem a {
  opacity: 1;
  transition: all 0.3s ease;
}

@media only screen and (min-width: 769px) {
  .articleListItem a:hover {
    opacity: 0.7;
  }
}

.articleListItem:nth-child(2n+1) {
  padding-right: 29px;
  border-right: 1px solid #ddd;
  clear: both;
}

@media only screen and (max-width: 768px) {
  .articleListItem:nth-child(2n+1) {
    clear: none;
    padding-right: 0;
    border-right-width: 0;
  }
}

@media only screen and (min-width: 767px) and (max-width: 769px) {
  .articleListItem:nth-child(2n+1) {
    padding-right: 3%;
    border-right: 1px solid #ddd;
  }
}

.articleListItem:nth-child(2n) {
  padding-left: 30px;
}

@media only screen and (max-width: 768px) {
  .articleListItem:nth-child(2n) {
    padding-left: 0;
  }
}

@media only screen and (min-width: 767px) and (max-width: 769px) {
  .articleListItem:nth-child(2n) {
    padding-left: 3%;
  }
}

@media only screen and (min-width: 769px) {
  .articleListItem:nth-last-child(-n+2) {
    padding-bottom: 0;
  }
}

.articleListItemInner {
  display: block;
  width: auto;
  height: 315px;
  font-size: 14px;
  word-break: break-all;
  margin-bottom: 14px;
  opacity: 1;
  transition: all 0.3s ease;
}

@media only screen and (min-width: 769px) {
  .articleListItemInner:hover {
    opacity: 0.7;
  }
  .articleListItemInner:hover .ttl {
    text-decoration: underline;
  }
}

@media only screen and (max-width: 768px) {
  .articleListItemInner {
    height: auto;
  }
}

.articleListItemInner .ttlMiddle {
  margin: 4px 0 3px;
}

@media only screen and (max-width: 768px) {
  .articleListItemInner .ttlMiddle {
    margin: 7px 0 3px;
  }
}

.articleListItemThumb {
  margin-bottom: 7px;
}

@media only screen and (max-width: 768px) {
  .articleListItemThumb {
    margin-bottom: 11px;
  }
  .articleListItemThumb img {
    width: 100%;
    height: 100%;
  }
}

.articleListItemFooter {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  line-height: 1;
}

/*------------------------------
author*/
@media only screen and (min-width: 769px) {
  .autorList .author:not(:last-child) {
    border-bottom: 1px solid #ddd;
  }
}

@media only screen and (max-width: 768px) {
  .autorList .author {
    border-bottom: 1px solid #ddd;
  }
}

.author {
  padding: 25px 0 14px;
  clear: both;
  overflow: hidden;
}

@media only screen and (max-width: 768px) {
  .author {
    padding: 35px 0 25px;
  }
}

.authorPhoto {
  float: left;
  overflow: hidden;
  margin-right: 25px;
  width: 225px;
}

@media only screen and (max-width: 768px) {
  .authorPhoto {
    width: 36%;
    margin-right: 12px;
    margin-bottom: 30px;
  }
}

.authorProfile {
  overflow: hidden;
  padding-top: 15px;
  width: calc(100% - 250px);
  float: right;
}

@media only screen and (max-width: 768px) {
  .authorProfile {
    float: none;
    padding-top: 0;
    overflow: visible;
    width: 100%;
  }
}

.authorProfileName {
  color: #111;
  margin-bottom: 15px;
}

.authorProfileNameLarge {
  font-size: 18px;
}

.authorProfileNameSmall {
  font-size: 15px;
}

@media only screen and (max-width: 768px) {
  .authorProfileName {
    overflow: hidden;
    font-size: 15px;
    margin-bottom: 12px;
  }
}

.authorProfileText {
  margin-bottom: 30px;
  line-height: 1.7;
  height: auto;
  letter-spacing: 0.06em;
}
.authorProfileText a {
	color: #008781;
	text-decoration: underline;
}
.authorProfileText a:hover {
	text-decoration: none !important;
}

@media only screen and (max-width: 768px) {
  .authorProfileText {
    text-align: justify;
    padding-left: calc(36% + 12px);
  }
}

.authorProfileText > p:not(:last-child) {
  margin-bottom: 15px;
}

@media only screen and (max-width: 768px) {
  .authorLink {
    width: 100%;
    overflow: hidden;
  }
}

/*------------------------------
lecture */
@media only screen and (max-width: 768px) {
  .lecture {
    margin-bottom: 48px;
  }
}

.lectureText {
  margin-bottom: 26px;
  letter-spacing: 0.04em;
  line-height: 1.7;
}

/*------------------------------
about */
.aboutTtl {
  margin: 13px 0 12px;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  .aboutTtl {
    margin: 17px 0 9px;
  }
}

.aboutTtl img {
  width: 270px;
}

@media only screen and (max-width: 768px) {
  .aboutTtl img {
    width: 250px;
  }
}

.about {
  border-top: 1px solid #ddd;
  padding-top: 30px;
  line-height: 1.7;
  letter-spacing: 0.10em;
}

@media only screen and (max-width: 768px) {
  .about {
    padding: 13px 6px 0;
    margin-bottom: 50px;
  }
}

.about p:not(:last-child) {
  margin-bottom: 21px;
}

/*------------------------------
product */
.product {
  overflow: hidden;
  border-bottom: 1px solid #ddd;
  padding: 47px 0 45px;
}

@media only screen and (max-width: 768px) {
  .product {
    padding: 30px 0 22px;
  }
}

.productHead {
  overflow: hidden;
  position: relative;
  margin-bottom: 40px;
}

@media only screen and (max-width: 768px) {
  .productHead {
    margin-bottom: 20px;
  }
}

.productHeadImage {
  width: 195px;
  float: left;
}

.productHeadImage img {
  vertical-align: top;
}

@media only screen and (max-width: 768px) {
  .productHeadImage {
    width: 105px;
    margin-bottom: 12px;
  }
}

.productStatus {
  overflow: hidden;
  width: calc(100% - 197px);
  padding: 14px 0 0 28px;
}

@media only screen and (max-width: 768px) {
  .productStatus {
    overflow: visible;
    padding: 0;
    width: auto;
  }
}

@media only screen and (max-width: 768px) {
  .productStatusName {
    overflow: hidden;
    padding-left: 10px;
  }
}

.productStatusNameMain {
  font-size: 18px;
}

@media only screen and (max-width: 768px) {
  .productStatusNameMain {
    font-size: 15px;
    letter-spacing: -0.05em;
    line-height: 1.3;
  }
}

.productStatusNameMainSmall {
  font-size: 16px;
}

@media only screen and (max-width: 768px) {
  .productStatusNameMainSmall {
    font-size: 12px;
  }
}

.productStatusNameSub {
  font-size: 11px;
  color: #00403d;
  margin-bottom: 10px;
}

@media only screen and (max-width: 768px) {
  .productStatusNameSub {
    font-size: 12px;
    margin-bottom: 18px;
  }
}

.productStatusNameSub::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 25px;
  height: 25px;
  margin-right: 6px;
}

@media only screen and (max-width: 768px) {
  .productStatusNameSub::before {
    width: 21px;
    height: 21px;
    margin-left: 0;
  }
}

.productStatusNameSubInner {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  top: 1px;
}

.productStatusNameSubKey {
  background: url(../img/common/icon_key.png) no-repeat 0 0;
  background-size: contain;
}

.productStatusNameSubPaper {
  background: url(../img/common/icon_paper.png) no-repeat 0 0;
  background-size: contain;
}

.productStatusTable {
  position: absolute;
  bottom: 0;
  font-size: 14px;
}

@media only screen and (max-width: 768px) {
  .productStatusTable {
    font-size: 12px;
    width: 100%;
    position: static;
  }
}

.productStatusTable th, .productStatusTable td {
  border: 1px solid #ddd;
  vertical-align: middle;
  padding: 7px 15px;
}

@media only screen and (max-width: 768px) {
  .productStatusTable th, .productStatusTable td {
    text-align: center;
    padding: 4px 10px;
  }
}

.productStatusTable th {
  background-color: #f2f2f2;
  font-weight: normal;
  width: 122px;
}

@media only screen and (max-width: 768px) {
  .productStatusTable th {
    width: 127px;
  }
}

.productStatusTable td {
  width: calc(100% - 120px);
}

@media only screen and (max-width: 768px) {
  .productStatusTable td {
    width: calc(100% - 127px);
  }
}

.productBody {
  padding: 0 6px;
}

.productBody p {
  margin-bottom: 21px;
  text-align: justify;
  line-height: 1.7;
  letter-spacing: 0.06em;
}

.productBody p:last-child {
  margin-bottom: 26px;
}

@media only screen and (max-width: 768px) {
  .productBody p {
    margin-bottom: 22px;
  }
}

.productBtn {
  float: right;
}

@media only screen and (max-width: 768px) {
  .productBtn {
    float: none;
  }
}

/*------------------------------
detail */
.detailHead {
  padding-top: 6px;
}

@media only screen and (max-width: 768px) {
  .detailHead {
    padding: 14px 20px;
  }
}

.detailBody {
  border-bottom: 1px solid #ddd;
  margin-bottom: 23px;
}

.detailBody p {
  margin-bottom: 17px;
  line-height: 1.7;
}

.detailBody p:last-child {
  margin-bottom: 25px;
}

.detailBodyInner {
  word-wrap: break-word;
  letter-spacing: 0.06em;
}

.detailBodyInner iframe {
  max-width: 100%;
  width: 100%;
}

.detailBodyInner img {
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  display: block;
  margin: auto;
}

@media only screen and (max-width: 768px) {
  .detailBodyInner {
    padding: 0 20px;
  }
}

.detailBodyInner a {
  color: #008781;
  text-decoration: underline;
}

.detailBodyInner a:hover {
  text-decoration: none;
}

.detailLink {
  color: #008781;
  font-size: 13px;
  word-wrap: break-word;
}

.detailLink a {
  text-decoration: underline;
}

.detailLink a:hover {
  text-decoration: none;
}

.detailLink a:hover .iconBlankLine {
  text-decoration: none;
}

.detailImage {
  margin-bottom: 30px;
}

.detailImage img {
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  display: block;
  margin: auto;
}

.detailBody h3 + br,
.detailBody h4 + br {
  display: none;
}

​.detailBody h3 + p,
.detailBody h4 + p {
  margin-top: 0;
  padding-top: 0;
}

.detailBody h3 {
  font-size: 18px;
  letter-spacing: 0;
  width: 100%;
  background-color: #f2f2f2;
  padding: 12px 18px;
  color: #00403d;
  border-left: 3px solid #00403d;
  margin-bottom: 24px;
}

@media only screen and (max-width: 768px) {
  .detailBody h3 {
    border-left-width: 15px;
    font-size: 16px;
  }
}

.detailBody h4 {
  margin-bottom: 16px;
  padding-bottom: 9px;
  border-bottom: 1px solid #ddd;
  font-weight: normal;
  font-size: 16px;
}

@media only screen and (max-width: 768px) {
  .detailBody h4 {
    margin: 0 -6px 16px;
    padding: 0 6px 9px;
  }
}

.detailBody a {
  color: #008781;
  font-size: 13px;
  word-wrap: break-word;
  text-decoration: underline;
}

.detailBody a:hover {
  text-decoration: none;
}

.detailBody strong {
  font-weight: bold;
}

.detailBody em {
  font-style: italic;
}

.detailBody ul, .detailBody ol {
  margin-bottom: 17px;
}

.detailBody ul > li, .detailBody ol > li {
  word-break: break-all;
  line-height: 1.9;
}

.detailBody ul > li:not(:last-child), .detailBody ol > li:not(:last-child) {
  margin-bottom: 5px;
}

.detailBody ul {
  padding-left: 1em;
}

.detailBody ul > li {
  text-indent: -1em;
}

.detailBody ul > li::before {
  content: "・";
  color: #888;
}

.detailBody ol {
  padding-left: 1.1em;
  counter-reset: number;
}

.detailBody ol > li {
  text-indent: -1.1em;
}

.detailBody ol > li::before {
  margin-right: 3px;
  content: counter(number) ".";
  counter-increment: number;
  color: #888;
  font-size: 13px;
  font-weight: bold;
}

.detailBody blockquote {
  word-break: break-all;
  color: #7a7a7a;
  letter-spacing: 0.08em;
  font-size: 13px !important;
  margin-bottom: 17px;
}

.detailBody blockquote::before {
  content: "引用：";
  margin-right: 8px;
}

.detailBody blockquote p {
  display: inline-block;
  margin-bottom: 0 !important;
}

/*------------------------------
copyright */
.copyright {
  font-family: 'Droid Sans';
}

.copyrightText {
  padding: 15px 0;
  font-size: 11px;
  border-top: 1px solid #003331;
  color: #7a9493;
  text-align: center;
  line-height: 1;
  vertical-align: middle;
}

@media only screen and (max-width: 768px) {
  .copyrightText {
    font-size: 14px;
  }
}

/*------------------------------
toTop */
.toTop {
  position: fixed;
  bottom: 40px;
  right: 15px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #00403d;
  text-indent: -9999px;
  z-index: 3;
  opacity: 1;
  transition: all 2.0s ease;
  pointer-events: none;
}

@media only screen and (max-width: 768px) {
  .toTop {
    bottom: 30px;
    opacity: 0;
  }
}

.toTop::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 25px;
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #789a98;
  border-right: 2px solid #789a98;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transition: all 0.3s ease;
}

@media only screen and (min-width: 769px) {
  .toTop:hover {
    background-color: #000;
  }
  .toTop:hover::before {
    border-color: #fff;
  }
}

.toTopActive {
  opacity: 1;
  pointer-events: all;
}

.toTopPosition {
  position: absolute;
  top: -31px;
  right: 15px;
  margin-left: -30px;
  opacity: 1;
  z-index: -1;
  pointer-events: all;
}

.toTopPosition::before {
  top: 14px;
}

.toTopPositionPc {
  bottom: 160px;
  pointer-events: all;
}

/*------------------------------
globalNav */
.globalNav {
  background-color: #00403d;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  min-width: 1020px;
  margin-top: 7px;
}

@media only screen and (max-width: 768px) {
  .globalNav {
    min-width: 0;
    margin-top: 0;
    color: #000;
    font-weight: normal;
    display: none;
  }
}

.globalNav > ul {
  width: 1000px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  .globalNav > ul {
    width: auto;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0;
  }
}

.globalNav > ul > li {
  border-bottom: 1px solid #00403d;
  position: relative;
  width: 100%;
}

@media only screen and (max-width: 768px) {
  .globalNav > ul > li:not(:nth-child(3))::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    display: block;
    width: 5px;
    height: 1px;
    border-top: 1px solid #fff;
    z-index: 3;
  }
}

@media only screen and (max-width: 768px) {
  .globalNav > ul > li:first-child {
    width: 100%;
  }
  .globalNav > ul > li:first-child a {
    text-align: center;
  }
}

@media only screen and (max-width: 768px) {
  .globalNav > ul > li {
    width: 50%;
  }
}

.globalNav > ul > li a {
  position: relative;
  text-align: center;
  display: block;
  padding: 15px 0;
  transition: all 0.3s ease;
}

@media only screen and (max-width: 768px) {
  .globalNav > ul > li a {
    width: auto;
    text-align: left;
    background-color: #f2f2f2;
    padding: 17px;
    border-left: 5px solid #00403d;
  }
  .globalNav > ul > li a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 21px;
    margin-top: -6px;
    display: inline-block;
    vertical-align: middle;
    width: 9px;
    height: 9px;
    border-top: 2px solid #00403d;
    border-right: 2px solid #00403d;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
  }
}

.globalNav > ul > li a::before {
  position: absolute;
  top: 0;
  left: 50%;
  content: "";
  display: block;
  width: 0px;
  border-top: 3px solid #259a80;
  transition: all 0.3s ease;
}

@media only screen and (min-width: 769px) {
  .globalNav > ul > li a:hover {
    background-color: #00201e;
    text-decoration: none;
  }
  .globalNav > ul > li a:hover::before {
    left: 0;
    width: 100%;
  }
}

.gloval-nav--active {
  display: block;
}

/*------------------------------
globalSerch */
.glovalSerch {
  position: absolute;
  top: 59px;
  width: 100%;
  display: none;
  border-top: 1px solid #f2f2f2;
  z-index: 5;
}

@media only screen and (max-width: 768px) {
  .glovalSerchActive {
    display: block;
  }
}

.glovalSerchInner {
  padding: 11px 14px;
  background-color: #00403d;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: stretch;
      align-items: stretch;
  -ms-flex-pack: center;
      justify-content: center;
}

.glovalSerchInner input {
  width: calc(100% - 83px);
  border-radius: 3px 0 0 3px;
  padding: 10px 0;
  background-color: #ddd;
  text-align: center;
}

.glovalSerchInner button {
  width: 83px;
  background-color: #ddd;
  border-radius: 0 3px 3px 0;
  color: #00403d;
  padding: 10px 0;
  font-size: 16px;
  border-left: 1px solid #00403d;
}

/*------------------------------
ttl */
.ttl {
  font-weight: bold;
  letter-spacing: 0.07em;
  text-align: justify;
}

.ttlSmall {
  font-size: 13px;
}

@media only screen and (max-width: 768px) {
  .ttlSmall {
    font-size: 15px;
  }
}

.ttlMiddle {
  font-size: 18px;
  letter-spacing: 0;
}

@media only screen and (max-width: 768px) {
  .ttlMiddle {
    font-size: 19px;
  }
}

.ttlDetail {
  font-size: 27px;
  letter-spacing: 0.05em;
  text-align: left;
}

.ttlWide {
  width: 100%;
  background-color: #f2f2f2;
  padding: 12px 18px;
  color: #00403d;
  border-left: 3px solid #00403d;
}

@media only screen and (max-width: 768px) {
  .ttlWide {
    border-left-width: 15px;
    font-size: 17px;
  }
}

.ttlWideMargin {
  margin-bottom: 26px;
}

@media only screen and (max-width: 768px) {
  .ttlWideMargin {
    margin-bottom: 30px;
  }
}

.ttlDetailLarge {
  margin-bottom: 24px;
}

@media only screen and (max-width: 768px) {
  .ttlDetailLarge {
    font-size: 16px;
  }
}

.ttlDetailSmall {
  margin-bottom: 16px;
  padding-bottom: 9px;
  border-bottom: 1px solid #ddd;
  font-weight: normal;
  font-size: 16px;
}

@media only screen and (max-width: 768px) {
  .ttlDetailSmall {
    margin: 0 -6px 16px;
    padding: 0 6px 9px;
  }
}

.ttlRelation {
  margin-bottom: 19px;
}

@media only screen and (max-width: 768px) {
  .ttlRelation {
    font-size: 14px;
    margin-bottom: 0;
  }
}

/*------------------------------
tag */
.tag {
  text-align: center;
  font-size: 11px;
  display: inline-block;
  padding: 0px 15px;
  min-width: 76px;
  color: #00403d;
  border: 1px solid #00403d;
}

@media only screen and (max-width: 768px) {
  .tag {
    min-width: 68px;
    font-size: 12px;
    padding: 0 13px;
  }
}

.tagIcon {
  color: #000;
  border-color: #ddd;
  border-radius: 3px;
  padding: 4px 12px;
  font-size: 13px;
  min-width: 64px;
  transition: all 0.3s ease;
  cursor: pointer;
  display: block;
}

.tagIcon::before {
  position: relative;
  right: 5px;
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 14px;
  height: 14px;
  background: url(../img/common/icon_tag.png) no-repeat 0 0;
  background-size: contain;
}

@media only screen and (max-width: 768px) {
  .tagIcon::before {
    height: 13px;
    width: 13px;
  }
}

@media only screen and (min-width: 769px) {
  .tagIcon:hover {
    border-color: #00403d;
  }
  .tagIcon:hover::before {
    background: url(../img/common/icon_tag_hover.png) no-repeat 0 0;
  }
}

.tagIconUser {
  border-color: #00403d;
}

.tagIconUser::before {
  width: 17px;
  height: 17px;
  background: url(../img/common/icon_user.png) no-repeat 0 0/contain;
}

@media only screen and (max-width: 768px) {
  .tagIconUser::before {
    width: 15px;
    height: 15px;
  }
}

@media only screen and (min-width: 769px) {
  .tagIconUser:hover {
    background-color: #00403d;
    color: #fff;
  }
  .tagIconUser:hover::before {
    background: url(../img/common/icon_user_hover.png) no-repeat 0 0/contain;
  }
}

.tagWhite {
  color: #fff;
  border-color: #fff;
}

.tagDetail {
  margin-bottom: 20px;
}

@media only screen and (max-width: 768px) {
  .tagDetail {
    margin-bottom: 12px;
  }
}

.tagList {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 11px;
}

@media only screen and (max-width: 768px) {
  .tagList {
    padding: 0 14px;
  }
}

.tagList > li {
  margin-top: 12px;
  margin-right: 4px;
}

.tagList > li .tagIcon {
  padding: 2px 12px;
  font-size: 12px;
}

.tagListdetail {
  margin-bottom: 16px;
}

@media only screen and (max-width: 768px) {
  .tagListdetail {
    padding: 0;
  }
}

/*------------------------------
date */
.date {
  font-size: 12px;
  color: #888;
}

.dateWhite {
  color: #fff;
}

/*------------------------------
btn */
.btn {
  text-align: center;
  position: relative;
  color: #f2f2f2;
  padding: 15px 0;
  font-size: 14px;
  display: block;
  line-height: 1;
  font-weight: bold;
}

.btn::after {
  content: "";
  display: block;
  vertical-align: middle;
  width: 10px;
  height: 10px;
  border-right: 2px solid #f2f2f2;
  border-bottom: 2px solid #f2f2f2;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 22px;
  margin-top: -6px;
  transition: all 0.3s ease;
}

.btnMiddle {
  width: 284px;
}

@media only screen and (max-width: 768px) {
  .btnMiddle {
    width: auto;
    padding: 20px 0;
  }
}

.btnCenter {
  margin: auto;
}

.btnMore {
  background-color: #000;
  transition: all 0.3s ease;
}

.btnMore::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

@media only screen and (max-width: 768px) {
  .btnMore::after {
    position: static;
    margin: auto;
  }
}

@media only screen and (min-width: 769px) {
  .btnMore:hover {
    background-color: #00403d;
  }
}

.btnMoreSp {
  margin: 0 14px;
}

@media only screen and (min-width: 769px) {
  .btnMoreSp {
    display: none;
  }
}

.btnGray {
  display: block;
  color: #00403d;
  background-color: #f2f2f2;
  transition: all 0.3s ease;
}

.btnGray::after {
  border-color: #00403d;
}

@media only screen and (min-width: 769px) {
  .btnGray:hover {
    color: #fff;
    background-color: #00403d;
  }
  .btnGray:hover::after {
    border-color: #fff;
  }
}

.btnGreen {
  color: #f2f2f2;
  background-color: #00403d;
  color: #fff;
  transition: all 0.3s ease;
}

@media only screen and (min-width: 769px) {
  .btnGreen:hover {
    color: #00403d;
    background-color: #f2f2f2;
  }
  .btnGreen:hover::after {
    border-color: #00403d;
  }
}

.btnReply {
  width: 140px;
  padding: 17px 18px 17px 0;
  border-radius: 3px;
}

@media only screen and (max-width: 768px) {
  .btnReply {
    width: 170px;
    font-size: 13px;
  }
}

.btnReply::after {
  width: 8px;
  height: 8px;
  right: 23px;
  margin-top: -7px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.btnReplySmall {
  width: 80px;
  padding: 7px 15px 7px 0;
}

.btnReplySmall::after {
  width: 7px;
  height: 7px;
  right: 19px;
}

@media only screen and (max-width: 768px) {
  .btnReplySmall {
    width: 115px;
    padding: 13px 15px 13px 0;
  }
}

.btnComment {
  width: 170px;
  position: relative;
  top: 0;
  transition: all 0.3s ease;
  cursor: pointer;
}

@media only screen and (max-width: 768px) {
  .btnComment {
    display: block;
    width: 100%;
    padding: 21px 0;
  }
}

.btnComment::after {
  content: none;
}

.btnCommentSubmit {
  color: #fff;
  background-color: #00403d;
}

@media only screen and (min-width: 769px) {
  .btnCommentSubmit:hover {
    background-color: #ddd;
    color: #00403d;
  }
}

.btnCommentCancel {
  color: #00403d;
  background-color: #ddd;
}

@media only screen and (min-width: 769px) {
  .btnCommentCancel:hover {
    background-color: #00403d;
    color: #fff;
  }
}

/*------------------------------
banner */
.banner {
  display: block;
  width: 300px;
  margin: 0 auto;
  opacity: 1;
  transition: all 0.3s ease;
}

@media only screen and (min-width: 769px) {
  .banner:hover {
    opacity: 0.7;
  }
}

.banner img {
  width: 100%;
}

/*------------------------------
accessRate */
.accessRate {
  margin-top: 7px;
  clear: both;
  background-color: #eee;
  height: 4px;
}

.accessRateBar {
  background-color: #c09f1d;
  height: 100%;
  width: 0;
  display: block;
}

/*------------------------------
breadcrumb */
.breadcrumb {
  padding: 17px 0;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
}

@media only screen and (max-width: 768px) {
  .breadcrumb {
    padding: 10px 10px 10px 20px;
  }
}

.breadcrumb > li {
  display: inline;
  vertical-align: middle;
  position: relative;
  white-space: nowrap;
}

.breadcrumb > li:not(:last-child) {
  margin-right: 30px;
}

.breadcrumb > li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -3px;
  margin-left: 15px;
  display: block;
  width: 5px;
  height: 7px;
  background: url(../img/common/icon_arrow.png) no-repeat 0 0;
  background-size: contain;
}

.breadcrumb > li a:hover {
  color: #787878;
  text-decoration: underline;
}

@media only screen and (max-width: 768px) {
  .breadcrumbBorder {
    border-bottom: 1px solid #00403d;
    box-sizing: border-box;
  }
}

/*------------------------------
pager */
.pager {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  margin-bottom: 33px;
}

@media only screen and (max-width: 768px) {
  .pager {
    padding: 0 14px;
  }
}

.pager > li {
  width: 173px;
}

@media only screen and (max-width: 768px) {
  .pager > li {
    width: 31%;
  }
}

.pager > li a {
  display: block;
  background-color: #f2f2f2;
  color: #00403d;
  font-size: 15px;
  letter-spacing: 0.04em;
  padding: 10px;
  text-align: center;
  position: relative;
  transition: all 0.3s ease;
  width: auto;
}

@media only screen and (max-width: 768px) {
  .pager > li a {
    font-size: 14px;
  }
}

.pager > li a::before {
  position: absolute;
  top: 50%;
  margin-top: -6px;
  display: block;
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #00403d;
  border-right: 2px solid #00403d;
  transition: all 0.3s ease;
}

@media only screen and (max-width: 768px) {
  .pager > li a::before {
    width: 8px;
    height: 8px;
    margin-top: -5px;
  }
}

.pager > li a:hover {
  background-color: #00403d;
  color: #f2f2f2;
}

.pager > li a:hover::before {
  border-color: #f2f2f2;
}

.pager > li:nth-child(1) a::before {
  left: 36px;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

@media only screen and (max-width: 768px) {
  .pager > li:nth-child(1) a::before {
    left: 10px;
  }
}

.pager > li:nth-child(2) a::before {
  content: none;
}

.pager > li:nth-child(3) a::before {
  right: 36px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

@media only screen and (max-width: 768px) {
  .pager > li:nth-child(3) a::before {
    right: 10px;
  }
}

/*------------------------------
relation */
.relation {
  margin-bottom: 20px;
}

@media only screen and (max-width: 768px) {
  .relationArticleBox {
    padding: 0 14px;
  }
}

.relationArticle {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: stretch;
      align-items: stretch;
  border-bottom: 1px solid #ddd;
  padding: 20px 0;
  opacity: 1;
  transition: all 0.3s ease;
}

@media only screen and (min-width: 769px) {
  .relationArticle:hover {
    opacity: 0.7;
  }
  .relationArticle:hover .ttl {
    text-decoration: underline;
  }
}

@media only screen and (max-width: 768px) {
  .relationArticle {
    padding: 15px 0;
  }
}

.relationArticleLeft {
  width: 226px;
  height: 122px;
  margin-right: 16px;
}

@media only screen and (max-width: 768px) {
  .relationArticleLeft {
    width: 82px;
    height: 82px;
  }
}

.relationArticleLeftImage {
  background: no-repeat 50% 50%;
  background-size: cover;
}

.relationArticleRight {
  width: calc(100% - 246px);
}

@media only screen and (max-width: 768px) {
  .relationArticleRight {
    width: calc(100% - 82px);
  }
}

.relationArticle {
  letter-spacing: -0.05em;
}

.relationArticleRightStatus {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  margin-bottom: 10px;
}

.relationArticleRightStatus p:first-child {
  margin-right: 15px;
}

/*------------------------------
comment */
.comment {
  background-color: #f2f2f2;
  padding: 40px 30px 60px;
}

@media only screen and (max-width: 768px) {
  .comment {
    margin: 0 14px;
    padding: 18px 20px;
  }
}

.commentListBox {
  font-size: 13px;
  padding-left: 90px;
  margin-bottom: 50px;
}

@media only screen and (max-width: 768px) {
  .commentListBox {
    padding-left: 0;
  }
}

.commentTtl {
  font-size: 12px;
  color: #888;
  margin-bottom: 25px;
  letter-spacing: 0.02em;
}

@media only screen and (max-width: 768px) {
  .commentTtl {
    font-size: 11px;
  }
}

.commentAuthor {
  padding: 20px 40px 40px 20px;
  margin-bottom: 58px;
  background-color: #fff;
  position: relative;
}

@media only screen and (max-width: 768px) {
  .commentAuthor {
    padding: 40px 16px 40px 16px;
  }
}

.commentAuthor::before {
  content: "";
  position: absolute;
  top: 5px;
  left: -37px;
  display: block;
  border: 20px solid transparent;
  border-right: 40px solid #fff;
}

@media only screen and (max-width: 768px) {
  .commentAuthor::before {
    content: none;
  }
}

.commentAuthor > article:not(:last-child) {
  margin-bottom: 25px;
}

.commnetChildren > article {
  margin-bottom: 24px;
}

.commnetChildren > article:last-child {
  margin-bottom: 30px;
}

.commnetChildrenRelatedMiddle::before {
  height: calc(100% - 140px);
}

@media only screen and (max-width: 768px) {
  .commnetChildrenRelatedMiddle::before {
    top: 30px;
    height: calc(100% - 23%);
  }
}

@media only screen and (min-width: 767px) and (max-width: 769px) {
  .commnetChildrenRelatedMiddle::before {
    height: calc(100% - 170px);
  }
}

@media only screen and (max-width: 320px) {
  .commnetChildrenRelatedMiddle::before {
    height: calc(100% - 21%);
  }
}

.commnetChildrenRelatedShort::before {
  height: calc(100% - 167px);
}

@media only screen and (max-width: 768px) {
  .commnetChildrenRelatedShort::before {
    top: 30px;
    height: calc(100% - 62%);
  }
}

@media only screen and (min-width: 767px) and (max-width: 769px) {
  .commnetChildrenRelatedShort::before {
    height: calc(100% - 165px);
  }
}

@media only screen and (max-width: 320px) {
  .commnetChildrenRelatedShort::before {
    height: calc(100% - 58%);
  }
}

.commentMeta {
  position: relative;
}

.commentMetaDateAuthor {
  border-bottom: 1px solid #ddd;
  padding: 4px 0 14px;
  margin-bottom: 15px;
  letter-spacing: 0.05em;
}

@media only screen and (max-width: 768px) {
  .commentMetaDateAuthor {
    font-size: 12px;
    letter-spacing: -0.02em;
    padding: 4px 0 9px 50px;
    margin-bottom: 10px;
  }
}

.commentMetaDateAuthorName {
  font-weight: bold;
}

.commentMetaDateChildren {
  color: #888;
  margin-bottom: 6px;
}

.commentMetaPhotoAuthor {
  position: absolute;
  top: -10px;
  left: -104px;
  width: 56px;
}

@media only screen and (max-width: 768px) {
  .commentMetaPhotoAuthor {
    width: 41px;
    left: 0;
    top: -20px;
  }
}

.commentMetaPhotoChildren {
  position: absolute;
  top: -10px;
  left: -35px;
  width: 25px;
}

.commentBox {
  margin-bottom: 28px;
}

.commentBox p {
  line-height: 1.6;
  letter-spacing: -0.03em;
}

@media only screen and (max-width: 768px) {
  .commentBox p {
    font-size: 12px;
  }
}

.commentBox p:not(:last-child) {
  margin-bottom: 28px;
}

@media only screen and (max-width: 768px) {
  .commentBox p:not(:last-child) {
    margin-bottom: 24px;
  }
}

.commentBoxChildren {
  margin-bottom: 10px;
}

.commentReply {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
      justify-content: flex-end;
}

.commentFormTtl {
  padding-bottom: 10px;
  margin-bottom: 30px;
}

@media only screen and (max-width: 768px) {
  .commentFormTtl {
    padding-bottom: 16px;
    margin-bottom: 18px;
  }
}

.commentFormTtlBorder {
  border-bottom: 1px solid #ddd;
}

.commentFormTtlMain {
  font-size: 18px;
  margin-bottom: 5px;
  color: #00403d;
}

.commentFormTtlSub {
  font-size: 13px;
  color: #888;
}

.commentFormItem {
  margin-bottom: 30px;
  /* Google Chrome, Safari, Opera 15+, Android, iOS */
  /* Firefox 18- */
  /* Firefox 19+ */
  /* IE 10+ */
}

@media only screen and (max-width: 768px) {
  .commentFormItem {
    margin-bottom: 24px;
  }
}

.commentFormItem span {
  width: 125px;
  display: inline-block;
  vertical-align: middle;
  text-align: right;
  color: #00403d;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .commentFormItem span {
    text-align: left;
    width: auto;
    font-size: 15px;
    margin-bottom: 5px;
  }
}

.commentFormItem input, .commentFormItem textarea {
  display: inline-block;
  vertical-align: middle;
  margin-left: 20px;
  background-color: #fff;
  width: calc(100% - 145px);
  border: 1px solid #ddd;
  font-size: 13px;
  padding: 5px 10px;
}

@media only screen and (max-width: 768px) {
  .commentFormItem input, .commentFormItem textarea {
    width: 100%;
    margin-left: 0;
  }
}

.commentFormItem input:focus, .commentFormItem textarea:focus {
  outline: none;
}

.commentFormItem input {
  height: 35px;
}

@media only screen and (max-width: 768px) {
  .commentFormItem input {
    display: block;
  }
}

.commentFormItem textarea {
  resize: none;
  line-height: 1;
  letter-spacing: 0.03em;
}

.commentFormItem :placeholder-shown {
  color: #ddd;
  font-weight: bold;
}

.commentFormItem ::-webkit-input-placeholder {
  color: #ddd;
  font-weight: bold;
}

.commentFormItem :-moz-placeholder {
  color: #ddd;
  opacity: 1;
  font-weight: bold;
}

.commentFormItem ::-moz-placeholder {
  color: #ddd;
  opacity: 1;
  font-weight: bold;
}

.commentFormItem :-ms-input-placeholder {
  color: #ddd;
  font-weight: bold;
}

.commentFormItemWide input, .commentFormItemWide textarea {
  width: 100%;
  margin-left: 0;
}

.commentFormItemWide input:focus, .commentFormItemWide textarea:focus {
  outline: none;
}

.commentFormItemTextarea span {
  vertical-align: top;
  padding-top: 10px;
}

@media only screen and (max-width: 768px) {
  .commentFormItemTextarea span {
    vertical-align: baseline;
    padding-top: 0;
  }
}

.commentFormItemRequired span {
  position: relative;
}

.commentFormItemRequired span::after {
  content: "*";
  position: absolute;
  top: -1px;
  right: -11px;
  display: block;
  font-size: 13px;
}

@media only screen and (max-width: 768px) {
  .commentFormItemRequired span::after {
    right: -9px;
  }
}

.commentFormBtn {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
      justify-content: flex-end;
}

@media only screen and (max-width: 768px) {
  .commentFormBtn {
    display: block;
  }
}

@media only screen and (max-width: 768px) {
  .commentFormBtn button:first-child {
    margin-bottom: 15px;
  }
}

.commentFormBtn button:last-child {
  margin-left: 14px;
}

@media only screen and (max-width: 768px) {
  .commentFormBtn button:last-child {
    margin-left: 0;
  }
}

.commentForm2 {
  display: none;
  margin: 40px 0 0;
  padding: 20px 20px 60px;
  background-color: #fff;
  border-top: 1px solid #ddd;
  position: relative;
  -webkit-transform: all 0.3s ease;
          transform: all 0.3s ease;
}

.commentForm2::after {
  content: "";
  position: absolute;
  top: -45px;
  right: 40px;
  display: block;
  border: 17px solid transparent;
  border-bottom: 28px solid #ddd;
}

.commentForm2::before {
  content: "";
  position: absolute;
  top: -43px;
  right: 40px;
  display: block;
  border: 17px solid transparent;
  border-bottom: 28px solid #fff;
  z-index: 1;
}

.commentList > li > .children,
.commentList > li > .children > .children,
.commentList > li > .children > .children > .children {
  padding-left: 25px;
  position: relative;
}

.commentList > li > .children::before,
.commentList > li > .children > .children::before,
.commentList > li > .children > .children > .children::before {
  content: "";
  display: block;
  position: absolute;
  top: 23px;
  left: 1px;
  width: 1px;
  height: 100%;
  border-left: 1px dashed #ddd;
}

@media only screen and (max-width: 768px) {
  .commentList > li > .children::before,
  .commentList > li > .children > .children::before,
  .commentList > li > .children > .children > .children::before {
    top: 30px;
    height: calc(100% - 18%);
  }
}

@media only screen and (min-width: 767px) and (max-width: 769px) {
  .commentList > li > .children::before,
  .commentList > li > .children > .children::before,
  .commentList > li > .children > .children > .children::before {
    height: calc(100% - 190px);
  }
}

@media only screen and (max-width: 320px) {
  .commentList > li > .children::before,
  .commentList > li > .children > .children::before,
  .commentList > li > .children > .children > .children::before {
    height: calc(100% - 16%);
  }
}

/*------------------------------
iconBlank */
.iconBlank {
  display: inline-block;
  vertical-align: middle;
}

.iconBlank::after {
  position: relative;
  top: -2px;
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 13px;
  height: 13px;
  margin-left: 8px;
  background: url(../img/common/icon_blank.png) no-repeat 0 0;
  background-size: contain;
}

.iconBlankLine {
  text-decoration: underline;
}

/*------------------------------
posting-day */
.posting-day {
  display: inline-block;
  line-height: 1;
  font-size: 13px;
  color: #6e6e6e;
  margin-left: 10px;
  position: relative;
  top: 1px;
}

/*------------------------------
snsLinkList */
.snsLinkList {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  line-height: 1;
}

.snsLinkListDetail {
  -ms-flex-pack: end;
      justify-content: flex-end;
  margin-bottom: 13px;
}

@media only screen and (max-width: 768px) {
  .snsLinkListDetail {
    -ms-flex-pack: start;
        justify-content: flex-start;
  }
}

.snsLinkListDetail li:not(:first-child) {
  margin-left: 10px;
}

/*------------------------------
shareBtnFb */
.shareBtnFb {
  width: 26px;
  height: 26px;
}

.shareBtnFbLogo {
  width: 95px;
}

/*------------------------------
twetterShareButton */
.twitter-share-button {
  line-height: 1;
  vertical-align: middle;
}

/*------------------------------
gBtn */
.gBtn {
  margin: 0 -14px 0 10px;
  display: inline-block;
  width: 70px;
  overflow: hidden;
}

.gBtn div {
  vertical-align: middle !important;
  width: 70px;
}

.gBtn html {
  width: 70px;
}

/*------------------------------
snsOrizinal */
.snsOrizinal {
  border-radius: 3px;
  width: 100%;
  display: block;
  font-size: 14px;
  color: #fff;
  font-weight: bold;
  padding: 11px 0;
  transition: all 0.3s ease;
  position: relative;
  top: 0;
}

.snsOrizinal span {
  display: inline-block;
  vertical-align: middle;
}

@media only screen and (max-width: 768px) {
  .snsOrizinal span {
    display: block;
  }
}

.snsOrizinal::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 25px;
  height: 19px;
  margin-right: 7px;
}

@media only screen and (max-width: 768px) {
  .snsOrizinal::before {
    text-align: center;
    margin-bottom: 5px;
    margin-left: 0;
  }
}

@media only screen and (min-width: 769px) {
  .snsOrizinal:hover {
    top: 3px;
  }
}

.snsOrizinalFb {
  background-color: #4267b2;
  box-shadow: 0 3px 0 0 #b3c2e0;
}

.snsOrizinalFb::before {
  background: url(../img/common/icon_fb_good.png) no-repeat 0 0;
  background-size: contain;
}

@media only screen and (min-width: 769px) {
  .snsOrizinalFb:hover {
    box-shadow: 0 0 0 0 #b3c2e0;
  }
}

.snsOrizinalTw {
  background-color: #1da1f2;
  box-shadow: 0 3px 0 0 #a5d9fa;
}

.snsOrizinalTw::before {
  background: url(../img/common/icon_tw.png) no-repeat 0 0;
  background-size: contain;
  width: 23px;
}

@media only screen and (max-width: 768px) {
  .snsOrizinalTw::before {
    position: relative;
    left: 3px;
  }
}

@media only screen and (min-width: 769px) {
  .snsOrizinalTw:hover {
    box-shadow: 0 0 0 0 #a5d9fa;
  }
}

.snsOrizinalGplus {
  background-color: #f34a38;
  box-shadow: 0 3px 0 0 #efaea9;
}

.snsOrizinalGplus::before {
  background: url(../img/common/icon_gplus.png) no-repeat 0 0;
  background-size: contain;
  width: 31px;
}

@media only screen and (max-width: 768px) {
  .snsOrizinalGplus::before {
    position: relative;
    left: 8px;
  }
}

@media only screen and (min-width: 769px) {
  .snsOrizinalGplus:hover {
    box-shadow: 0 0 0 0 #efaea9;
  }
}

.snsOrizinalList {
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: end;
      align-items: flex-end;
  text-align: center;
  margin-bottom: 40px;
}

@media only screen and (max-width: 768px) {
  .snsOrizinalList {
    padding: 0 20px;
  }
}

.snsOrizinalList > li {
  width: 32%;
}

.snsOrizinalList > li a {
  display: block;
}

/*------------------------------
shareCount */
.shareCount {
  font-size: 14px;
  display: block;
  width: 100%;
  padding: 5px 0;
  border: 1px solid #ddd;
  border-radius: 3px;
  margin-bottom: 10px;
  position: relative;
  text-align: center;
}

.shareCount::after {
  position: absolute;
  content: "";
  display: block;
  bottom: -6px;
  left: 50%;
  margin-left: -5px;
  width: 10px;
  height: 10px;
  background-color: #fff;
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

/*------------------------------
section-margin */
.sectionMarginB {
  margin-bottom: 95px;
}

@media only screen and (max-width: 768px) {
  .spMenu {
    height: calc(100% - 59px);
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
}

#infscr-loading {
  clear: both;
  background: url(../img/common/icon_loading.gif) 50% 50%/220px no-repeat;
  height: 120px;
}

@media only screen and (max-width: 768px) {
  #infscr-loading {
    height: 50px;
    margin-bottom: 15px;
  }
}

#infscr-loading div, #infscr-loading img {
  display: none;
}
