@charset "UTF-8";
/* -----------------------------------------------------------------------------
 * Foundation
 *   reset
 *   typography
 *   elements
 *   links
 * Layout
 * Object
 *   Component
 *   Project
 *     header
 *     footer
 *     page
 *   Utility
 ---------------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------
 # Foundation
 ---------------------------------------------------------------------------- */
/* ------------------------------------------------------------------
 ## reset
 ----------------------------------------------------------------- */
/*!
 * Bootstrap Reboot v4.1.1 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: transparent;
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff;
}

[tabindex="-1"]:focus {
  outline: 0 !important;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: .5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

dfn {
  font-style: italic;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}

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

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([tabindex]):focus {
  outline: 0;
}

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}

figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg:not(:root) {
  overflow: hidden;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
}

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

button {
  border-radius: 0;
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type="radio"],
input[type="checkbox"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
  -webkit-appearance: listbox;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}
/* ------------------------------------------------------------------
 ## typography
 ----------------------------------------------------------------- */
body,
button,
input {
  font-family: "Meiryo UI", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Helvetica Neue", helvetica, arial, sans-serif;
  font-size: 14px;
  line-height: 1.75;
  color: #000;
}

@media screen and (min-width: 980px) {
  body,
button,
input {
    font-size: 16px;
  }
}

body[lang="ja"] {
  font-family: "Meiryo UI", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Helvetica Neue", helvetica, arial, sans-serif;
}

body[lang="ja"] button,
body[lang="ja"] input {
  font-family: "Meiryo UI", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Helvetica Neue", helvetica, arial, sans-serif;
}

body[lang="en"] {
  font-family: "Segoe UI", "Segoe UI Web Regular", "Segoe UI Symbol", "Helvetica Neue", "BBAlpha Sans", "S60 Sans", arial, sans-serif;
}

body[lang="en"] button,
body[lang="en"] input {
  font-family: "Segoe UI", "Segoe UI Web Regular", "Segoe UI Symbol", "Helvetica Neue", "BBAlpha Sans", "S60 Sans", arial, sans-serif;
}

body[lang="zh_tw"] {
  font-family: segoe ui, segoeui, "Microsoft YaHei", 微软雅黑, "Helvetica Neue", helvetica, arial, sans-serif;
}

body[lang="zh_tw"] button,
body[lang="zh_tw"] input {
  font-family: segoe ui, segoeui, "Microsoft YaHei", 微软雅黑, "Helvetica Neue", helvetica, arial, sans-serif;
}

body[lang="zh_ch"] {
  font-family: segoe ui, segoeui, "Microsoft YaHei", 微软雅黑, "Helvetica Neue", helvetica, arial, sans-serif;
}

body[lang="zh_ch"] button,
body[lang="zh_ch"] input {
  font-family: segoe ui, segoeui, "Microsoft YaHei", 微软雅黑, "Helvetica Neue", helvetica, arial, sans-serif;
}

body[lang="ko"] {
  font-family: segoe ui, segoeui, "Malgun Gothic", gulim, "Helvetica Neue", helvetica, arial, sans-serif;
}

body[lang="ko"] button,
body[lang="ko"] input {
  font-family: segoe ui, segoeui, "Malgun Gothic", gulim, "Helvetica Neue", helvetica, arial, sans-serif;
}

select,
optgroup textarea {
  font-size: 16px;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1em;
}

address {
  margin: 0 0 1.5em;
}

big {
  font-size: 125%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
}

/* ------------------------------------------------------------------
 ## elements
 ----------------------------------------------------------------- */
body {
  background: #fcf9ea;
}

hr {
  background-color: #ff8a5c;
  border: 0;
  height: 2px;
  margin-bottom: 4rem;
  margin-top: 4rem;
}

@media screen and (min-width: 980px) {
  hr {
    margin-bottom: 6rem;
    margin-top: 6rem;
  }
}

table {
  border-collapse: collapse;
  margin: 0 0 2.5rem;
  width: 100%;
}

/* ------------------------------------------------------------------
 ## links
 ----------------------------------------------------------------- */
a {
  color: #a91213;
}

a > img {
  opacity: 1;
}

a:visited {
  color: #7b0d0e;
}

a:hover, a:focus, a:active {
  color: #7b0d0e;
}

a:hover > img, a:focus > img, a:active > img {
  opacity: .75;
}

a:focus {
  outline: thin dotted;
}

a:hover, a:active {
  outline: 0;
}

/* ------------------------------------------------------------------
 ## forms
 ----------------------------------------------------------------- */
button,
input[type='button'],
input[type='reset'],
input[type='submit'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  border-style: none;
  cursor: pointer;
  display: block;
  outline: none;
}

/* -----------------------------------------------------------------------------
 # Layout
 ---------------------------------------------------------------------------- */
/* site
 ---------------------------------------- */
.l-site {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* header
 ---------------------------------------- */
.l-header {
  display: block;
  width: 100%;
  margin: 0;
}

.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 980px;
  min-height: 58px;
  padding: 0;
  margin: 0 auto;
}

.l-header__inner .site-branding {
  display: flex;
  flex-grow: 1;
  justify-content: center;
  margin-left: 58px;
}

.l-header__inner .header-contents .header-sub-menu {
  display: none;
}

@media screen and (min-width: 980px) {
  .l-header.is-front .main-navigation {
    display: none;
  }
  .l-header__inner .site-branding {
    flex-grow: 0;
    justify-content: flex-start;
    padding-left: 0;
    margin-left: 0;
  }
  .l-header__inner .header-contents .header-sub-menu {
    display: flex;
  }
}

.l-header.js-header.is-fix {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1000;
  transition: transform 0s ease-in-out;
  transform: translate3d(0, -100%, 0);
}

.l-header.js-header.is-fix.is-front .main-navigation {
  display: block;
}

.l-header.js-header.is-show {
  transform: translate3d(0, 0, 0);
}

/* footer
 ---------------------------------------- */
.l-footer {
  display: block;
  width: 100%;
  padding: 0 0 1rem;
  margin: 0;
}

/* contents
 ---------------------------------------- */
.l-contents {
  width: 100%;
  padding: 0 16px;
  margin: 0 auto;
}

@media screen and (min-width: 980px) {
  .l-contents {
    padding: 0;
  }
}

/* inner
 ---------------------------------------- */
.l-inner {
  box-sizing: content-box;
  max-width: 980px;
  margin: 0 auto;
  padding: 16px;
}

.clear::before, .clear::after {
  box-sizing: inherit;
  display: table;
  table-layout: fixed;
  content: "";
}

/* -----------------------------------------------------------------------------
 # Object
 ---------------------------------------------------------------------------- */
/* ------------------------------------------------------------------
 ## Component
 ----------------------------------------------------------------- */
/* site-logo
 ---------------------------------------- */
.site-title {
  display: block;
  width: 200px;
  max-width: 227px;
  height: auto;
  padding: 0;
  margin: 0;
}

.site-title a {
  display: block;
}

.site-title img {
  display: block;
  width: 100%;
  height: auto;
}

@media screen and (min-width: 980px) {
  .site-title {
    width: 227px;
  }
}

/* site-logo
 ---------------------------------------- */
.site-logo {
  width: 227px;
  height: 42px;
}

.site-logo > a {
  display: block;
  width: 100%;
  height: 100%;
}

.site-logo > a > img,
.site-logo > img {
  display: block;
  width: 100%;
  height: auto;
}

/* title-primary
 ---------------------------------------- */
.title-primary, .entry-content > h1, .flexible-content > h1, .scroll-area__inner > h1 {
  font-size: 0.875rem;
  padding: .25em 12px .25em 9px;
  margin: 0 auto 2rem;
  font-weight: 600;
  color: #000;
  background-color: #f9f9f9;
  border-left: 3px solid #ff8a5c;
}

@media screen and (min-width: 980px) {
  .title-primary, .entry-content > h1, .flexible-content > h1, .scroll-area__inner > h1 {
    font-size: 1rem;
    padding: .25em 18px .25em 15px;
  }
}

/* title-secondary
 ---------------------------------------- */
.title-secondary, .entry-content > h2, .flexible-content > h2, .scroll-area__inner > h2 {
  font-size: 0.75rem;
  position: relative;
  padding: .25em 12px;
  margin: 0 auto 2rem 0;
  font-weight: 600;
  color: #000;
  border-bottom: 1px dashed #ccc;
}

.title-secondary::before, .entry-content > h2::before, .flexible-content > h2::before, .scroll-area__inner > h2::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 8px;
  height: 3px;
  content: "";
  background-color: #ff8a5c;
  transform: translateY(-50%);
}

.title-secondary.is-noborder, .entry-content > h2.is-noborder, .flexible-content > h2.is-noborder, .scroll-area__inner > h2.is-noborder {
  border-bottom-style: none;
}

@media screen and (min-width: 980px) {
  .title-secondary, .entry-content > h2, .flexible-content > h2, .scroll-area__inner > h2 {
    font-size: 0.9375rem;
    padding: .25em 18px .25em 18px;
  }
  .title-secondary::before, .entry-content > h2::before, .flexible-content > h2::before, .scroll-area__inner > h2::before {
    width: 10px;
  }
}

/* title-tertiary
 ---------------------------------------- */
.title-tertiary, .entry-content > h3, .flexible-content > h3, .scroll-area__inner > h3 {
  font-size: 0.75rem;
  padding: .25em 12px;
  margin: 0 0 1rem;
  font-weight: 600;
  color: #000;
  background-color: #f9f9f9;
}

@media screen and (min-width: 980px) {
  .title-tertiary, .entry-content > h3, .flexible-content > h3, .scroll-area__inner > h3 {
    font-size: 0.875rem;
    padding: .25em 18px;
  }
}

/* title-quaternary
 ---------------------------------------- */
.title-quaternary, .entry-content > h4, .flexible-content > h4, .scroll-area__inner > h4 {
  font-size: 0.75rem;
  padding: .25em 12px;
  margin: 0 0 1rem;
  font-weight: 600;
  color: #000;
  border-bottom: 1px dashed #ccc;
}

@media screen and (min-width: 980px) {
  .title-quaternary, .entry-content > h4, .flexible-content > h4, .scroll-area__inner > h4 {
    font-size: 0.875rem;
    padding: .25em 18px;
  }
}

/* title-fifth
 ---------------------------------------- */
.title-fifth, .entry-content > h5, .flexible-content > h5, .scroll-area__inner > h5 {
  font-size: 0.75rem;
  padding: .25em 12px;
  margin: 0 0 1rem;
  font-weight: 600;
  color: #ff8a5c;
}

@media screen and (min-width: 980px) {
  .title-fifth, .entry-content > h5, .flexible-content > h5, .scroll-area__inner > h5 {
    font-size: 0.875rem;
    padding: .25em 18px;
  }
}

/* title-emphasis
 ---------------------------------------- */
.title-emphasis {
  font-size: 1.625em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  color: #d71718;
  text-align: center;
}

.title-emphasis::before, .title-emphasis::after {
  display: block;
  width: .555em;
  height: 1em;
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
}

.title-emphasis::before {
  margin-right: .25em;
  background-image: url(../images/common/title-emphasis-l.svg);
}

.title-emphasis::after {
  margin-left: .25em;
  background-image: url(../images/common/title-emphasis-r.svg);
}

/* page-title
 ---------------------------------------- */
.page-title {
  display: block;
  width: calc(100% + 32px);
  width: 100vw;
  padding: 0;
  margin: 0 -16px;
  background-color: #ff8a5c;
}

.page-title > span {
  font-size: 1.125rem;
  display: block;
  width: 100%;
  max-width: 980px;
  padding: 0 16px;
  margin: 0 auto;
  line-height: 3;
  color: #fff;
}

@media screen and (min-width: 980px) {
  .page-title {
    padding: 0;
  }
  .page-title > span {
    font-size: 1.375rem;
    padding: 0;
  }
}

/* pr-title
 ---------------------------------------- */
.pr-title {
  font-size: 0.875rem;
  margin: 0 auto 1rem;
  font-weight: normal;
  text-align: center;
}

.pr-title::before, .pr-title::after {
  content: "-";
}

.pr-title::before {
  margin-right: .5em;
}

.pr-title::after {
  margin-left: .5em;
}

/* entry-title
 ---------------------------------------- */
.entry-title {
  font-size: 1.25em;
  position: relative;
  display: block;
  padding: 4px 0 8px;
  font-weight: 600;
  text-align: center;
}

.entry-title::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 3em;
  height: 3px;
  content: "";
  background-color: #ff8a5c;
  transform: translateX(-50%);
}

.entry-title-sub {
  display: block;
  padding: 0;
  margin: 0;
  font-size: .6em;
  font-weight: 400;
}

/* content-area
 ---------------------------------------- */
.content-area {
  display: block;
  max-width: 980px;
  margin: 0 auto;
}

@media screen and (min-width: 980px) {
  .content-area {
    margin: 0 auto 2rem;
  }
  .content-area.has-aside {
    display: flex;
    justify-content: space-between;
  }
  .content-area.has-aside > .content-main {
    width: calc(100% - 354px);
    margin-right: 24px;
  }
  .content-area.has-aside > .content-aside {
    width: 330px;
  }
}

/* entry-container
 ---------------------------------------- */
.entry-container {
  padding: 12px;
  margin: 0 0 36px;
  background-color: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.215);
}

/* pr-banner-area
 ---------------------------------------- */
/* c-level
 ---------------------------------------- */
.c-level {
  display: flex;
}

.c-level__item {
  display: block;
}

.c-level__item:not(:last-child) {
  margin-right: 12px;
}

.c-level.has-center {
  justify-content: center;
}

.c-level.has-right {
  justify-content: flex-end;
}

.c-level.has-left {
  justify-content: flex-start;
}

/* c-fullwidth-block
 ---------------------------------------- */
.c-fullwidth-block {
  position: relative;
  width: 100%;
  padding: 1rem 16px;
}

.c-fullwidth-block.has-bg-white {
  background-color: #fff;
}

.c-fullwidth-block.has-bg-orange {
  background-color: #ffd369;
}

.c-fullwidth-block.has-stripe-border::before, .c-fullwidth-block.has-stripe-border::after {
  position: absolute;
  right: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 3px;
  content: "";
  background-image: url(../images/common/bg_stripe-line.png);
  background-repeat: repeat-x;
}

.c-fullwidth-block.has-stripe-border::before {
  top: 0;
}

.c-fullwidth-block.has-stripe-border::after {
  bottom: 0;
}

.c-fullwidth-block > * {
  max-width: 980px;
  margin: 0 auto;
}

.c-fullwidth-block.is-spoff {
  display: none;
}

@media screen and (min-width: 980px) {
  .c-fullwidth-block {
    padding: 1rem;
  }
  .c-fullwidth-block.is-spoff {
    display: block;
  }
}

/* meta-area
 ---------------------------------------- */
.meta-area {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 8px;
  margin: 0 0 1rem;
  background-color: #f9f9f9;
}

.meta-area .tag-list {
  font-size: 0.875em;
}

.meta-area .tag-list:not(:last-child) {
  margin-right: .5em;
}

/* date-area
 ---------------------------------------- */
.date-area {
  font-size: 0.875rem;
  display: flex;
  justify-content: center;
}

/* attention-area
 ---------------------------------------- */
.attention-head {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  white-space: nowrap;
  background-color: #d71718;
}

.attention-title {
  font-size: 1.125em;
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  font-weight: 600;
  color: #fff;
}

.attention-title::before {
  display: block;
  width: 1em;
  height: 1em;
  padding: 0;
  margin: 0 6px 0 0;
  content: "";
  background-image: url(../images/common/icon_attention.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}

.attention-contents {
  padding: 8px 12px;
  margin: 0;
  background-color: #fff;
  border-right: 2px solid #d71718;
  border-bottom: 2px solid #d71718;
  border-left: 2px solid #d71718;
}

.attention-contents > p,
.attention-contents > ul,
.attention-contents > ol {
  margin: 0;
}

@media screen and (min-width: 980px) {
  .attention-area {
    display: flex;
  }
  .attention-area .attention-head {
    width: 25%;
  }
  .attention-area .attention-contents {
    width: 75%;
    border-right-style: none;
    border-left-style: none;
  }
}

/* questionnaire-area
 ---------------------------------------- */
.questionnaire-area {
  padding: 12px 12px 2px;
  margin: 0 0 24px;
  background-color: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
}

.questionnaire-area__header {
  margin: 0 0 12px;
}

.questionnaire-area__contents {
  margin: 0 0 24px;
}

.questionnaire-area__contents p {
  font-size: 0.875em;
}

.questionnaire-area__contents p:last-child {
  margin-bottom: 0;
}

.questionnaire-area__title {
  font-size: 1.125em;
  display: block;
  padding: 4px;
  margin: 0;
  font-weight: 600;
  color: #fff;
  text-align: center;
  background-color: #ff8a5c;
}

/* near-spohs
 ---------------------------------------- */
.near-spohs {
  max-width: 640px;
  margin: 0 0 24px;
}

.near-spohs__item:not(:last-child) {
  margin-bottom: 12px;
}

@media screen and (min-width: 600px) {
  .near-spohs {
    width: 80%;
    margin: 0 auto 24px;
  }
}

/* news-area
 ---------------------------------------- */
.news-area {
  position: relative;
  padding: 24px 6px 6px;
  margin: 36px 0 24px;
  background-color: #f9f9f9;
}

.news-area__title {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
}

.news-area__title > span {
  z-index: 1;
  display: block;
  padding: 4px 12px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  background-color: #ff8a5c;
  border-radius: 12px;
}

.news-area__title::after {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  content: "";
  background-color: #ff8a5c;
  transform: translateY(-50%);
}

@media screen and (min-width: 980px) {
  .news-area {
    padding: 24px 12px 12px 12px;
  }
}

/* scroll-area
 ---------------------------------------- */
.scroll-area {
  width: 100%;
  height: 300px;
  overflow: auto;
  border: 1px solid #ccc;
  border-radius: 5px;
  -webkit-overflow-scrolling: touch;
}

.scroll-area__inner {
  padding: 6px;
}

/* box-bg
 ---------------------------------------- */
.box-bg {
  background-color: #fcf9ea;
}

/* link-btn
 ---------------------------------------- */
.link-btn {
  display: inline-block;
  padding: .5em 2em;
  margin: 0;
  overflow: hidden;
  font-size: 1.1428571429em;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background-color: #d71718;
}

.link-btn:visited, .link-btn:hover, .link-btn:focus, .link-btn:active {
  color: #fff;
  text-decoration: none;
  background-color: #d71718;
}

.link-btn:hover {
  background-color: #a91213;
}

.link-btn.no-bg {
  color: #000;
  background-color: transparent;
  border: 1px solid #eee;
}

.link-btn.no-bg:hover {
  color: #000;
  background-color: rgba(0, 0, 0, 0.1);
}

.link-btn.has-arrow {
  position: relative;
}

.link-btn.has-arrow::after {
  position: absolute;
  top: 50%;
  right: 4px;
  display: block;
  width: .75em;
  height: auto;
  content: url(../images/common/icon_arrow-r-w.svg);
  transform: translateY(-50%);
}

/* link-text
 ---------------------------------------- */
.link-text {
  color: #000;
  color: #000;
  text-decoration: none;
}

.link-text:hover, .link-text:visited, .link-text:focus, .link-text:active {
  color: #000;
  text-decoration: none;
}

.link-text:hover {
  text-decoration: underline;
}

.link-text.has-arrow::after {
  display: inline-block;
  width: .75em;
  height: auto;
  content: url(../images/common/icon_arrow-r-b.svg);
  opacity: 0;
  transition: transform .25s ease-out, opacity .25s ease-out;
  transform: translateX(-100%);
}

.link-text.has-arrow:hover::after {
  opacity: 1;
  transform: translateX(0);
}

/* btn-menutoggle
 ---------------------------------------- */
.btn-menutoggle {
  display: none;
  width: 58px;
  height: 58px;
  background-color: #fff;
  border: none;
  transition: background-color .25s ease-in-out;
}

.btn-menutoggle:hover {
  background-color: rgba(215, 23, 24, 0.1);
}

.btn-menutoggle:focus {
  outline-style: none;
}

.btn-menutoggle .btn-menutoggle__bars {
  position: relative;
  width: 46px;
  height: 25px;
  margin: 0 auto 5px;
}

.btn-menutoggle .btn-menutoggle__bar {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 32px;
  height: 2px;
  background-color: #d71718;
  transition: all .25s ease-in-out;
  transform-origin: center;
}

.btn-menutoggle .btn-menutoggle__bar:nth-of-type(1) {
  transform: translate(-50%, -10px) rotate(0);
}

.btn-menutoggle .btn-menutoggle__bar:nth-of-type(2) {
  opacity: 1;
  transform: translate(-50%, 0);
}

.btn-menutoggle .btn-menutoggle__bar:nth-of-type(3) {
  transform: translate(-50%, 10px);
}

.btn-menutoggle .btn-menutoggle__text {
  display: block;
  padding: 0;
  margin: 0;
  font-size: 8px;
  color: #d71718;
  text-align: center;
  transition: color .25s ease-in-out;
}

.btn-menutoggle.is-act {
  background-color: #d71718;
}

.btn-menutoggle.is-act .btn-menutoggle__bar {
  background-color: #fff;
}

.btn-menutoggle.is-act .btn-menutoggle__bar:nth-of-type(1) {
  transform: translate(-50%, 0) rotate(45deg);
}

.btn-menutoggle.is-act .btn-menutoggle__bar:nth-of-type(2) {
  opacity: 0;
  transform: translate(-50%, 0);
}

.btn-menutoggle.is-act .btn-menutoggle__bar:nth-of-type(3) {
  transform: translate(-50%, 0) rotate(-45deg);
}

.btn-menutoggle.is-act .btn-menutoggle__text {
  color: #fff;
}

/* btn-toTop
 ---------------------------------------- */
.btn-totop__container {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 100;
  display: none;
  width: 58px;
  height: 58px;
  transition: transform .25s ease-out;
  transform: translate3d(0, 74px, 0);
}

.btn-totop__container.is-show {
  transform: translate3d(0, 0, 0);
}

.btn-totop__container .btn-totop {
  position: relative;
  display: block;
  width: 58px;
  height: 58px;
  padding: 0;
  overflow: hidden;
}

.btn-totop__container .btn-totop > img {
  display: block;
  width: 100%;
  height: auto;
}

@media screen and (min-width: 980px) {
  .btn-totop__container {
    display: block;
  }
}

/* btn-search-menu
 ---------------------------------------- */
.btn-search-menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 58px;
  padding: 0;
  background-color: #d71718;
}

.btn-search-menu > span {
  display: block;
  padding: 0;
  margin: 0;
  font-size: 8px;
  line-height: 1;
  color: #fff;
  text-align: center;
}

.btn-search-menu::before {
  display: block;
  width: 25px;
  height: 25px;
  padding: 0;
  margin: 0 auto 5px;
  content: url(../images/common/icon_search-w.svg);
}

.btn-search-menu:focus {
  outline-style: none;
}

/* btn-drawerclose
 ---------------------------------------- */
.btn-drawerclose {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 2px solid #fff;
  border-radius: 50%;
  transition: background-color .25s ease-out;
}

.btn-drawerclose > img {
  width: 90%;
  height: auto;
  pointer-events: none;
}

.btn-drawerclose:hover {
  background-color: rgba(255, 255, 255, 0.25);
}

.btn-drawerclose:focus {
  outline-style: none;
}

/* breadcrumb-container
 ---------------------------------------- */
.breadcrumb-container {
  max-width: 980px;
  padding: 12px 0;
  margin: 0 auto;
  font-size: 14px;
}

.breadcrumb-container p {
  margin-bottom: 0;
}

/* language-switch
 ---------------------------------------- */
.language-switch {
  position: relative;
  display: none;
}

.language-switch .btn-lang-switch {
  height: 58px;
  padding: 0 1em;
  margin: 0;
  font-size: 14px;
  color: #d71718;
}

.language-switch .btn-lang-switch::after {
  margin-left: .5em;
  content: "▼";
}

.language-switch .lang-list {
  position: absolute;
  top: 58px;
  right: 0;
  z-index: 10;
  display: none;
  min-width: 160px;
  padding: 0;
  margin: 0;
  list-style: none;
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

.language-switch .lang-list.is-open {
  display: block;
}

.language-switch .lang-list > .lang-item {
  display: block;
  padding: 0;
  line-height: 1;
}

.language-switch .lang-list > .lang-item > a {
  display: block;
  width: 100%;
  padding: 12px 12px;
  color: #000;
}

.language-switch .lang-list > .lang-item > a:visited, .language-switch .lang-list > .lang-item > a:hover, .language-switch .lang-list > .lang-item > a:focus, .language-switch .lang-list > .lang-item > a:active {
  color: #000;
  text-decoration: none;
}

.language-switch .lang-list > .lang-item:hover {
  background-color: rgba(255, 138, 92, 0.25);
}

.language-switch .lang-list > .lang-item.current-lang {
  background-color: #ff8a5c;
}

.language-switch .lang-list > .lang-item.current-lang > a {
  color: #fff;
}

@media screen and (min-width: 980px) {
  .language-switch {
    display: block;
  }
}

/* tag-list
 ---------------------------------------- */
.tag-list {
  display: inline-block;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 0;
  margin: 0;
}

.tag-list.is-news_category::before, .tag-list.is-area::before, .tag-list.is-word::before, .tag-list.is-time::before, .tag-list.is-step::before {
  display: block;
  width: 1em;
  min-width: 1em;
  max-width: 1em;
  height: 1em;
  min-height: 1em;
  max-height: 1em;
  padding: 0;
  margin: 0 .25em 0 0;
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto 100%;
}

.tag-list.is-news_category::before {
  background-image: url(../images/common/icon_tax-news.svg);
}

.tag-list.is-area::before {
  height: .75em;
  background-image: url(../images/common/icon_tax-area.svg);
}

.tag-list.is-word::before {
  background-image: url(../images/common/icon_tax-word.svg);
}

.tag-list.is-time::before {
  background-image: url(../images/common/icon_tax-time.svg);
}

.tag-list.is-step::before {
  background-image: url(../images/common/icon_tax-step.svg);
}

.tag-list__item {
  display: inline-block;
  padding: 0;
  margin: 0;
}

.tag-list__item > a {
  color: #000;
}

.tag-list__item > a:hover {
  color: #7b0d0e;
}

.tag-list__separator {
  padding: 0;
  margin: 0 4px;
  font-size: .75em;
}

/* tag-container
 ---------------------------------------- */
.tag-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
}

.tag-container .tag-list:not(:last-child) {
  margin-right: .5em;
}

/* btn-container
 ---------------------------------------- */
.btn-container {
  width: 100%;
  margin: 0 -.5rem 1rem;
  margin-bottom: 1rem;
}

.btn-container.has-btncenter, .btn-container.has-btnright, .btn-container.has-btnleft {
  display: flex;
  flex-wrap: wrap;
}

.btn-container.has-btncenter {
  justify-content: center;
}

.btn-container.has-btnright {
  justify-content: flex-end;
}

.btn-container.has-btnleft {
  justify-content: flex-start;
}

.btn-container .link-btn {
  margin-bottom: .5rem;
}

.btn-container .link-btn:not(:first-child) {
  margin-left: 1rem;
}

/* btn-slider
 ---------------------------------------- */
.btn-slider-prev,
.btn-slider-next {
  display: block;
  width: 40px;
  height: 40px;
  background-color: #d71718;
}

.btn-slider-prev::before,
.btn-slider-next::before {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 80% auto;
}

.btn-slider-prev.swiper-button-disabled,
.btn-slider-next.swiper-button-disabled {
  opacity: .5;
}

.btn-slider-prev::before {
  background-image: url(../images/common/icon_arrow-l-w.svg);
}

.btn-slider-next::before {
  background-image: url(../images/common/icon_arrow-r-w.svg);
}

.btn-slider-container {
  display: flex;
  padding: 2px;
  background-color: #fff;
}

.btn-slider-container > .btn-slider-prev {
  margin-right: 2px;
}

/* share-links
 ---------------------------------------- */
.share-links {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0 0 24px;
}

.share-links__title {
  font-size: 1.125em;
  padding: 0;
  margin: 0;
  font-weight: 400;
  color: #005bab;
}

.share-links__buttons {
  display: flex;
  justify-content: center;
  padding: 12px 12px 10px;
  background-color: #fff;
  border: 1px solid #ccc;
}

.share-links__buttons .addtoany_shortcode a {
  display: inline-block;
  margin: 0 3px;
}

@media screen and (min-width: 980px) {
  .share-links {
    flex-direction: row;
  }
  .share-links__title {
    margin-right: 12px;
  }
}

/* share-links-list
 ---------------------------------------- */
.share-links-list {
  display: flex;
  justify-content: center;
  padding: 0;
  margin: 0 auto;
  list-style: none;
}

.share-links-list > li {
  display: block;
  padding: 12px;
  background-color: #fff;
  border: 1px solid #ccc;
}

.share-links-list > li:not(:first-child) {
  border-left-style: none;
}

.share-links-list .a2a_button_facebook,
.share-links-list .a2a_button_twitter,
.share-links-list .a2a_button_line,
.share-links-list .a2a_button_sina_weibo,
.share-links-list .a2a_button_whatsapp {
  display: flex;
  align-items: center;
}

.share-links-list .a2a_button_facebook .a2a_svg,
.share-links-list .a2a_button_twitter .a2a_svg,
.share-links-list .a2a_button_line .a2a_svg,
.share-links-list .a2a_button_sina_weibo .a2a_svg,
.share-links-list .a2a_button_whatsapp .a2a_svg {
  width: 32px;
  height: 32px;
  padding: 3px;
  border-radius: 50%;
}

.share-links-list.has-name .a2a_button_facebook .a2a_svg,
.share-links-list.has-name .a2a_button_twitter .a2a_svg,
.share-links-list.has-name .a2a_button_line .a2a_svg,
.share-links-list.has-name .a2a_button_sina_weibo .a2a_svg,
.share-links-list.has-name .a2a_button_whatsapp .a2a_svg {
  width: 32px;
  height: 32px;
  padding: 4px;
  border-radius: 50%;
}

.share-links-list.has-name .a2a_button_facebook:hover,
.share-links-list.has-name .a2a_button_twitter:hover,
.share-links-list.has-name .a2a_button_line:hover,
.share-links-list.has-name .a2a_button_sina_weibo:hover,
.share-links-list.has-name .a2a_button_whatsapp:hover {
  text-decoration: none;
  opacity: .7;
}

@media screen and (min-width: 980px) {
  .share-links-list {
    margin: 0;
  }
  .share-links-list.has-name .a2a_button_facebook .a2a_svg,
.share-links-list.has-name .a2a_button_twitter .a2a_svg,
.share-links-list.has-name .a2a_button_line .a2a_svg,
.share-links-list.has-name .a2a_button_sina_weibo .a2a_svg,
.share-links-list.has-name .a2a_button_whatsapp .a2a_svg {
    width: 48px;
    height: 48px;
    padding: 8px;
    border-radius: 50%;
  }
  .share-links-list.has-name .a2a_button_facebook::after,
.share-links-list.has-name .a2a_button_twitter::after,
.share-links-list.has-name .a2a_button_line::after,
.share-links-list.has-name .a2a_button_sina_weibo::after,
.share-links-list.has-name .a2a_button_whatsapp::after {
    margin-left: 12px;
    font-size: 1em;
    content: "";
  }
  .share-links-list.has-name .a2a_button_facebook:hover,
.share-links-list.has-name .a2a_button_twitter:hover,
.share-links-list.has-name .a2a_button_line:hover,
.share-links-list.has-name .a2a_button_sina_weibo:hover,
.share-links-list.has-name .a2a_button_whatsapp:hover {
    text-decoration: none;
    opacity: .7;
  }
  .share-links-list.has-name .a2a_button_facebook::after {
    color: #3b5998;
    content: "Facebook";
  }
  .share-links-list.has-name .a2a_button_twitter::after {
    color: #55acee;
    content: "Twitter";
  }
  .share-links-list.has-name .a2a_button_line::after {
    color: #00c300;
    content: "LINE";
  }
  .share-links-list.has-name .a2a_button_sina_weibo::after {
    color: #e6162d;
    content: "Weibo";
  }
  .share-links-list.has-name .a2a_button_whatsapp::after {
    color: #12af0a;
    content: "WhatsApp";
  }
}

/* icon-btn
 ---------------------------------------- */
.icon-btn {
  display: inline-block;
  width: 44px;
  height: 44px;
  padding: 0;
  padding: 4px;
  margin: 0;
  overflow: hidden;
  background-color: #d71718;
  border-radius: 4px;
}

.icon-btn > img {
  width: 80%;
  height: auto;
  pointer-events: none;
}

/* floating-links
 ---------------------------------------- */
.floating-links {
  position: fixed;
  top: 50%;
  right: 0;
  z-index: 100;
  transform: translateY(-50%);
}

.floating-links__item {
  display: block;
  width: 60px;
  height: 60px;
  overflow: hidden;
  background-color: rgba(215, 23, 24, 0.8);
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
}

.floating-links__item:first-child {
  border-radius: 10px 0 0 0;
}

.floating-links__item:last-child {
  border-bottom: 2px solid #fff;
  border-radius: 0 0 0 10px;
}

/* floating-link
 ---------------------------------------- */
.floating-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #fff;
}

.floating-link:visited, .floating-link:hover, .floating-link:focus, .floating-link:active {
  color: #fff;
  text-decoration: none;
}

.floating-link:hover {
  background-color: rgba(0, 0, 0, 0.1);
}

.floating-link__icon {
  width: 26px;
  height: auto;
  padding: 0;
  margin: 0 auto;
}

.floating-link__icon > img {
  display: block;
  width: 100%;
  height: auto;
  padding: 0;
  margin: 0;
}

.floating-link__name {
  display: block;
  font-size: 10px;
  text-align: center;
}

/* sns-iconbtn
 ---------------------------------------- */
.sns-iconbtn {
  max-width: 42px;
  height: auto;
}

.sns-iconbtn img {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* toggle-switch
 ---------------------------------------- */
.toggle-switch {
  display: flex;
}

.toggle-switch__radio {
  display: none;
}

.toggle-switch__label {
  display: block;
  flex: 1 1 0;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 600;
  line-height: 24px;
  color: #333;
  text-align: center;
  cursor: pointer;
  /* IE 10+ */
  -moz-user-select: -moz-none;
  -webkit-user-select: none;
  user-select: none;
  background-color: #f9f9f9;
}

.toggle-switch__label:first-of-type {
  border-radius: 5px 0 0 5px;
}

.toggle-switch__label:last-of-type {
  border-radius: 0 5px 5px 0;
}

.toggle-switch__radio:checked + .toggle-switch__label {
  color: #fff;
  background-color: #d71718;
}

/* related-links
 ---------------------------------------- */
.related-links {
  padding: 4px;
  margin: 2rem 0 2rem !important;
  list-style: none;
  background-color: #f9f9f9;
}

.related-links__item {
  position: relative;
  display: inline-block;
  padding: 0 0 0 18px;
  margin: 4px;
}

.related-links__item::after {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 5;
  width: 12px;
  height: auto;
  content: url(../images/common/icon_arrow-r.svg);
  transform: translateY(-50%);
}

/* text-label
 ---------------------------------------- */
.text-label {
  display: inline-block;
  padding: 2px 4px;
  border: 1px solid #666;
  border-radius: 4px;
}

.text-label.is-gray {
  background-color: #e0e0e0;
  border-style: none;
}

.text-label-wrap {
  display: block;
}

.text-label-wrap .text-label {
  display: inline-block;
  margin: 0 4px 4px 0;
}

/* text-note
 ---------------------------------------- */
.text-note {
  font-size: 0.875em;
  padding: 4px 8px;
  background-color: #f9f9f9;
}

/* ad-invitation
 ---------------------------------------- */
.ad-invitation {
  padding: 12px 0;
}

.ad-invitation__title {
  padding: 0;
  margin: 0;
}

.ad-invitation__text {
  font-size: 0.875em;
  padding: 0;
  margin: 0;
}

.ad-invitation__text > * {
  padding: 0;
  margin: 0;
}

.ad-invitation__text a {
  color: #d71718;
  text-decoration: underline;
}

.ad-invitation__text a:hover {
  color: #ef6566;
}

/* accessibility
 ---------------------------------------- */
/* screen-reader-text */
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  word-wrap: normal !important;
  border: 0;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
}

.screen-reader-text:focus {
  top: 5px;
  left: 5px;
  z-index: 100000;
  /* Above WP toolbar. */
  display: block;
  width: auto;
  height: auto;
  padding: 15px 23px 14px;
  clip: auto !important;
  font-size: 14px;
  font-weight: bold;
  line-height: normal;
  color: #444;
  text-decoration: none;
  background-color: #fff;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  -webkit-clip-path: none;
          clip-path: none;
}

.site-content[tabindex="-1"]:focus {
  outline: 0;
}

/* posted-on
 ---------------------------------------- */
.posted-on > a {
  font-size: 0.875rem;
  color: #333;
  text-decoration: none;
}

.posted-on > a:hover {
  color: #666;
  text-decoration: underline;
}

.published + .updated {
  display: none;
}

/* img-bg
 ---------------------------------------- */
.img-bg {
  display: block;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
}

.img-bg::before {
  display: block;
  padding-top: 100%;
  margin: 0;
  content: "";
}

.img-bg.is-noimg {
  background-image: url(../images/common/img_noimg.jpg);
}

.img-bg.has-1x1::before {
  padding-top: 100%;
}

.img-bg.has-4x3::before {
  padding-top: 75%;
}

.img-bg.has-16x9::before {
  padding-top: 56.25%;
}

.img-bg.is-fit-cover {
  background-size: cover;
}

.img-bg.is-fit-contain {
  background-size: contain;
}

/* table-flexible
 ---------------------------------------- */
.table-flexible tr,
.table-flexible th,
.table-flexible td {
  display: block;
  width: 100%;
  border-style: none;
}

.table-flexible th {
  white-space: nowrap;
}

.table-flexible td {
  margin-bottom: 12px;
}

.table-flexible.no-border th,
.table-flexible.no-border td {
  border-style: none !important;
}

.table-flexible.has-border th {
  padding: 6px;
}

.table-flexible.has-border td {
  padding: 6px;
  border-style: none;
  border-bottom: 1px dashed #ccc;
}

@media screen and (min-width: 980px) {
  .table-flexible tr {
    display: table-row;
  }
  .table-flexible th,
.table-flexible td {
    display: table-cell;
    width: auto;
    padding: 6px 12px;
    margin-bottom: 0;
    border-style: none;
  }
  .table-flexible.has-border th,
.table-flexible.has-border td {
    padding: .5rem;
    border-style: none;
  }
  .table-flexible.has-border th {
    border-bottom: 1px dashed #ccc;
  }
  .table-flexible.has-border td {
    border-bottom: 1px dashed #ccc;
  }
}

/* google-map
 ---------------------------------------- */
.google-map {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  margin: 0 0 24px;
  overflow: hidden;
}

.google-map > .acf-map,
.google-map > iframe,
.google-map > .spot-map {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.google-map.has-16x9 {
  padding-bottom: 56.25%;
}

@media screen and (min-width: 600px) {
  .google-map {
    padding-bottom: 75%;
  }
}

/* yt-video
 ---------------------------------------- */
.yt-video {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  margin: 0 0 24px;
}

.yt-video:hover {
  opacity: .8;
}

.yt-video > .icon-play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  font-size: 64px;
  color: #ccc;
  opacity: .75;
  transform: translate(-50%, -50%);
}

.yt-video > .img-bg {
  position: relative;
  z-index: 1;
}

/* mce-card
 ---------------------------------------- */
.mce-card {
  padding: 36px 12px;
  margin: 0;
  color: #616060;
  background-color: #f5f5f5;
  border: 1px solid #fff;
}

.mce-card > img {
  max-width: 100%;
  height: auto;
}

/* news-list
 ---------------------------------------- */
.news-list {
  display: block;
  padding: 0;
  margin: 0 !important;
  list-style: none;
}

.news-list__item {
  display: block;
  padding: 0;
  margin: 0;
}

.news-list__item:not(:last-child) {
  border-bottom: 1px solid #ccc;
}

/* faq-list
 ---------------------------------------- */
.faq-list {
  margin: 0 0 36px;
}

.faq-list .faq-q {
  display: flex;
  align-items: center;
  padding: 6px 12px;
  margin: 0;
  cursor: pointer;
  border-bottom: 1px dashed #ccc;
}

.faq-list .faq-q::before {
  display: block;
  width: 2rem;
  padding: 0;
  margin: 0 6px 0 0;
  font-size: 1.5em;
  font-weight: 600;
  color: #d71718;
  pointer-events: none;
  content: "Q.";
}

.faq-list .faq-q:not(:first-child) {
  margin-top: 12px;
}

.faq-list .faq-q > h2 {
  font-size: 1em;
  padding: 0;
  margin: 0;
  pointer-events: none;
}

.faq-list .faq-a {
  display: none;
  padding: 12px 12px 0;
  margin: 0;
  background-color: #f9f9f9;
}

.faq-list .faq-a__content {
  display: flex;
}

.faq-list .faq-a__content::before {
  width: 2rem;
  margin: 0 6px 0 0;
  font-size: 1.25em;
  font-weight: 600;
  color: #005bab;
  content: "A.";
}

.faq-list .faq-a .btn-container {
  width: 100%;
}

/* traffic-container
 ---------------------------------------- */
.traffic-container {
  display: flex;
  margin: 0 0 36px;
}

.traffic-content {
  font-size: 0.875em;
}

.traffic-note__title {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  color: #d71718;
}

.traffic-note__title::before, .traffic-note__title::after {
  font-size: 1em;
}

.traffic-note__title::before {
  content: "\\";
}

.traffic-note__title::after {
  content: "/";
}

.traffic-note {
  padding: 6px;
  margin: 0;
  background-color: #f9f9f9;
}

@media screen and (min-width: 980px) {
  .traffic-container {
    display: flex;
  }
  .traffic-container .traffic-img {
    width: 40%;
  }
  .traffic-container .traffic-content {
    width: calc(60% - 12px);
    margin-left: 12px;
  }
  .traffic-note {
    padding: 12px;
  }
}

/* traffic-access
 ---------------------------------------- */
.traffic-access > dt {
  font-size: 1em;
  margin: 0 0 12px;
  font-weight: 400;
}

/* word-modal
 ---------------------------------------- */
.word-modal {
  width: 100%;
}

.word-modal__title {
  font-size: 1rem;
  padding: 4px 12px;
  color: #fff;
  text-align: center;
  background-color: #d71718;
}

@media screen and (min-width: 600px) {
  .word-modal {
    min-width: 50vw;
  }
}

@media screen and (min-width: 980px) {
  .word-modal {
    min-width: 640px;
  }
}

/* word-modal-list */
.word-modal-list {
  font-size: 0.875rem;
  padding: 12px;
  margin: 0;
  list-style: none;
  background-color: #f9f9f9;
}

.word-modal-list .word-modal-tag {
  display: inline-block;
  padding: 0;
  margin: 4px;
}

/* word-tag */
.word-tag::before {
  content: "#";
}

#lightcase-content .lightcase-contentInner .lightcase-inlineWrap {
  padding: 0 !important;
}

/* entry-content
 ---------------------------------------- */
.entry-content > p, .flexible-content > p, .scroll-area__inner > p {
  font-size: 0.875em;
  line-height: 2;
}

.entry-content ul, .flexible-content ul, .scroll-area__inner ul,
.entry-content ol,
.flexible-content ol,
.scroll-area__inner ol,
.entry-content dl,
.flexible-content dl,
.scroll-area__inner dl,
.entry-content blockquote,
.flexible-content blockquote,
.scroll-area__inner blockquote {
  font-size: 0.875em;
}

.entry-content ul, .flexible-content ul, .scroll-area__inner ul,
.entry-content ol,
.flexible-content ol,
.scroll-area__inner ol,
.entry-content dl,
.flexible-content dl,
.scroll-area__inner dl {
  margin-left: 12px;
}

.entry-content img, .flexible-content img, .scroll-area__inner img,
.entry-content figure > img,
.entry-content > p > img {
  max-width: 100%;
  height: auto;
}

.entry-content hr, .flexible-content hr, .scroll-area__inner hr {
  width: 100%;
  height: 1;
  margin: 12px 0;
  background-color: #ccc;
}

.entry-content .flexible-spot .tabel-spot, .entry-content .flexible-spot .tabel-event, .entry-content .flexible-event .tabel-spot, .entry-content .flexible-event .tabel-event, .flexible-content .flexible-spot .tabel-spot, .flexible-content .flexible-spot .tabel-event, .flexible-content .flexible-event .tabel-spot, .flexible-content .flexible-event .tabel-event, .scroll-area__inner .flexible-spot .tabel-spot, .scroll-area__inner .flexible-spot .tabel-event, .scroll-area__inner .flexible-event .tabel-spot, .scroll-area__inner .flexible-event .tabel-event,
.entry-content .flexible-content > table,
.flexible-content .flexible-content > table,
.scroll-area__inner .flexible-content > table,
.entry-content .flexible-table > table,
.flexible-content .flexible-table > table,
.scroll-area__inner .flexible-table > table,
.entry-content > table,
.flexible-content > table,
.scroll-area__inner > table {
  width: 100%;
  margin: 0 0 24px;
}

.entry-content .flexible-spot .tabel-spot tr th, .entry-content .flexible-spot .tabel-event tr th, .entry-content .flexible-event .tabel-spot tr th, .entry-content .flexible-event .tabel-event tr th, .flexible-content .flexible-spot .tabel-spot tr th, .flexible-content .flexible-spot .tabel-event tr th, .flexible-content .flexible-event .tabel-spot tr th, .flexible-content .flexible-event .tabel-event tr th, .scroll-area__inner .flexible-spot .tabel-spot tr th, .scroll-area__inner .flexible-spot .tabel-event tr th, .scroll-area__inner .flexible-event .tabel-spot tr th, .scroll-area__inner .flexible-event .tabel-event tr th,
.entry-content .flexible-content > table tr th,
.flexible-content .flexible-content > table tr th,
.entry-content .flexible-table > table tr th,
.flexible-content .flexible-table > table tr th,
.scroll-area__inner .flexible-table > table tr th,
.entry-content > table tr th,
.flexible-content > table tr th,
.scroll-area__inner > table tr th {
  font-size: 0.875em;
  width: 25%;
  padding: 8px .5em 8px .5em;
  margin: 0;
  font-weight: 400;
  vertical-align: top;
}

.entry-content .flexible-spot .tabel-spot tr td, .entry-content .flexible-spot .tabel-event tr td, .entry-content .flexible-event .tabel-spot tr td, .entry-content .flexible-event .tabel-event tr td, .flexible-content .flexible-spot .tabel-spot tr td, .flexible-content .flexible-spot .tabel-event tr td, .flexible-content .flexible-event .tabel-spot tr td, .flexible-content .flexible-event .tabel-event tr td, .scroll-area__inner .flexible-spot .tabel-spot tr td, .scroll-area__inner .flexible-spot .tabel-event tr td, .scroll-area__inner .flexible-event .tabel-spot tr td, .scroll-area__inner .flexible-event .tabel-event tr td,
.entry-content .flexible-content > table tr td,
.flexible-content .flexible-content > table tr td,
.entry-content .flexible-table > table tr td,
.flexible-content .flexible-table > table tr td,
.scroll-area__inner .flexible-table > table tr td,
.entry-content > table tr td,
.flexible-content > table tr td,
.scroll-area__inner > table tr td {
  font-size: 0.875em;
  padding: 8px .5em 8px .5em;
  margin: 0;
  font-weight: 400;
  line-height: 1.75;
  vertical-align: top;
}

.entry-content .flexible-spot .tabel-spot tr td > figure, .entry-content .flexible-spot .tabel-event tr td > figure, .entry-content .flexible-event .tabel-spot tr td > figure, .entry-content .flexible-event .tabel-event tr td > figure, .flexible-content .flexible-spot .tabel-spot tr td > figure, .flexible-content .flexible-spot .tabel-event tr td > figure, .flexible-content .flexible-event .tabel-spot tr td > figure, .flexible-content .flexible-event .tabel-event tr td > figure, .scroll-area__inner .flexible-spot .tabel-spot tr td > figure, .scroll-area__inner .flexible-spot .tabel-event tr td > figure, .scroll-area__inner .flexible-event .tabel-spot tr td > figure, .scroll-area__inner .flexible-event .tabel-event tr td > figure,
.entry-content .flexible-content > table tr td > figure,
.flexible-content .flexible-content > table tr td > figure,
.entry-content .flexible-table > table tr td > figure,
.flexible-content .flexible-table > table tr td > figure,
.scroll-area__inner .flexible-table > table tr td > figure,
.entry-content > table tr td > figure,
.flexible-content > table tr td > figure,
.scroll-area__inner > table tr td > figure {
  width: 100% !important;
}

.entry-content .flexible-spot .tabel-spot tr td > p, .entry-content .flexible-spot .tabel-event tr td > p, .entry-content .flexible-event .tabel-spot tr td > p, .entry-content .flexible-event .tabel-event tr td > p, .flexible-content .flexible-spot .tabel-spot tr td > p, .flexible-content .flexible-spot .tabel-event tr td > p, .flexible-content .flexible-event .tabel-spot tr td > p, .flexible-content .flexible-event .tabel-event tr td > p, .scroll-area__inner .flexible-spot .tabel-spot tr td > p, .scroll-area__inner .flexible-spot .tabel-event tr td > p, .scroll-area__inner .flexible-event .tabel-spot tr td > p, .scroll-area__inner .flexible-event .tabel-event tr td > p,
.entry-content .flexible-content > table tr td > p,
.flexible-content .flexible-content > table tr td > p,
.entry-content .flexible-table > table tr td > p,
.flexible-content .flexible-table > table tr td > p,
.scroll-area__inner .flexible-table > table tr td > p,
.entry-content > table tr td > p,
.flexible-content > table tr td > p,
.scroll-area__inner > table tr td > p {
  margin-bottom: 0;
}

.entry-content .flexible-spot .tabel-spot tr td a, .entry-content .flexible-spot .tabel-event tr td a, .entry-content .flexible-event .tabel-spot tr td a, .entry-content .flexible-event .tabel-event tr td a, .flexible-content .flexible-spot .tabel-spot tr td a, .flexible-content .flexible-spot .tabel-event tr td a, .flexible-content .flexible-event .tabel-spot tr td a, .flexible-content .flexible-event .tabel-event tr td a, .scroll-area__inner .flexible-spot .tabel-spot tr td a, .scroll-area__inner .flexible-spot .tabel-event tr td a, .scroll-area__inner .flexible-event .tabel-spot tr td a, .scroll-area__inner .flexible-event .tabel-event tr td a,
.entry-content .flexible-content > table tr td a,
.flexible-content .flexible-content > table tr td a,
.entry-content .flexible-table > table tr td a,
.flexible-content .flexible-table > table tr td a,
.scroll-area__inner .flexible-table > table tr td a,
.entry-content > table tr td a,
.flexible-content > table tr td a,
.scroll-area__inner > table tr td a {
  word-break: break-all;
}

.entry-content .flexible-spot .tabel-spot tr th + th, .entry-content .flexible-spot .tabel-event tr th + th, .entry-content .flexible-event .tabel-spot tr th + th, .entry-content .flexible-event .tabel-event tr th + th, .flexible-content .flexible-spot .tabel-spot tr th + th, .flexible-content .flexible-spot .tabel-event tr th + th, .flexible-content .flexible-event .tabel-spot tr th + th, .flexible-content .flexible-event .tabel-event tr th + th, .scroll-area__inner .flexible-spot .tabel-spot tr th + th, .scroll-area__inner .flexible-spot .tabel-event tr th + th, .scroll-area__inner .flexible-event .tabel-spot tr th + th, .scroll-area__inner .flexible-event .tabel-event tr th + th,
.entry-content .flexible-spot .tabel-spot tr th + td,
.entry-content .flexible-spot .tabel-event tr th + td,
.entry-content .flexible-event .tabel-spot tr th + td,
.entry-content .flexible-event .tabel-event tr th + td,
.flexible-content .flexible-spot .tabel-spot tr th + td,
.flexible-content .flexible-spot .tabel-event tr th + td,
.flexible-content .flexible-event .tabel-spot tr th + td,
.flexible-content .flexible-event .tabel-event tr th + td,
.scroll-area__inner .flexible-spot .tabel-spot tr th + td,
.scroll-area__inner .flexible-spot .tabel-event tr th + td,
.scroll-area__inner .flexible-event .tabel-spot tr th + td,
.scroll-area__inner .flexible-event .tabel-event tr th + td,
.entry-content .flexible-spot .tabel-spot tr td + td,
.entry-content .flexible-spot .tabel-event tr td + td,
.entry-content .flexible-event .tabel-spot tr td + td,
.entry-content .flexible-event .tabel-event tr td + td,
.flexible-content .flexible-spot .tabel-spot tr td + td,
.flexible-content .flexible-spot .tabel-event tr td + td,
.flexible-content .flexible-event .tabel-spot tr td + td,
.flexible-content .flexible-event .tabel-event tr td + td,
.scroll-area__inner .flexible-spot .tabel-spot tr td + td,
.scroll-area__inner .flexible-spot .tabel-event tr td + td,
.scroll-area__inner .flexible-event .tabel-spot tr td + td,
.scroll-area__inner .flexible-event .tabel-event tr td + td,
.entry-content .flexible-content > table tr th + th,
.flexible-content .flexible-content > table tr th + th,
.entry-content .flexible-content > table tr th + td,
.flexible-content .flexible-content > table tr th + td,
.entry-content .flexible-content > table tr td + td,
.flexible-content .flexible-content > table tr td + td,
.entry-content .flexible-table > table tr th + th,
.flexible-content .flexible-table > table tr th + th,
.scroll-area__inner .flexible-table > table tr th + th,
.entry-content .flexible-table > table tr th + td,
.flexible-content .flexible-table > table tr th + td,
.scroll-area__inner .flexible-table > table tr th + td,
.entry-content .flexible-table > table tr td + td,
.flexible-content .flexible-table > table tr td + td,
.scroll-area__inner .flexible-table > table tr td + td,
.entry-content > table tr th + th,
.flexible-content > table tr th + th,
.scroll-area__inner > table tr th + th,
.entry-content > table tr th + td,
.flexible-content > table tr th + td,
.scroll-area__inner > table tr th + td,
.entry-content > table tr td + td,
.flexible-content > table tr td + td,
.scroll-area__inner > table tr td + td {
  border-left: 1px solid #ccc;
}

.entry-content .flexible-content > table, .flexible-content .flexible-content > table, .scroll-area__inner .flexible-content > table,
.entry-content .flexible-table > table,
.flexible-content .flexible-table > table,
.scroll-area__inner .flexible-table > table {
  border-spacing: 0;
  border-collapse: collapse;
}

.entry-content .flexible-content > table tr th, .flexible-content .flexible-content > table tr th, .scroll-area__inner .flexible-content > table tr th,
.entry-content .flexible-table > table tr th,
.flexible-content .flexible-table > table tr th,
.scroll-area__inner .flexible-table > table tr th {
  border: 1px solid #ccc;
}

.entry-content .flexible-content > table tr td, .flexible-content .flexible-content > table tr td, .scroll-area__inner .flexible-content > table tr td,
.entry-content .flexible-table > table tr td,
.flexible-content .flexible-table > table tr td,
.scroll-area__inner .flexible-table > table tr td {
  border: 1px solid #ccc;
}

/* entry-card
 ---------------------------------------- */
.entry-card {
  position: relative;
  padding: 8px;
  background-color: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
  transition: box-shadow .25s ease-out;
}

.entry-card:hover {
  box-shadow: 0 3px 4px rgba(0, 0, 0, 0.5);
}

.entry-card > a {
  color: #000;
}

.entry-card > a:hover, .entry-card > a:focus, .entry-card > a:active {
  color: #000;
  text-decoration: none;
}

.entry-card__wrap {
  position: relative;
  display: grid;
  grid-template: "entry-card-img entry-card-heead" auto "entry-card-img entry-card-contents" 1fr "entry-card-footer entry-card-footer" auto / 30% 1fr;
  width: 100%;
  height: 100%;
  gap: 4px 12px;
  padding: 0;
  margin: 0;
}

.entry-card.is-small .entry-card__wrap {
  grid-template: "entry-card-img entry-card-heead" auto "entry-card-img entry-card-contents" 1fr "entry-card-footer entry-card-footer" auto / 50% 1fr;
  gap: 4px 12px;
}

.entry-card__heead {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: entry-card-heead;
}

.entry-card.is-small .entry-card__wrap > .entry-card__heead {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}

.entry-card.has-vertical .entry-card__wrap > .entry-card__heead {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
}

.entry-card.has-nofooter .entry-card__wrap > .entry-card__heead {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  -ms-grid-column-span: 1;
}

.entry-card__posttype {
  font-size: 0.75em;
  padding: 0;
  margin: 0 0 6px;
  color: #666;
  border-bottom: 1px dashed #ccc;
}

.entry-card__title {
  font-size: 0.9375em;
  padding: 0;
  margin: 0;
  font-weight: 600;
  line-height: 1.25;
}

.entry-card__catchcopy {
  font-size: 0.75em;
  display: block;
  padding: 0;
  margin: 0 0 6px;
  line-height: 1.25;
}

.entry-card__img {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 1;
  grid-area: entry-card-img;
}

.entry-card.is-small .entry-card__wrap > .entry-card__img {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 1;
}

.entry-card.has-vertical .entry-card__wrap > .entry-card__img {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
}

.entry-card.has-nofooter .entry-card__wrap > .entry-card__img {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
}

.entry-card__img > figure {
  padding: 0;
  margin: 0;
}

.entry-card__contents {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  font-size: 0.8125em;
  grid-area: entry-card-contents;
  line-height: 1.25;
  color: #333;
}

.entry-card.is-small .entry-card__wrap > .entry-card__contents {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
}

.entry-card.has-vertical .entry-card__wrap > .entry-card__contents {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
}

.entry-card.has-nofooter .entry-card__wrap > .entry-card__contents {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  -ms-grid-column-span: 1;
}

.entry-card__footer {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-area: entry-card-footer;
}

.entry-card.is-small .entry-card__wrap > .entry-card__footer {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
}

.entry-card.has-vertical .entry-card__wrap > .entry-card__footer {
  -ms-grid-row: 7;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
}

.entry-card__footer > hr {
  width: 100%;
  height: 1px;
  padding: 0;
  margin: 0 0 4px;
  background-color: #ccc;
}

.entry-card__footer > .tag-container {
  font-size: 0.75em;
}

.entry-card.has-vertical .entry-card__img {
  margin: -8px -8px 0 -8px;
}

.entry-card.has-vertical .entry-card__wrap {
  grid-template: "entry-card-img entry-card-img" auto "entry-card-heead entry-card-heead" auto "entry-card-contents entry-card-contents" 1fr "entry-card-footer entry-card-footer" auto / 30% 1fr;
  gap: 4px 12px;
}

.entry-card.has-nofooter .entry-card__wrap {
  grid-template: "entry-card-img entry-card-heead" auto "entry-card-img entry-card-contents" 1fr / 30% 1fr;
  gap: 4px 12px;
}

.entry-card.has-arrow {
  padding-right: 20px;
}

.entry-card.has-arrow::after {
  position: absolute;
  top: 50%;
  right: 2px;
  z-index: 5;
  width: 16px;
  height: auto;
  content: url(../images/common/icon_arrow-r.svg);
  transform: translateY(-50%);
}

.entry-card:not(.has-vertical).type-event::before, .entry-card:not(.has-vertical).type-magazine::before, .entry-card:not(.has-vertical).type-course::before {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 5;
  display: block;
  width: 24px;
  height: 24px;
  padding: 4px;
  content: "";
  background-color: #f9f9f9;
}

.entry-card:not(.has-vertical).type-event::before {
  content: url(../images/common/icon_event-g.svg);
}

.entry-card:not(.has-vertical).type-magazine::before {
  content: url(../images/common/icon_magazine-g.svg);
}

.entry-card:not(.has-vertical).type-course::before {
  content: url(../images/common/icon_course-g.svg);
}

.entry-card-notice {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 6;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-color: rgba(0, 0, 0, 0.2);
}

.entry-card-notice__icon {
  display: inline-block;
  padding: 0 1em;
  font-size: 18px;
  font-weight: 700;
  line-height: 2;
  text-align: center;
  pointer-events: none;
  background-color: #ccc;
  border-radius: 1em;
  box-shadow: 0 3px 2px rgba(0, 0, 0, 0.25);
  transform: translate3d(-6px, -6px, 0);
}

.entry-card-notice.isStop .entry-card-notice__icon {
  color: #222;
  background-color: #ffd200;
}

.entry-card-notice.isStay .entry-card-notice__icon {
  color: #fff;
  background-color: #005bab;
}

@media screen and (min-width: 600px) {
  .archive-flex .entry-card__wrap {
    grid-template: "entry-card-heead entry-card-heead" auto "entry-card-contents entry-card-contents" 1fr "entry-card-img entry-card-img" auto "entry-card-footer entry-card-footer" auto / 30% 1fr;
    gap: 4px 12px;
  }
  .entry-card-notice__icon {
    font-size: 20px;
  }
  .archive-flex .entry-card__wrap > .entry-card__heead {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .archive-flex .entry-card__wrap > .entry-card__img {
    -ms-grid-row: 5;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .archive-flex .entry-card__wrap > .entry-card__contents {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .archive-flex .entry-card__wrap > .entry-card__footer {
    -ms-grid-row: 7;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
}

@media screen and (min-width: 980px) {
  .archive-flex .entry-card__wrap {
    grid-template: "entry-card-img entry-card-heead" auto "entry-card-img entry-card-contents" 1fr "entry-card-footer entry-card-footer" auto / 30% 1fr;
    gap: 4px 12px;
  }
  .archive-flex .entry-card__wrap > .entry-card__heead {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
  .archive-flex .entry-card__wrap > .entry-card__img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .archive-flex .entry-card__wrap > .entry-card__contents {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
  .archive-flex .entry-card__wrap > .entry-card__footer {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
}

/* entry-ribbon
 ---------------------------------------- */
.entry-ribbon {
  position: relative;
  padding: 8px 4px;
}

.entry-ribbon > a {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  color: #000;
}

.entry-ribbon > a:hover, .entry-ribbon > a:focus, .entry-ribbon > a:active {
  color: #000;
  text-decoration: none;
}

.entry-ribbon > a::after {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 0;
  display: block;
  width: 16px;
  height: 16px;
  content: "";
  background-image: url(../images/common/icon_arrow-r.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
  opacity: 0;
  transition: all .15s ease-out;
  transform: translate(-100%, -50%);
}

.entry-ribbon > a:hover::after {
  opacity: 1;
  transform: translate(0, -50%);
}

.entry-ribbon__meta {
  display: flex;
  align-items: center;
  min-width: 160px;
  padding-right: 12px;
}

.entry-ribbon__date {
  font-size: 0.75em;
  line-height: 1;
}

.entry-ribbon__tags {
  display: flex;
  padding: 0;
  margin-left: 8px;
}

.entry-ribbon__tags > span {
  font-size: 0.625em;
  display: inline-block;
  min-width: 6em;
  padding: 4px 4px;
  margin: 0;
  line-height: 1;
  text-align: center;
  border: 1px solid #4c4b4b;
  border-radius: 3px;
}

.entry-ribbon__new {
  font-size: 0.75em;
  padding: 0 .5em;
  font-weight: 700;
  color: #d71718;
}

.entry-ribbon__date + .entry-ribbon__tags {
  margin-left: 8px;
}

.entry-ribbon__heead {
  display: block;
}

.entry-ribbon__title {
  width: 100%;
  padding: 0;
  margin: 0;
  font-size: 1rem;
  font-weight: 400;
}

/* entry-eyecatching
 ---------------------------------------- */
.entry-eyecatching {
  position: relative;
}

.entry-container .entry-eyecatching {
  margin: -1em -12px 36px;
}

.entry-eyecatching .btn-slider-container {
  position: absolute;
  right: 0;
  bottom: -22px;
  z-index: 10;
}

/* entry-catchcopy
 ---------------------------------------- */
.entry-catchcopy {
  font-size: 1em;
  padding: 0;
  margin: 0 auto;
  font-weight: 600;
  text-align: center;
}

/* entry-footer
 ---------------------------------------- */
.entry-footer {
  display: block;
  padding: 36px 0 0;
  margin: 0;
}

/* flexible-content
 ---------------------------------------- */
/* flexible-spot
 ---------------------------------------- */
.flexible-spot, .flexible-event {
  width: 100%;
  margin: 0 0 24px;
}

.flexible-spot.has-list, .has-list.flexible-event {
  display: flex;
  flex-wrap: wrap;
}

.flexible-spot.has-list .entry-card, .has-list.flexible-event .entry-card {
  width: calc((100% - 12px) / 2);
}

.flexible-spot.has-list .entry-card:nth-child(2n), .has-list.flexible-event .entry-card:nth-child(2n) {
  margin-right: 0;
}

.flexible-spot.has-single, .has-single.flexible-event {
  display: block;
}

@media screen and (min-width: 980px) {
  .flexible-spot.has-list .entry-card, .has-list.flexible-event .entry-card {
    width: calc((100% - 24px) / 3);
    margin: 0 12px 12px 0;
  }
  .flexible-spot.has-list .entry-card:nth-child(2n), .has-list.flexible-event .entry-card:nth-child(2n) {
    margin-right: 12px;
  }
  .flexible-spot.has-list .entry-card:nth-child(3n), .has-list.flexible-event .entry-card:nth-child(3n) {
    margin-right: 0;
  }
}

/* flexible-event
 ---------------------------------------- */
/* flexible-dls
 ---------------------------------------- */
.flexible-dls {
  width: 100%;
  margin: 0 0 24px;
}

.flexible-dls .dls-list {
  margin: 0;
}

/* dls-list
 ---------------------------------------- */
.dls-list {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding: 0;
  margin: 0 0 24px;
}

.dls-list__item {
  display: block;
  width: calc((100% - 12px) / 2);
  padding: 0;
  margin: 0 3px 6px;
  background-color: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
  transition: box-shadow .25s ease-out;
}

.dls-list__item:hover {
  box-shadow: 0 3px 4px rgba(0, 0, 0, 0.5);
}

.dls-list__item > a {
  color: #000;
}

.dls-list__item > a:hover, .dls-list__item > a:focus, .dls-list__item > a:active {
  color: #000;
  text-decoration: none;
}

.dls-list__item .item-title {
  font-size: 1em;
  padding: 8px;
  margin: 0;
  font-weight: 600;
}

@media screen and (min-width: 980px) {
  .dls-list__item {
    width: calc((100% - 24px) / 3);
    margin: 0 12px 12px 0;
  }
  .dls-list__item:nth-child(2n) {
    margin-right: 12px;
  }
  .dls-list__item:nth-child(3n) {
    margin-right: 0;
  }
}

/* flexible-phototext
 ---------------------------------------- */
.flexible-phototext {
  display: grid;
  grid-template: "phototext-title" auto "phototext-img" auto "phototext-contents" auto / 100%;
  grid-gap: 6px 12px;
  width: 100%;
  margin: 0 0 24px;
}

.flexible-phototext__title {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  font-size: 1em;
  grid-area: phototext-title;
  padding: 0;
  margin: 0;
  font-weight: 600;
}

.flexible-phototext__img {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: phototext-img;
}

.flexible-phototext__img .img-bg {
  width: 100%;
}

.flexible-phototext__figcaption {
  font-size: 0.75em;
}

.flexible-phototext__contents {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
  grid-area: phototext-contents;
}

.flexible-phototext__contents > p {
  font-size: 0.875em;
  padding: 0;
  margin: 0;
}

.flexible-phototext__contents > p a {
  word-break: break-all;
}

@media screen and (min-width: 980px) {
  .flexible-phototext.is-left {
    grid-template: "phototext-img phototext-title" auto "phototext-img phototext-contents" 1fr / 1fr 1fr;
  }
  .flexible-phototext.is-right {
    grid-template: "phototext-title phototext-img" auto "phototext-contents phototext-img" 1fr / 1fr 1fr;
  }
  .flexible-phototext.is-left > .flexible-phototext__title {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .flexible-phototext.is-right > .flexible-phototext__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .flexible-phototext.is-left > .flexible-phototext__img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .flexible-phototext.is-right > .flexible-phototext__img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 3;
  }
  .flexible-phototext.is-left > .flexible-phototext__contents {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  .flexible-phototext.is-right > .flexible-phototext__contents {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
}

/* event-holding-icon
 ---------------------------------------- */
.event-holding-icon {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 6px;
  text-align: left;
}

.event-holding-icon > span {
  font-size: 0.75em;
  display: block;
  min-width: 6em;
  padding: 0 2px;
  margin: 0;
  font-weight: 600;
  line-height: 2;
  text-align: center;
  background-color: #bcbcbc;
}

.event-holding-icon.is-on > span {
  color: #fff;
  background-color: #ff8a5c;
}

.event-holding-icon.is-stay > span {
  color: #fff;
  background-color: #005bab;
}

.event-holding-icon.is-stop > span {
  color: #222;
  background-color: #ffd200;
}

.meta-area .event-holding-icon {
  margin-right: 8px;
}

.meta-area .event-holding-icon > span {
  width: auto;
  padding: 0 12px;
}

/* tabel-event
 ---------------------------------------- */
/* coupons-container
 ---------------------------------------- */
.coupons-container {
  margin: 0 0 24px;
  background-color: #f9f9f9;
}

/* coupons-title
 ---------------------------------------- */
.coupons-title {
  font-size: 1em;
  padding: 8px;
  line-height: 1;
  color: #fff;
  text-align: center;
  background-color: #ff8a5c;
}

/* coupons-list
 ---------------------------------------- */
.coupons-list {
  padding: 0;
  margin: 0 8px;
  list-style: none;
}

.coupons-list__item {
  display: block;
  padding: 0;
  margin: 0 0 0 0;
}

.coupons-list__item:not(:last-of-type) {
  border-bottom: 1px dashed #ccc;
}

/* coupon-card
 ---------------------------------------- */
.coupon-card {
  padding: 8px;
}

.coupon-title {
  font-size: 0.875em;
  display: inline-block;
  padding: 4px 12px;
  margin: 0 auto 4px 0;
  line-height: 1;
  color: #fff;
  background-color: #ff8a5c;
  border-radius: 11px;
}

.coupon-contents {
  font-size: 0.875em;
  line-height: 1.75;
}

.coupon-text {
  padding: 0;
  margin: 0;
}

.coupon-price {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin: 12px 0 0;
}

.coupon-price__base {
  font-size: 1.5em;
  display: block;
  line-height: 1;
  text-decoration: line-through;
}

.coupon-price__result {
  font-size: 2em;
  display: block;
  font-weight: 600;
  line-height: 1;
}

.coupon-price__base + .coupon-price__result {
  margin-left: 1em;
}

.coupon-note {
  font-size: 0.875em;
  padding: 0;
  margin: 12px 0 0;
}

/* tabel-spot
 ---------------------------------------- */
.tabel-spot .text-label, .tabel-event .text-label {
  font-size: 0.75em;
}

/* archive-container
 ---------------------------------------- */
/* archive-flex
 ---------------------------------------- */
.archive-flex > .entry-card {
  width: 100%;
  margin: 0 0 1rem;
}

@media screen and (min-width: 600px) {
  .archive-flex {
    display: flex;
    flex-wrap: wrap;
  }
  .archive-flex > .entry-card {
    width: calc(50% - 12px);
    margin-bottom: 24px;
  }
  .archive-flex > .entry-card:nth-child(2n) {
    margin-left: 24px;
  }
}

/* archive-list
 ---------------------------------------- */
.archive-list {
  padding: 1em;
  margin: 0 0 2rem;
  list-style: none;
  background-color: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.215);
}

.archive-list__item {
  padding: 0;
  margin: 0;
}

.archive-list__item:not(:last-child) {
  border-bottom: 1px solid #ccc;
}

/* pagination
 ---------------------------------------- */
.pagination {
  display: block;
  margin: 1rem auto;
}

.pagination .nav-links {
  display: flex;
  justify-content: center;
  margin: 0 auto;
}

.pagination .nav-links > .page-numbers {
  display: block;
  padding: 1em;
  border: 1px solid #eee;
  color: #000;
  line-height: 1;
  text-decoration: none;
}

.pagination .nav-links > .page-numbers:not(:last-child) {
  border-right-style: none;
}

.pagination .nav-links > .page-numbers:hover {
  background-color: #efefef;
}

.pagination .nav-links > .page-numbers.current {
  background-color: #d71718;
  color: #fff;
}

/* pr-banner-list
 ---------------------------------------- */
.pr-banner-list {
  display: block;
  padding: 0;
  list-style: none;
}

.pr-banner-item {
  margin: 0 auto 24px;
  background-color: #fff;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
}

.pr-banner-item > a > img {
  max-width: 100%;
  margin: 0 auto;
}

@media screen and (min-width: 600px) {
  .pr-banner-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .pr-banner-list .pr-banner-item {
    width: calc((100% - 32px) / 2);
    margin: 0 32px 32px 0;
  }
  .pr-banner-list .pr-banner-item:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (min-width: 980px) {
  .pr-banner-list {
    justify-content: center;
  }
  .pr-banner-list .pr-banner-item {
    width: calc((100% - 64px) / 3);
    max-width: 320px;
    margin: 0 32px 32px 0;
  }
  .pr-banner-list .pr-banner-item:nth-child(2n) {
    margin-right: 32px;
  }
  .pr-banner-list .pr-banner-item:nth-child(3n) {
    margin-right: 0;
  }
}

/* pr-link-list
 ---------------------------------------- */
.pr-link-list {
  display: block;
  padding: 0;
  margin: 0;
  list-style: none;
}

.pr-link-item {
  min-height: 64px;
  padding: 0;
  margin: 0 0 8px 0;
  background-color: #fff;
}

.pr-link-item:last-child {
  margin-bottom: 0;
}

.pr-link-item > a {
  font-size: 0.875em;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: .5rem;
  color: #000;
}

.pr-link-item > a:hover, .pr-link-item > a:focus, .pr-link-item > a:active {
  color: #000;
  text-decoration: none;
}

.pr-link-item > a > .pr-link-item__icon {
  width: 24%;
  margin-right: .5em;
}

.pr-link-item > a > .pr-link-item__icon > img {
  max-width: 100%;
  margin: 0 auto;
}

.pr-link-item > a > .pr-link-item__text {
  width: 76%;
}

.pr-link-item > a > .pr-link-item__text > p {
  padding: 0;
  margin: 0;
}

@media screen and (min-width: 600px) {
  .pr-link-list.is-flex {
    display: flex;
    flex-wrap: wrap;
  }
  .pr-link-list.is-flex > .pr-link-item {
    width: calc((100% - 8px) / 2);
    margin: 0 8px 8px 0;
    margin-bottom: 8px;
  }
  .pr-link-list.is-flex > .pr-link-item:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (min-width: 980px) {
  .pr-link-list.is-flex > .pr-link-item {
    width: calc((100% - 16px) / 3);
    margin: 0 8px 8px 0;
    margin-bottom: 8px;
  }
  .pr-link-list.is-flex > .pr-link-item:nth-child(2n) {
    margin-right: 8px;
  }
  .pr-link-list.is-flex > .pr-link-item:nth-child(3n) {
    margin-right: 0;
  }
}

/* pr-ads
 ---------------------------------------- */
.pr-ad__list {
  display: block;
  padding: 0;
  margin: 0 auto;
  list-style: none;
}

.pr-ad__item {
  display: block;
  margin: 0 auto 24px;
}

@media screen and (min-width: 600px) {
  .pr-ad__list {
    display: flex;
    flex-wrap: wrap;
  }
  .pr-ad__item {
    display: block;
    width: calc((100% - 32px) / 2);
    margin: 0 32px 32px 0;
  }
  .pr-ad__item:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (min-width: 980px) {
  .pr-ad__item {
    display: block;
    width: calc((100% - 64px) / 3);
    margin: 0 32px 32px 0;
  }
  .pr-ad__item:nth-child(2n) {
    margin-right: 32px;
  }
  .pr-ad__item:nth-child(3n) {
    margin-right: 0;
  }
}

/* input-wrap
 ---------------------------------------- */
.input-wrap {
  margin: 0 0 6px;
}

.input-wrap.is-time, .input-wrap.is-keyword, .input-wrap.is-word, .input-wrap.is-area {
  display: flex;
  align-items: center;
}

.input-wrap.is-time::before, .input-wrap.is-keyword::before, .input-wrap.is-word::before, .input-wrap.is-area::before {
  display: block;
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
  padding: 0;
  margin: 0 12px 0 0;
  line-height: 1;
}

.input-wrap.is-time::before {
  content: url(../images/common/icon_search-time.svg);
}

.input-wrap.is-keyword::before {
  content: url(../images/common/icon_search-keyword.svg);
}

.input-wrap.is-word::before {
  content: url(../images/common/icon_search-word.svg);
}

.input-wrap.is-area::before {
  content: url(../images/common/icon_search-area.svg);
}

.input-item {
  flex: 1 1 0;
  width: 100%;
}

.input-item > input,
.input-item > select,
.input-item > .select2 {
  width: 100% !important;
  min-height: 44px;
  font-size: 16px;
}

.input-item .select2-container--default .select2-selection--single,
.input-item .select2-container--default
.select2-selection--single
.select2-selection__rendered {
  min-height: 44px;
  line-height: 44px;
}

.input-item .select2-container--default
.select2-selection--single
.select2-selection__arrow {
  top: 8px;
}

.input-item > input[type="text"] {
  min-height: 44px;
  padding: 4px;
  cursor: text;
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 4px;
}

.input-item > input[type="text"]:focus {
  border: 1px solid #000;
  outline: none;
}

/* search-container
 ---------------------------------------- */
.search-container {
  display: flex;
  width: 100%;
}

.search-container > input[type="text"] {
  width: 100%;
  min-width: 240px;
  min-height: 44px;
  padding: 4px;
  font-size: 16px;
  cursor: text;
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 4px 0 0 4px;
}

.search-container > input[type="text"]:focus {
  border: 1px solid #000;
  outline: none;
}

.search-container .icon-btn {
  border-radius: 0 4px 4px 0;
}

/* search-area
 ---------------------------------------- */
.search-area {
  margin: 0 0 36px;
  background-color: #fff;
  border: 2px solid #005bab;
}

.search-area__inner {
  padding: 12px;
}

.search-area__row {
  display: block;
  padding: 12px 6px;
}

.search-area__row:not(:first-child) {
  border-top: 1px dashed #ccc;
}

.search-area__row .input-wrap {
  width: 100%;
  margin: 0 0 6px;
}

.search-area__row .checkbox-container {
  width: 100%;
}

.search-area__buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 6px;
  font-size: 14px;
  background-color: #005bab;
}

.search-area__btn {
  display: inline-block;
  padding: .5em 2em;
  margin: 0;
  margin: 0 6px;
  overflow: hidden;
  font-size: 1.1428571429em;
  font-weight: 600;
  line-height: 1;
  color: #005bab;
  text-align: center;
  text-decoration: none;
  background-color: #fff;
}

.search-area__btn:visited, .search-area__btn:hover, .search-area__btn:focus, .search-area__btn:active {
  color: #005bab;
  text-decoration: none;
  background-color: #fff;
}

.search-area__btn:hover {
  background-color: #efefef;
}

.search-area__btn.has-search-icon {
  position: relative;
}

.search-area__btn.has-search-icon::after {
  position: absolute;
  top: 50%;
  right: 4px;
  display: block;
  width: 1.25em;
  height: auto;
  content: url(../images/common/icon_search-b.svg);
  transform: translateY(-50%);
}

@media screen and (min-width: 980px) {
  .search-area__row {
    display: flex;
  }
  .search-area__row .input-wrap {
    width: calc((100% - 36px) / 3);
    margin: 0 6px;
  }
}

/* search-label
 ---------------------------------------- */
.search-label {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0 0 6px;
  font-size: 15px;
  line-height: 1;
  color: #005bab;
}

.search-label::before {
  display: block;
  width: 14px;
  min-width: 14px;
  height: 14px;
  min-height: 14px;
  padding: 0;
  margin: 0 6px 0 0;
  line-height: 1;
}

.search-label.is-time::before {
  content: url(../images/common/icon_search-time-b.svg);
}

.search-label.is-keyword::before {
  content: url(../images/common/icon_search-keyword-b.svg);
}

.search-label.is-word::before {
  content: url(../images/common/icon_search-word-b.svg);
}

.search-label.is-area::before {
  content: url(../images/common/icon_search-area-b.svg);
}

/* input-checkbox
 ---------------------------------------- */
.input-checkbox {
  display: flex;
  align-items: center;
  margin: 0;
}

.input-checkbox input[type="checkbox"] {
  margin: 0 6px 0 0;
}

.input-checkbox label {
  padding: 0;
  margin: 0;
}

/* checkbox-container
 ---------------------------------------- */
.checkbox-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.checkbox-container .input-checkbox {
  margin: 0 12px 6px 0;
}

.checkbox-container .input-checkbox:last-child {
  margin-right: 0;
}

/* form-label
 ---------------------------------------- */
.form-label {
  font-size: 0.875em;
  padding: 0;
  margin: 0;
  font-weight: 400;
}

/* btn-photo-download
 ---------------------------------------- */
.btn-photo-download {
  position: fixed;
  top: 15px;
  right: calc(38px + 30px);
  bottom: auto;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  line-height: 1;
  cursor: pointer;
  background-color: transparent;
  border: 1px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  outline: none;
  box-shadow: 0 0 0 #fff;
  opacity: 1;
  transition: box-shadow, opacity, .25s ease-in-out;
}

.btn-photo-download::after {
  position: absolute;
  bottom: -16px;
  left: 50%;
  display: block;
  font-size: 12px;
  color: #fff;
  content: "Download";
  transform: translateX(-50%);
}

.btn-photo-download:hover {
  box-shadow: 0 0 15px #fff;
  opacity: 1;
}

.btn-photo-download.is-onFinish {
  opacity: 1;
}

.btn-photo-download > .photo-download__icon {
  display: block;
  width: 38px;
  height: 38px;
  background-image: url(../images/common/icon_download.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  opacity: .6;
}

/* download-thumbnail
 ---------------------------------------- */
.download-thumbnail {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  margin: 0 auto 36px;
}

.download-thumbnail > img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  pointer-events: none;
  cursor: none;
}

/* search-dictionary
 ---------------------------------------- */
.search-dictionary .dictionary-table {
  font-size: 0.75rem;
  margin: 16px 0 16px;
}

.search-dictionary__alert {
  font-size: 1rem;
  padding: 16px;
  margin: 16px 0 16px;
}

.search-dictionary__alert.is-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faf2cc;
}

/* dictionary-table
 ---------------------------------------- */
.dictionary-table {
  font-size: 0.875rem;
}

.dictionary-table th {
  white-space: nowrap;
  background-color: #f9f9f9;
}

.dictionary-table th,
.dictionary-table td {
  padding: .75em .5em;
  border-bottom: 1px solid #ccc;
}

/* ------------------------------------------------------------------
 ## Project
 ----------------------------------------------------------------- */
/* ### header
 ------------------------------------------------------- */
/* site-header
 ---------------------------------------- */
.site-header {
  background-color: #fff;
}

.site-header > hr {
  width: 100%;
  height: 2px;
  margin: 0;
  background-color: #d71718;
}

.site-header .btn-menutoggle {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
}

@media screen and (min-width: 980px) {
  .site-header .btn-menutoggle {
    display: none;
  }
}

/* header-contents
 ---------------------------------------- */
.header-contents {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* header-sub-menu
 ---------------------------------------- */
.header-sub-menu {
  font-size: 0.875em;
}

.header-sub-menu a {
  color: #000;
}

/* ### footer
 ------------------------------------------------------- */
/* site-footer
 ---------------------------------------- */
/* site-info
 ---------------------------------------- */
.site-info {
  padding: 0;
  text-align: center;
}

.site-info .site-info__heading {
  font-size: 0.875rem;
  display: block;
  padding: 4px;
  margin: 0 0 8px;
  font-weight: 600;
  text-align: center;
  background-color: #ffd369;
}

.site-info .site-info__data {
  font-size: 0.875rem;
  padding: 0;
  margin: 0;
}

.site-info__flex {
  margin: 2rem auto;
}

.site-info__col {
  margin: 0 auto 2rem;
}

@media screen and (min-width: 980px) {
  .site-info {
    text-align: left;
  }
  .site-info .site-info__name,
.site-info .site-info__data {
    margin: 0 8px;
  }
  .site-info__flex {
    display: flex;
    margin: 3rem auto;
  }
  .site-info__col {
    width: calc(50% - 64px);
    margin: 0 32px;
  }
}

/* footer-contents
 ---------------------------------------- */
.footer-contents {
  padding: 1rem 0;
}

.footer-contents p {
  padding: 0;
  margin: 0;
}

.footer-contents-name {
  font-size: 0.875em;
  color: #005bab;
}

.footer-contents-name > p {
  padding: 0;
  margin: 0;
}

.footer-contents-name > a {
  padding: 0;
  margin: 0;
  color: #005bab;
}

.footer-contents-name > a:hover, .footer-contents-name > a:focus, .footer-contents-name > a:active {
  color: #005bab;
}

.footer-contents-sns {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.footer-contents-sns .sns-iconbtn {
  margin-left: 6px;
}

@media screen and (min-width: 980px) {
  .footer-contents {
    display: flex;
    align-items: center;
  }
  .footer-contents__col {
    flex: 1 1 0;
  }
  .footer-contents-info {
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  .footer-contents-name {
    margin-left: 24px;
  }
  .footer-contents-sns {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
}

/* site-copyright
 ---------------------------------------- */
.site-copyright {
  font-size: 0.75rem;
  text-align: center;
}

/* .footer-meun
 ---------------------------------------- */
.footer-meun {
  margin: 0 auto;
}

.footer-meun .menu {
  display: none;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.footer-meun .menu-item {
  padding: 0;
}

.footer-meun .menu-item:not(:first-child) {
  border-left: 1px solid #ccc;
}

.footer-meun .menu-item > a {
  font-size: 0.875rem;
  display: block;
  position: relative;
  padding: 2px 1em;
  line-height: 1;
}

@media screen and (min-width: 980px) {
  .footer-meun .menu {
    display: flex;
  }
}

/* ### menu
 ------------------------------------------------------- */
/* main-navigation
 ---------------------------------------- */
.main-navigation {
  width: 100%;
  max-width: 100%;
  height: 3rem;
  margin: 0 auto;
  overflow: hidden;
}

.main-navigation .slide-menu-container {
  height: 5rem;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.main-navigation .menu {
  position: relative;
  display: flex;
  justify-content: flex-start;
  max-width: 100%;
  padding: 0;
  margin: 0 0 0 auto;
  list-style: none;
}

.main-navigation .menu-item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 3rem;
  margin: 0 0 0 0;
}

.main-navigation .menu-item > a {
  position: relative;
  display: flex;
  align-items: center;
  height: auto;
  padding: 0 .5rem;
  font-size: 14px;
  line-height: 3rem;
  color: #000;
  text-decoration: none;
  white-space: nowrap;
}

.main-navigation .menu-item > a:hover, .main-navigation .menu-item > a:focus, .main-navigation .menu-item > a:active {
  color: #000;
}

.main-navigation .menu-item > a::before {
  display: block;
  width: 1.5em;
  height: 1.5em;
  margin-right: .5em;
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto 100%;
}

.main-navigation .menu-item.is-event > a::before {
  background-image: url(../images/common/icon_event.svg);
}

.main-navigation .menu-item.is-sightseeing > a::before {
  background-image: url(../images/common/icon_sightseeing.svg);
}

.main-navigation .menu-item.is-magazine > a::before {
  background-image: url(../images/common/icon_magazine.svg);
}

.main-navigation .menu-item.is-gallery > a::before, .main-navigation .menu-item.is-photos > a::before {
  background-image: url(../images/common/icon_gallery.svg);
}

.main-navigation .menu-item.is-course > a::before {
  background-image: url(../images/common/icon_course.svg);
}

.main-navigation .menu-item.is-access > a::before, .main-navigation .menu-item.is-access-sightseeing > a::before {
  background-image: url(../images/common/icon_access.svg);
}

.main-navigation .menu-item.is-spot > a::before {
  background-image: url(../images/common/icon_spot.svg);
}

.main-navigation .menu-item.is-guide > a::before {
  background-image: url(../images/common/icon_guide.svg);
}

@media screen and (min-width: 980px) {
  .main-navigation {
    max-width: 980px;
  }
  .main-navigation .menu {
    justify-content: center;
  }
}

/* sp-navigation
 ---------------------------------------- */
.sp-navigation .sp-meun {
  transform: translate(100%, 0);
  transition: all 0.2s ease-in-out;
  display: flex;
  position: fixed;
  z-index: 1000;
  top: 0;
  right: 0;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
  height: 100vh;
  margin: 0 0 0 auto;
  padding: 0 2rem 0;
  background-color: #d71718;
}

.sp-navigation .sp-meun .bogo-language-switcher {
  display: block;
  width: 100%;
  margin: 1rem auto 0;
  padding: 2rem 1rem 1rem;
  border-top: 1px dashed #ccc;
  list-style: none;
}

.sp-navigation .sp-meun .bogo-language-switcher > li {
  transition: all 0.2s ease;
  font-size: 1.125rem;
  display: block;
  width: 100%;
  margin: 0 auto 1rem;
  border-radius: 5px;
  color: #fff;
  font-weight: normal;
  line-height: 32px;
  text-align: center;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.sp-navigation .sp-meun .bogo-language-switcher > li:hover {
  background-color: rgba(255, 255, 255, 0.7);
  color: #d71718;
  font-weight: 600;
}

.sp-navigation .sp-meun .bogo-language-switcher > li > a {
  color: #fff;
  text-decoration: none;
}

.sp-navigation .sp-meun .bogo-language-switcher > li > a:hover, .sp-navigation .sp-meun .bogo-language-switcher > li > a:focus {
  text-decoration: none;
}

.sp-navigation .sp-meun .bogo-language-switcher > li.current {
  background-color: #fff;
  color: #d71718;
  font-weight: 600;
}

.sp-navigation .menu {
  display: block;
  width: 100%;
  margin: 0;
  padding: 1rem;
  list-style: none;
}

.sp-navigation .menu-item {
  margin: 0 auto 1rem;
  text-align: center;
}

.sp-navigation .menu-item > a {
  transition: all 0.2s ease;
  font-size: 1.125rem;
  display: block;
  width: 100%;
  border-radius: 5px;
  color: #fff;
  font-weight: normal;
  line-height: 32px;
  text-decoration: none;
}

.sp-navigation .menu-item > a:active {
  color: #fff;
}

.sp-navigation .menu-item > a:hover, .sp-navigation .menu-item > a:focus {
  background-color: rgba(255, 255, 255, 0.7);
  color: #d71718;
  font-weight: 600;
}

.sp-navigation .menu-item.current-menu-item > a {
  background-color: rgba(255, 255, 255, 0.7);
  color: #d71718;
  font-weight: 600;
}

.sp-navigation .btn-menutoggle {
  display: block;
  position: fixed;
  z-index: 1001;
  top: 0;
  right: 0;
}

@media screen and (min-width: 600px) {
  .sp-navigation .sp-meun {
    width: 45%;
  }
}

@media screen and (min-width: 980px) {
  .sp-navigation {
    display: none;
  }
  .sp-navigation .btn-menutoggle {
    display: none;
  }
}

.has-menuOpen .sp-navigation .sp-meun {
  transform: translate(0, 0);
}

/* footer-navigation
 ---------------------------------------- */
.footer-navigation {
  display: block;
  padding: 0;
  margin: 12px auto 0;
}

.footer-navigation .menu {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
}

.footer-navigation .menu-item {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  border: 1px solid #4f390e;
}

.footer-navigation .menu-item > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  padding: 1em;
  color: #000;
  text-align: center;
  text-decoration: none;
}

.footer-navigation .menu-item > a::after {
  display: block;
  width: .75em;
  height: auto;
  content: url(../images/common/icon_arrow-r-b.svg);
  opacity: 1;
  transform: translateX(0);
}

.footer-navigation .menu-item > a:hover::after {
  animation: arrow-in .25s both ease-out;
}

.footer-navigation .menu-item:not(:last-child) {
  border-bottom-style: none;
}

@keyframes arrow-in {
  0% {
    opacity: 0;
    transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@media screen and (min-width: 980px) {
  .footer-navigation .menu {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #4f390e;
    border-left: 1px solid #4f390e;
  }
  .footer-navigation .menu .menu-item {
    width: 25%;
    border-top-style: none;
    border-left-style: none;
  }
  .footer-navigation .menu .menu-item:not(:last-child) {
    border-bottom-style: solid;
  }
  .footer-navigation .menu .menu-item:nth-child(4n) {
    border-right-style: solid;
  }
  .footer-navigation .menu .menu-item:nth-last-child(1), .footer-navigation .menu .menu-item:nth-last-child(2), .footer-navigation .menu .menu-item:nth-last-child(3), .footer-navigation .menu .menu-item:nth-last-child(4) {
    border-bottom-style: solid;
  }
}

/* support-navigation
 ---------------------------------------- */
.support-navigation {
  display: flex;
  align-items: center;
  padding: 8px 0;
}

.support-navigation .menu {
  display: none;
  width: 100%;
  padding: 0 0 0 12px;
  margin: 0;
  list-style: none;
  border-left: 1px solid #ccc;
}

.support-navigation .menu-item {
  position: relative;
  display: inline-block;
  width: auto;
  padding: 0;
  margin: 0;
  border-style: none;
}

.support-navigation .menu-item > a {
  font-size: 0.875rem;
  position: relative;
  display: block;
  padding: 0 1em 0 1.25em;
  line-height: 2;
}

.support-navigation .menu-item > a::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: .75em;
  height: 2px;
  content: "";
  background-color: #d71718;
}

.support-nav-head {
  padding: 0 24px;
  margin: 0 0 0 0;
  text-align: center;
}

.support-nav-title {
  display: block;
  padding: 0;
  margin: 0;
  line-height: 1;
}

.support-nav-title > button {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

.support-nav-title .icon-arrow {
  display: block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
}

.support-nav-title .icon-arrow::after {
  display: block;
  width: 0;
  height: 0;
  content: "";
  border: 8px solid transparent;
  border-top: 8px solid #d71718;
  transform: translateY(4px);
}

.support-navigation__container {
  background-color: #fcf9ea;
}

.support-navigation__innre {
  max-width: 980px;
  padding: 0;
  margin: 0 auto;
}

.js-support-navigation.is-open .menu {
  display: block;
}

.js-support-navigation.is-open .support-nav-title .icon-arrow {
  transform: rotate(180deg);
}

/* contents-menu
 ---------------------------------------- */
.contents-menu {
  display: flex;
  flex-wrap: wrap;
  padding: 24px 0;
  margin: 0 auto;
  list-style: none;
}

.contents-menu__item {
  padding: 2px 12px;
  margin: 0 0 6px;
  line-height: 1;
}

.contents-menu__item:not(:last-child) {
  border-right: 1px solid #000;
}

@media screen and (min-width: 980px) {
  .contents-menu {
    justify-content: center;
  }
}

/* drawer-menu
 ---------------------------------------- */
.drawer-menu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  overflow: hidden;
  background-color: #fff;
  transition: transform 0.3s ease-in-out;
  transform: translateX(-101%);
}

.drawer-menu.is-right {
  transform: translateX(101%);
}

.drawer-menu.is-open {
  transform: translateX(0);
}

.drawer-menu__header {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0 12px;
  margin: 0;
  background-color: #d71718;
}

.drawer-menu__header .btn-drawerclose {
  width: 32px;
}

.drawer-menu__title {
  display: block;
  flex-grow: 1;
  padding: 0 12px;
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 58px;
  color: #fff;
  text-align: center;
}

.drawer-menu__container {
  width: calc(100% + 16px);
  height: calc(100% - 82px);
  padding: 24px 32px 24px 16px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.drawer-menu__inner {
  width: 100%;
  max-width: 640px;
  margin: 0 auto 12px;
}

.drawer-menu .title-secondary, .drawer-menu .entry-content > h2, .drawer-menu .scroll-area__inner > h2, .drawer-menu .flexible-content > h2 {
  font-size: 16px;
  border-bottom-style: none;
}

/* drawer-menu-list
 ---------------------------------------- */
.drawer-menu-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.drawer-menu-list .menu-item,
.drawer-menu-list .lang-item {
  padding: 0;
  margin: 0 0 6px;
}

.drawer-menu-list .menu-item > a,
.drawer-menu-list .lang-item > a {
  display: block;
  padding: 4px 6px;
  color: #000;
}

.drawer-menu-list .menu-item > a:hover,
.drawer-menu-list .lang-item > a:hover {
  color: #000;
  text-decoration: none;
}

.drawer-menu-list .menu-item.menu-item-has-children > a,
.drawer-menu-list .lang-item.menu-item-has-children > a {
  position: relative;
  padding-right: 20px;
  font-weight: 600;
  border: 1px solid #ccc;
}

.drawer-menu-list .menu-item.menu-item-has-children > a::after,
.drawer-menu-list .lang-item.menu-item-has-children > a::after {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 16px;
  height: 16px;
  padding: 0;
  margin: 0;
  content: "";
  background-image: url(../images/common/icon_arrow-r.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  transform: rotate(-90deg) translate(-50%, -6px);
  transform-origin: 8px 8px;
}

.drawer-menu-list .menu-item.menu-item-has-children > a.is-open::after,
.drawer-menu-list .lang-item.menu-item-has-children > a.is-open::after {
  transform: rotate(90deg) translate(50%, 6px);
}

.drawer-menu-list .lang-item.current-lang {
  background-color: #ff8a5c;
}

.drawer-menu-list .lang-item.current-lang > a {
  color: #fff;
}

.drawer-menu-list .sub-menu {
  display: none;
  padding: 0;
  margin: 0;
  list-style: none;
}

.drawer-menu-list .sub-menu .menu-item:not(:last-child),
.drawer-menu-list .sub-menu .lang-item:not(:last-child) {
  border-bottom: 1px solid #ccc;
}

.drawer-menu-list .is-open + .sub-menu {
  display: block;
}

@media screen and (min-width: 980px) {
  .drawer-menu-list .menu-item > a,
.drawer-menu-list .lang-item > a {
    padding: 4px 12px;
  }
}

/* drawer-icons
 ---------------------------------------- */
.drawer-menu-icons {
  display: flex;
  padding: 6px;
  margin: 0;
  list-style: none;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

.drawer-menu-icons .menu-item {
  display: block;
  flex: 1 0 0;
}

.drawer-menu-icons .menu-item:not(:last-child) {
  border-right: 1px solid #ccc;
}

.drawer-menu-icons .menu-item > a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 6px;
  font-size: 12px;
  color: #000;
  text-align: center;
  text-decoration: none;
  word-break: break-all;
}

.drawer-menu-icons .menu-item > a:hover, .drawer-menu-icons .menu-item > a:focus, .drawer-menu-icons .menu-item > a:active {
  color: #000;
}

.drawer-menu-icons .menu-item > a::before {
  display: block;
  width: 38px;
  max-width: 38px;
  height: 38px;
  margin: 0 auto;
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto 100%;
}

.drawer-menu-icons .menu-item.is-home > a::before {
  background-image: url(../images/common/icon_home.svg);
}

.drawer-menu-icons .menu-item.is-wi-fi > a::before {
  background-image: url(../images/common/icon_wi-fi.svg);
}

.drawer-menu-icons .menu-item.is-inquiry > a::before {
  background-image: url(../images/common/icon_inquiry.svg);
}

.drawer-menu-icons .menu-item.is-member > a::before {
  background-image: url(../images/common/icon_member.svg);
}

.drawer-menu-icons .menu-item.is-event > a::before {
  background-image: url(../images/common/icon_event.svg);
}

.drawer-menu-icons .menu-item.is-sightseeing > a::before {
  background-image: url(../images/common/icon_sightseeing.svg);
}

.drawer-menu-icons .menu-item.is-magazine > a::before {
  background-image: url(../images/common/icon_magazine.svg);
}

.drawer-menu-icons .menu-item.is-gallery > a::before, .drawer-menu-icons .menu-item.is-photos > a::before {
  background-image: url(../images/common/icon_gallery.svg);
}

.drawer-menu-icons .menu-item.is-course > a::before {
  background-image: url(../images/common/icon_course.svg);
}

.drawer-menu-icons .menu-item.is-access > a::before, .drawer-menu-icons .menu-item.is-access-sightseeing > a::before {
  background-image: url(../images/common/icon_access.svg);
}

.drawer-menu-icons .menu-item.is-spot > a::before {
  background-image: url(../images/common/icon_spot.svg);
}

.drawer-menu-icons .menu-item.is-guide > a::before {
  background-image: url(../images/common/icon_guide.svg);
}

.drawer-menu-icons + .drawer-menu-icons {
  border-top-style: none;
}

/* drawer-tax-list
 ---------------------------------------- */
.drawer-tax-list {
  font-size: 0.875rem;
  display: block;
  padding: 12px;
  margin: 0;
  list-style: none;
  background-color: #f9f9f9;
}

.drawer-tax-list__tag {
  display: inline-block;
  display: inline-block;
  padding: 0;
  margin: 4px;
}

/* drawer-piratsuka
 ---------------------------------------- */
.drawer-piratsuka {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px;
  margin: 0;
}

.drawer-piratsuka p {
  font-size: 0.875em;
  padding: 0;
  margin: 0;
  line-height: 1.25;
}

.drawer-piratsuka .banner-piratsuka {
  max-width: 230px;
}

.drawer-piratsuka .banner-piratsuka > img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* top-navigation
 ---------------------------------------- */
.top-navigation {
  display: none;
  max-width: 980px;
  margin: 0 auto;
}

.top-navigation .menu {
  position: relative;
  display: flex;
  justify-content: center;
  max-width: 100%;
  padding: 0;
  margin: 0 0 0 auto;
  list-style: none;
}

.top-navigation .menu-item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 8px 0;
  margin: 0 8px 0;
}

.top-navigation .menu-item > a {
  position: relative;
  display: block;
  height: auto;
  padding: 8px 8px;
  font-size: 16px;
  line-height: 1;
  color: #000;
  text-decoration: none;
  white-space: nowrap;
}

.top-navigation .menu-item > a:hover, .top-navigation .menu-item > a:focus, .top-navigation .menu-item > a:active {
  color: #000;
}

.top-navigation .menu-item > a:hover {
  background-color: rgba(255, 138, 92, 0.1);
  border-radius: 5px;
}

.top-navigation .menu-item > a::before {
  display: block;
  width: 2em;
  height: 2em;
  margin: 0 auto 8px;
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto 100%;
}

.top-navigation .menu-item.is-event > a::before {
  background-image: url(../images/common/icon_event.svg);
}

.top-navigation .menu-item.is-sightseeing > a::before {
  background-image: url(../images/common/icon_sightseeing.svg);
}

.top-navigation .menu-item.is-magazine > a::before {
  background-image: url(../images/common/icon_magazine.svg);
}

.top-navigation .menu-item.is-gallery > a::before, .top-navigation .menu-item.is-photos > a::before {
  background-image: url(../images/common/icon_gallery.svg);
}

.top-navigation .menu-item.is-course > a::before {
  background-image: url(../images/common/icon_course.svg);
}

.top-navigation .menu-item.is-access > a::before, .top-navigation .menu-item.is-access-sightseeing > a::before {
  background-image: url(../images/common/icon_access.svg);
}

.top-navigation .menu-item.is-spot > a::before {
  background-image: url(../images/common/icon_spot.svg);
}

.top-navigation .menu-item.is-guide > a::before {
  background-image: url(../images/common/icon_guide.svg);
}

@media screen and (min-width: 980px) {
  .top-navigation {
    display: block;
  }
}

/* ### side
 ------------------------------------------------------- */
/* site-sidebar
 ---------------------------------------- */
.site-sidebar .side-pr {
  display: none;
}

@media screen and (min-width: 980px) {
  .site-sidebar .side-pr {
    display: block;
  }
}

/* title-aside
 ---------------------------------------- */
.title-aside {
  margin: 0 0 12px;
  font-size: 1em;
  font-weight: 600;
  border-bottom: 2px solid #d71718;
}

/* side-pr
 ---------------------------------------- */
.side-pr {
  padding: 1rem .5rem .5rem;
  background-color: #ffd369;
}

/* aside-entry-list
 ---------------------------------------- */
.aside-entry-list {
  padding: 0;
  margin: 0 0 36px;
  list-style: none;
}

.aside-entry-item {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0 0 8px 0;
}

.aside-entry-item .entry-card {
  font-size: 0.875em;
}

/* side-piratsuka
 ---------------------------------------- */
.side-piratsuka {
  padding: 12px;
  margin: 0 0 36px;
  background-color: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
}

.side-piratsuka__text {
  font-size: 0.875em;
  margin: 0 0 12px;
  text-align: center;
}

.side-piratsuka .link-btn {
  font-size: 0.875em;
}

/* course-search
 ---------------------------------------- */
.course-search {
  padding: 12px;
  margin: 0 0 36px;
  background-color: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
}

.course-search__title {
  font-size: 1.125em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  color: #d71718;
  text-align: center;
}

.course-search__title::before, .course-search__title::after {
  display: block;
  width: .555em;
  height: 1em;
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
}

.course-search__title::before {
  margin-right: .25em;
  background-image: url(../images/common/title-emphasis-l.svg);
}

.course-search__title::after {
  margin-left: .25em;
  background-image: url(../images/common/title-emphasis-r.svg);
}

/* ### page-top
 ------------------------------------------------------- */
/* front-hero
 ---------------------------------------- */
.front-hero {
  margin: 0 -16px;
}

@media screen and (min-width: 980px) {
  .front-hero {
    margin: 0;
  }
}

/* hero-container
 ---------------------------------------- */
.hero-container {
  position: relative;
}

.hero-container .hero-images {
  position: relative;
  z-index: 0;
}

.hero-container .front-search {
  position: absolute;
  top: 24px;
  right: 70px;
  z-index: 1;
  display: none;
}

@media screen and (min-width: 980px) {
  .hero-container .front-search {
    display: block;
  }
}

/* hero-images
 ---------------------------------------- */
.hero-images {
  background-color: #fff;
}

.hero-images .swiper-slide {
  max-height: 380px;
}

.hero-images .swiper-slide .hero-caption {
  position: absolute;
  bottom: 10px;
  left: 10px;
  z-index: 20;
  padding: 0;
  margin: 0;
  font-size: 14px;
  color: #fff;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  cursor: default;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.hero-images .hero-img {
  position: relative;
  display: block;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
  background-size: cover;
}

.hero-images .hero-img::before {
  display: block;
  padding-top: 56.25%;
  margin: 0;
  content: "";
}

.hero-images .swiper-button-prev,
.hero-images .swiper-button-next {
  --swiper-navigation-size: 18px;
  --btn-size: 32px;
  top: 0;
  z-index: 15;
  width: var(--btn-size);
  height: 100%;
  margin-top: 0;
  opacity: 0.4;
  transition: opacity 0.25s ease-in-out;
}

.hero-images .swiper-button-prev:hover,
.hero-images .swiper-button-next:hover {
  opacity: 0.9;
}

.hero-images .swiper-button-prev::after,
.hero-images .swiper-button-next::after {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--btn-size);
  height: var(--btn-size);
  color: #fff;
  background-color: #666;
  border-radius: 50%;
}

.hero-images .swiper-button-prev {
  left: 5px;
}

.hero-images .swiper-button-next {
  right: 5px;
}

.hero-images .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #d71718;
}

@media screen and (min-width: 980px) {
  .hero-images {
    max-height: 380px;
  }
  .hero-images .hero-img {
    max-height: 380px;
  }
  .hero-images .hero-img::before {
    max-height: 380px;
    padding-top: 43.75%;
  }
}

@media screen and (min-width: 1280px) {
  .hero-images .hero-images__inner {
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
  }
  .hero-images .hero-images__inner::before, .hero-images .hero-images__inner::after {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 10;
    display: block;
    width: 100px;
    content: "";
  }
  .hero-images .hero-images__inner::before {
    left: 0;
    background: linear-gradient(to left, rgba(255, 255, 255, 0), white);
  }
  .hero-images .hero-images__inner::after {
    right: 0;
    background: linear-gradient(to right, rgba(255, 255, 255, 0), white);
  }
  .hero-images .swiper-slide .hero-caption {
    left: 60px;
  }
  .hero-images .swiper-button-prev,
.hero-images .swiper-button-next {
    --swiper-navigation-size: 24px;
    --btn-size: 48px;
  }
}

/* front-menu
 ---------------------------------------- */
.front-menu {
  display: none;
  margin: 0;
  background-color: #fff;
}

@media screen and (min-width: 980px) {
  .front-menu {
    display: block;
  }
}

/* front-search
 ---------------------------------------- */
.front-search {
  display: block;
  padding: 12px;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 8px;
}

.front-search .title-emphasis {
  font-size: 1em;
  margin: 0 auto 6px;
}

.front-search__container {
  display: flex;
}

.front-search__container > form {
  max-width: 320px;
  margin: 0 6px 0 0;
}

/* sect-front
 ---------------------------------------- */
.sect-front {
  padding: 3rem 0;
  margin: 0;
}

.sect-front > .sect-front-inner {
  max-width: 980px;
  margin: 0 auto;
}

.sect-front:nth-child(2n + 1), .sect-front.has-bg-white {
  width: calc(100% + 32px);
  padding-right: 16px;
  padding-left: 16px;
  margin: 0 -16px;
  background-color: #fff;
}

.sect-front.has-border {
  border-top: 3px solid #ff8a5c;
  border-bottom: 3px solid #ff8a5c;
}

.sect-front.has-border-top {
  border-top: 3px solid #ff8a5c;
}

.sect-front.has-blank {
  padding: 12px 0;
}

@media screen and (min-width: 980px) {
  .sect-front:nth-child(2n + 1), .sect-front.has-bg-white {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
    margin: 0;
  }
}

/* sect-attention
 ---------------------------------------- */
.sect-attention {
  padding: 24px 0;
  margin: 0;
}

.sect-attention > .sect-attention-inner {
  max-width: 980px;
  margin: 0 auto;
}

.sect-attention.has-blank {
  padding: 12px 0;
}

/* sect-front-head
 ---------------------------------------- */
.sect-front-head {
  text-align: center;
}

/* front-info
 ---------------------------------------- */
.front-info {
  padding: 0;
  margin: 0 -16px;
}

/* front-info-container
 ---------------------------------------- */
.front-info-container {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}

.front-info-container .front-info-news {
  padding: 16px;
  background-color: #fff;
}

.front-info-container .front-info-event {
  padding: 12px 12px 24px;
  background-color: #d71718;
}

.front-info-container .front-info-piratsuka {
  padding: 12px;
  background-color: #ff8a5c;
}

.front-info-container .bg-news {
  display: none;
  background-color: #fff;
}

.front-info-container .bg-event {
  display: none;
  background-color: #d71718;
}

.front-info-container .bg-piratsuka {
  display: none;
  background-color: #ff8a5c;
}

@media screen and (min-width: 980px) {
  .front-info-container .front-info-container__inner {
    display: flex;
  }
  .front-info-container .front-info-container__col {
    width: 50%;
  }
  .front-info-container .front-info-news {
    height: 100%;
  }
  .front-info-container .front-info-event {
    height: calc(100% - 80px);
    margin-bottom: 6px;
  }
  .front-info-container .front-info-piratsuka {
    height: 74px;
  }
}

/* front-info-news
 ---------------------------------------- */
.front-info-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 24px;
}

.front-info-title {
  font-size: 1.875em;
  position: relative;
  font-weight: 600;
  color: #d71718;
}

.front-info-title::after {
  position: absolute;
  display: block;
  width: 2em;
  height: 3px;
  line-height: 1.5;
  content: "";
  background-color: #ff8a5c;
}

.front-info-link {
  font-size: 0.875em;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.front-info-link::after {
  display: block;
  width: 12px;
  height: 12px;
  content: "";
  background-image: url(../images/common/icon_arrow-r.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
}

/* front-news-list
 ---------------------------------------- */
.front-news-list {
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
}

.front-news-list .entry-ribbon__heead {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.front-news-list .entry-ribbon__title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.front-news-item {
  padding: 0;
  margin: 0;
}

.front-news-item:not(:last-child) {
  border-bottom: 1px solid #ccc;
}

@media screen and (min-width: 980px) {
  .front-news-list .entry-ribbon__title {
    font-size: 0.875em;
  }
}

/* event-nahanavi
 ---------------------------------------- */
.event-nahanavi__head {
  text-align: right;
}

.event-nahanavi__head > .archive-link {
  font-size: 0.875em;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  color: #fff;
}

.event-nahanavi__head > .archive-link::after {
  display: block;
  width: 12px;
  height: 12px;
  content: "";
  background-image: url(../images/common/icon_arrow-r-w.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
}

.event-nahanavi__body {
  padding: 0 0 12px;
}

.event-nahanavi .front-event-slider {
  position: relative;
}

.event-nahanavi .front-event-slider .swiper-slide {
  height: auto;
  padding: 8px;
}

.event-nahanavi .front-event-slider .swiper-slide .entry-card {
  height: 100%;
}

.event-nahanavi .front-event-slider .btn-slider-container {
  position: absolute;
  right: 0;
  bottom: -22px;
  z-index: 10;
}

/* event-piratsuka
 ---------------------------------------- */
.event-piratsuka {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0;
  margin: 0;
}

.event-piratsuka p {
  font-size: 0.8125em;
  padding: 0;
  margin: 0;
  line-height: 1.25;
  color: #fff;
}

.event-piratsuka .banner-piratsuka {
  max-width: 230px;
}

.event-piratsuka .banner-piratsuka > img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* charm-link-container
 ---------------------------------------- */
.charm-link-container {
  padding: 24px 16px;
  background-color: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.215);
}

/* charm-links
 ---------------------------------------- */
.charm-links {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
}

.charm-links__item {
  display: block;
  width: calc(25% - 16px);
  margin: 0 8px 12px;
}

.charm-links__item > a {
  display: block;
  color: #000;
}

.charm-links__item > a:hover {
  color: #000;
  text-decoration: none;
}

.charm-links__item > a::before {
  display: block;
  width: 100%;
  padding: 100% 0 0;
  margin: 0;
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  border-radius: 50%;
}

.charm-links__item .charm-link-name {
  font-size: 0.875em;
  padding: 12px 0 0;
  margin: 0;
  line-height: 1;
  text-align: center;
}

.charm-links__item.is-sightseeing > a::before {
  background-color: #e61673;
  background-image: url("../images/top/icon_charm-sightseeing.svg");
}

.charm-links__item.is-shopping > a::before {
  background-color: #8fc31f;
  background-image: url("../images/top/icon_charm-shopping.svg");
}

.charm-links__item.is-gourmet > a::before {
  background-color: #f39800;
  background-image: url("../images/top/icon_charm-gourmet.svg");
}

.charm-links__item.is-lodging > a::before {
  background-color: #a40b5d;
  background-image: url("../images/top/icon_charm-lodging.svg");
}

.charm-links__item.is-play-experience > a::before {
  background-color: #036eb8;
  background-image: url("../images/top/icon_charm-play-experience.svg");
}

.charm-links__item.is-traffic > a::before {
  background-color: #00913a;
  background-image: url("../images/top/icon_charm-traffic.svg");
}

.charm-links__item.is-window > a::before {
  background-color: #00a0e9;
  background-image: url("../images/top/icon_charm-window.svg");
}

@media screen and (min-width: 980px) {
  .charm-links {
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  .charm-links__item {
    flex: 1 1 0;
    margin: 0 8px;
  }
  .charm-links .charm-link-name {
    font-size: 1.125em;
  }
}

/* charm-post-container
 ---------------------------------------- */
.charm-post-container > .entry-card {
  margin: 0 0 12px 0;
}

@media screen and (min-width: 980px) {
  .charm-post-container {
    display: flex;
    flex-wrap: wrap;
  }
  .charm-post-container > .entry-card {
    width: calc(50% - 12px);
    margin: 0 24px 24px 0;
  }
  .charm-post-container > .entry-card:nth-child(2n) {
    margin-right: 0;
  }
}

.charm-link-container + .charm-post-container {
  margin-top: 36px;
}

/* front-course
 ---------------------------------------- */
.front-course {
  margin: 0 0 24px;
}

.front-course__col.has-photo {
  display: none;
}

.front-course__col.has-photo .swiper-container {
  height: 100%;
}

.front-course__col.has-photo .swiper-slide {
  height: 100%;
}

.front-course__item {
  margin: 0 0 12px;
}

.front-course__img {
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
  background-size: cover;
}

@media screen and (min-width: 980px) {
  .front-course {
    display: flex;
    justify-content: space-between;
  }
  .front-course__col {
    width: calc(50% - 12px);
  }
  .front-course__col.has-photo {
    display: block;
  }
  .front-course .front-course__container {
    width: 100%;
    height: 380px;
    overflow: hidden;
  }
  .front-course .front-course__scroll {
    width: calc(100% + 16px);
    height: 380px;
    padding: 0 24px 8px 8px;
    overflow-y: scroll;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
  }
  .front-course .front-course__scroll::-webkit-scrollbar {
    display: none;
  }
}

/* front-fb
 ---------------------------------------- */
.front-fb {
  width: 100%;
  margin: 0 16px;
}

.front-fb__item {
  min-height: 100px;
  margin: 0 0 24px;
}

.front-fb__item:last-child {
  margin-bottom: 0;
}

.front-fb__title {
  font-size: 0.875em;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0 0 12px 0;
  font-weight: 600;
}

.front-fb__title::before, .front-fb__title::after {
  display: block;
  width: .5em;
  height: 1px;
  margin: 0 6px;
  content: "";
  background-color: #000;
}

@media screen and (min-width: 980px) {
  .front-fb {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .front-fb__item {
    width: calc(50% - 12px);
    min-height: 200px;
    margin: 0 6px 24px;
  }
}

.front-ig {
  margin-top: 36px;
}

/* front-slider
 ---------------------------------------- */
.front-slider {
  position: relative;
  width: 100%;
  padding: 0;
  margin: 0 0 24px;
}

.front-slider .swiper-container {
  margin: 0 48px;
}

.front-slider .swiper-wrapper {
  align-items: stretch;
  height: initial;
}

.front-slider .swiper-wrapper .swiper-slide {
  height: auto;
  padding: 8px;
}

.front-slider .swiper-wrapper .swiper-slide .entry-card {
  height: 100%;
}

.btn-front-slider-prev,
.btn-front-slider-next {
  position: absolute;
  top: 50%;
  z-index: 10;
  display: block;
  width: 40px;
  height: 40px;
  background-color: #ffd369;
  border: 2px solid #fff;
  border-radius: 50%;
  transform: translateY(-50%);
}

.btn-front-slider-prev::before,
.btn-front-slider-next::before {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 80% auto;
}

.btn-front-slider-prev.swiper-button-disabled,
.btn-front-slider-next.swiper-button-disabled {
  opacity: 0.5;
}

.btn-front-slider-prev {
  left: 0;
}

.btn-front-slider-prev::before {
  background-image: url(../images/common/icon_arrow-l-w.svg);
}

.btn-front-slider-next {
  right: 0;
}

.btn-front-slider-next::before {
  background-image: url(../images/common/icon_arrow-r-w.svg);
}

/* ### page-course
 ------------------------------------------------------- */
/* course-container
 ---------------------------------------- */
.course-container {
  margin: 0 0 24px;
}

/* course-list
 ---------------------------------------- */
.course-list {
  position: relative;
  padding: 24px 0;
  margin: 0 12px 0 0;
  list-style: none;
  counter-reset: couse-count;
}

.course-list:not(.is-spot-only)::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 18px;
  display: block;
  width: 4px;
  height: 100%;
  content: "";
  background-color: #ff8a5c;
}

.course-list__item {
  position: relative;
  z-index: 1;
  display: flex;
  padding: 0;
  margin: 0 0 8px 0;
}

.course-list__item:last-child {
  margin-bottom: 0;
}

.course-list__item.is-spot {
  align-items: flex-start;
  counter-increment: couse-count;
}

.course-list__item.is-spot::before {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  min-width: 42px;
  height: 42px;
  margin: 0 12px 0 0;
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  content: counter(couse-count);
  background-color: #ff8a5c;
  border-radius: 50%;
}

.course-list__item.is-spot .course-spot-card {
  width: calc(100% - 54px);
}

.course-list__item.is-moving {
  align-items: center;
}

.course-list__item.is-moving::before {
  display: block;
  width: 36px;
  min-width: 36px;
  height: 36px;
  margin: 0 12px 0 3px;
}

.course-list__item.is-moving.icon-car::before {
  content: url(../images/couse/icon_car.svg);
}

.course-list__item.is-moving.icon-train::before {
  content: url(../images/couse/icon_train.svg);
}

.course-list__item.is-moving.icon-taxi::before {
  content: url(../images/couse/icon_taxi.svg);
}

.course-list__item.is-moving.icon-bus::before {
  content: url(../images/couse/icon_bus.svg);
}

.course-list__item.is-moving.icon-walk::before {
  content: url(../images/couse/icon_walk.svg);
}

.is-spot-only .course-list__item::before {
  display: none;
}

.is-spot-only .course-list__item .course-spot-card {
  width: 100%;
}

.is-spot-only .course-list__item:not(:first-child) .course-spot-card {
  border-top-style: none;
}

/* course-storn
 ---------------------------------------- */
.course-storn {
  display: flex;
  align-items: flex-start;
}

.course-storn__main {
  padding: 0 16px;
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 36px;
  color: #fff;
  background-color: #ff8a5c;
  border-radius: 18px;
}

.course-storn__sub {
  font-size: 0.75em;
  padding: 0;
  margin: 0 0 0 12px;
}

/* btn-couse
 ---------------------------------------- */
.btn-couse {
  font-size: 0.875em;
  display: block;
  padding: 8px 12px;
  margin: 0;
  color: #fff;
  text-align: left;
  background-color: #005bab;
}

.btn-couse:visited, .btn-couse:hover, .btn-couse:focus, .btn-couse:active {
  color: #fff;
  text-decoration: none;
}

.btn-couse.has-link, .btn-couse.has-toggle {
  position: relative;
}

.btn-couse.has-link::after, .btn-couse.has-toggle::after {
  position: absolute;
  top: 50%;
  right: 8px;
  display: block;
  width: 16px;
  height: 16px;
  content: url(../images/common/icon_arrow-r-w.svg);
  transform: translateY(-50%);
  transform-origin: 50% 50%;
}

.btn-couse.has-toggle::after {
  transform: rotate(-90deg) translateX(50%);
}

.btn-couse.has-toggle.is-open::after {
  transform: rotate(90deg) translateX(-50%);
}

/* course-spot-card
 ---------------------------------------- */
.course-spot-card {
  display: grid;
  grid-template: "csc-header csc-header" auto "csc-img csc-body" 1fr "csc-footer csc-footer" auto / 40% 1fr;
  grid-gap: 8px 12px;
  padding: 8px 0 12px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

.course-spot-card__header {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-area: csc-header;
}

.course-spot-card__img {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: csc-img;
}

.course-spot-card__body {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: csc-body;
}

.course-spot-card__body .course-text {
  font-size: 0.875em;
  padding: 0;
  margin: 0;
}

.course-spot-card__body .course-catchcopy {
  padding: 0;
  margin: 0;
  font-size: 1em;
  font-weight: 600;
}

.course-spot-card__footer {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-area: csc-footer;
}

.course-spot__title {
  font-size: 1.125em;
  padding: 0;
  margin: 0;
  font-weight: 600;
}

.course-spot__title > .title-kana {
  font-size: .75em;
}

/* course-spot-eyecatching
 ---------------------------------------- */
.course-spot-eyecatching {
  position: relative;
  width: 100%;
  padding: 0;
  margin: 0 0 24px;
}

.course-spot-eyecatching .btn-slider-container {
  position: absolute;
  right: 0;
  bottom: -22px;
  z-index: 10;
}

/* course-spot-data
 ---------------------------------------- */
.course-spot-data__head {
  display: flex;
  width: 100%;
}

.course-spot-data__head .btn-couse {
  flex-grow: 1;
}

.course-spot-data__head .btn-couse + .btn-couse {
  margin-left: 8px;
}

.course-spot-data__contents {
  display: none;
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
}

.course-spot-data__table {
  width: 100%;
  padding: 0;
  margin: 0;
}

.course-spot-data__table th {
  font-size: 0.875em;
  width: 25%;
  padding-right: .5em;
  font-weight: normal;
  word-break: break-all;
  white-space: nowrap;
  vertical-align: top;
  border-right: 1px solid #ccc;
}

.course-spot-data__table td {
  font-size: 0.875em;
  padding-left: .5em;
  word-break: break-all;
  vertical-align: top;
}

.course-spot-data__table td > p {
  padding: 0;
  margin: 0;
  word-break: break-all;
}

.course-spot-data__table td a {
  word-break: break-all;
}

/* course-moving
 ---------------------------------------- */
.course-moving__text {
  font-size: 0.875em;
  padding: 0;
  margin: 0;
}

/* spot-container
 ---------------------------------------- */
/* spot-list
 ---------------------------------------- */
.spot-list {
  padding: 0;
  margin: 0 0 12px;
}

.spot-list > ol {
  padding: 0;
  margin: 0;
  list-style: none;
  counter-reset: map-spot-count;
}

.spot-list > ol > li {
  display: flex;
  align-items: flex-start;
  padding: 8px 0;
  margin: 0;
  font-size: 14px;
  cursor: pointer;
  counter-increment: map-spot-count;
}

.spot-list > ol > li:not(:last-child) {
  border-bottom: 1px dashed #ccc;
}

.spot-list > ol > li::before {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  min-width: 24px;
  height: 24px;
  margin: 0 12px 0 0;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  content: counter(map-spot-count);
  background-color: #ff8a5c;
  border-radius: 50%;
}

/* ### page-recommend
 ------------------------------------------------------- */
/* recommend-container
 ---------------------------------------- */
.recommend-container {
  padding: 12px;
  margin: 0 0 36px;
  background-color: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.215);
}

.recommend-container__inner {
  padding: 16px 12px;
  background-color: #fcf9ea;
  border-top: 2px solid #ff8a5c;
  border-bottom: 2px solid #ff8a5c;
}

.recommend-container__head {
  text-align: center;
}

/* recommend-list
 ---------------------------------------- */
.recommend-list {
  display: block;
  padding: 0;
  margin: 0;
}

.recommend-list__item {
  display: block;
  padding: 0;
}

.recommend-list__item:not(:last-child) {
  margin-bottom: 12px;
}

.recommend-list__item.has-bg {
  padding: 12px;
  background-color: #fff;
}

.recommend-list__item .recommend-panel {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

.recommend-list__item .recommend-card {
  width: 100%;
  height: 100%;
  margin: 0;
}

/* recommend-card
 ---------------------------------------- */
.recommend-card {
  align-items: center;
  background-color: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
  transition: box-shadow .25s ease-out;
}

.recommend-card:hover {
  box-shadow: 0 3px 4px rgba(0, 0, 0, 0.5);
}

.recommend-card > a {
  display: flex;
  padding: 8px;
  color: #000;
}

.recommend-card > a:hover, .recommend-card > a:focus, .recommend-card > a:active {
  color: #000;
  text-decoration: none;
}

.recommend-card__img {
  width: 64px;
  min-width: 64px;
  max-width: 64px;
  margin-right: .5em;
}

.recommend-card__contents {
  flex: 1 1 0;
}

.recommend-card__title {
  font-size: 0.875em;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  font-weight: 600;
}

.recommend-card__text {
  font-size: 0.875em;
  padding: 0;
  margin: 0;
}

.swiper-slide .recommend-card {
  height: 100%;
}

/* recommend-panel
 ---------------------------------------- */
.recommend-panel {
  display: grid;
  grid-template: "recpanel-img recpanel-contents" auto "recpanel-img recpanel-meta" auto "recpanel-img recpanel-spots" auto / 64px 1fr;
  gap: 6px 12px;
}

.recommend-panel__img {
  -ms-grid-row: 1;
  -ms-grid-row-span: 5;
  -ms-grid-column: 1;
  grid-area: recpanel-img;
}

.recommend-panel__contents {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: recpanel-contents;
}

.recommend-panel__nickname {
  font-size: 0.875em;
  padding: 0;
  margin: 0;
  font-weight: 600;
}

.recommend-panel__reason {
  font-size: 0.875em;
  padding: 0;
  margin: 0;
}

.recommend-panel__meta {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: recpanel-meta;
}

.recommend-panel__meta .meta-area {
  margin-bottom: 12px;
}

.recommend-panel__spots {
  -ms-grid-row: 5;
  -ms-grid-column: 3;
  grid-area: recpanel-spots;
}

.recommend-panel__spots .title-secondary, .recommend-panel__spots .entry-content > h2, .recommend-panel__spots .scroll-area__inner > h2, .recommend-panel__spots .flexible-content > h2 {
  margin-bottom: 12px;
}

/* recommend-spot */
.recommend-spot__inner {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #000;
  text-decoration: none;
}

.recommend-spot > a:hover, .recommend-spot > a:focus, .recommend-spot > a:active {
  color: #000;
  text-decoration: none;
}

.recommend-spot > a::after {
  display: block;
  width: 16px;
  height: 16px;
  content: url(../images/common/icon_arrow-r.svg);
  opacity: 1;
  transform: translateX(0);
}

.recommend-spot > a:hover::after {
  animation: arrow-in .25s both ease-out;
}

.recommend-spot__contents {
  flex-grow: 1;
  padding: 0 0 0 12px;
}

.recommend-spot__catchcopy {
  font-size: 0.75em;
  line-height: 1.25;
}

.recommend-spot__name {
  padding: 0;
  margin: 0;
  font-size: 1rem;
}

.recommend-spot__photo {
  width: 70%;
  min-width: 32px;
  max-width: 90px;
  padding: 0;
  margin: 0;
}

/* recommend-user-img
 ---------------------------------------- */
.recommend-user-img {
  display: block;
  width: 100%;
  height: auto;
  padding-top: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
  background-size: cover;
  border-radius: 50%;
}

.recommend-user-img.is-noimg {
  background-image: url(../images/recommend/img_user-nophoto.svg);
}

/* favorite-small
 ---------------------------------------- */
.favorite-small {
  position: relative;
  margin: 0 0 12px;
}

.favorite-small__title {
  font-size: 0.875em;
  display: block;
  padding: 12px;
  margin: 0 0 6px;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  word-wrap: break-word;
  background-color: #ffd369;
}

.favorite-small__contents {
  position: relative;
}

.favorite-small__contents .swiper-container {
  margin: 0 48px;
}

.favorite-small__contents .swiper-slide {
  height: auto;
  padding: 8px;
}

.favorite-small__contents .recommend-card {
  height: 100%;
}

@media screen and (min-width: 980px) {
  .favorite-small {
    display: flex;
    align-items: center;
  }
  .favorite-small__title {
    width: 180px;
    min-width: 180px;
    max-width: 180px;
  }
  .favorite-small__contents {
    width: calc(100% - 192px);
    margin-left: 12px;
  }
}

/* recommend-ribbon
 ---------------------------------------- */
.recommend-ribbon {
  display: block;
}

.recommend-ribbon > a {
  display: flex;
  align-items: center;
  padding: 0;
  color: #000;
}

.recommend-ribbon > a:hover, .recommend-ribbon > a:focus, .recommend-ribbon > a:active {
  color: #000;
  text-decoration: none;
}

.recommend-ribbon__img {
  width: 48px;
  min-width: 48px;
  max-width: 48px;
  margin-right: 6px;
}

.recommend-ribbon__img figure {
  margin-bottom: 0;
}

.recommend-ribbon__contents {
  flex: 1 1 0;
  padding: 12px;
  background-color: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
  transition: box-shadow .25s ease-out;
}

.recommend-ribbon__reason {
  font-size: 0.875em;
  padding: 0;
  margin: 0;
}

.recommend-ribbon:hover .recommend-ribbon__contents {
  box-shadow: 0 3px 4px rgba(0, 0, 0, 0.5);
}

/* ### page-member
 ------------------------------------------------------- */
/* request-categorys
 ---------------------------------------- */
.request-categorys {
  width: 100%;
  margin: 0 -8px 1rem;
}

.request-categorys__item {
  padding: 8px;
}

.request-categorys__item .request-card {
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 600px) {
  .request-categorys {
    display: flex;
    flex-wrap: wrap;
  }
  .request-categorys__item {
    width: calc(100% / 2);
  }
}

@media screen and (min-width: 980px) {
  .request-categorys__item {
    width: calc(100% / 3);
  }
}

/* request-card
 ---------------------------------------- */
.request-card {
  display: grid;
  grid-template: "request-header" auto "request-body" 1fr "request-footer" auto / 1fr;
  padding: 8px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 5px;
  gap: 6px;
}

.request-card__header {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: request-header;
}

.request-card__body {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: request-body;
}

.request-card__footer {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
  grid-area: request-footer;
}

.request-card__name {
  font-size: 1em;
  padding: 0;
  margin: 0;
  font-weight: 600;
}

.request-card__desc {
  font-size: 0.875em;
  padding: 0;
  margin: 0;
}

.request-card__btn {
  font-size: 0.875em;
  position: relative;
  display: block;
  padding: .5em 1em;
  line-height: 1;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background-color: #ccc;
  border-radius: 5px;
}

.request-card__btn::after {
  position: absolute;
  top: 50%;
  right: 4px;
  display: block;
  width: .75em;
  height: auto;
  content: url(../images/common/icon_arrow-r-w.svg);
  transform: translateY(-50%);
}

.request-card__btn:visited, .request-card__btn:hover, .request-card__btn:focus, .request-card__btn:active {
  color: #fff;
  text-decoration: none;
}

.request-card__btn:hover {
  opacity: .8;
}

/* ### wp
 ------------------------------------------------------- */
/* post-navigation
 ---------------------------------------- */
.post-navigation .nav-links {
  display: flex;
  justify-content: space-between;
}

.flexible-table td > input[type="text"],
.flexible-table td > input[type="email"],
.flexible-table td > textarea {
  box-sizing: border-box;
  width: 100%;
}

.page-content .wp-smiley,
.entry-content .wp-smiley,
.scroll-area__inner .wp-smiley,
.flexible-content .wp-smiley,
.comment-content .wp-smiley {
  padding: 0;
  margin-top: 0;
  margin-bottom: 0;
  border: none;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/*--------------------------------------------------------------
## img
--------------------------------------------------------------*/
.aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.alignright {
  display: block;
  margin-right: 0;
  margin-left: auto;
}

.alignleft {
  display: block;
  margin-right: auto;
  margin-left: 0;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
  max-width: 100%;
  margin-bottom: 1.5em;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.wp-caption .wp-caption-text {
  margin: .8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  margin-bottom: 36px;
}

.gallery-item {
  display: block;
  width: 100%;
  padding: 4px;
  margin: 0;
}

.has-columns-2 .gallery-item {
  max-width: 50%;
}

.has-columns-3 .gallery-item {
  max-width: 33.33%;
}

.has-columns-4 .gallery-item {
  max-width: 25%;
}

.has-columns-5 .gallery-item {
  max-width: 20%;
}

.has-columns-6 .gallery-item {
  max-width: 16.66%;
}

.has-columns-7 .gallery-item {
  max-width: 14.28%;
}

.has-columns-8 .gallery-item {
  max-width: 12.5%;
}

.has-columns-9 .gallery-item {
  max-width: 11.11%;
}

.has-sp-columns-2 .gallery-item {
  max-width: 50%;
}

.has-sp-columns-3 .gallery-item {
  max-width: 33.33%;
}

.has-sp-columns-4 .gallery-item {
  max-width: 25%;
}

.has-sp-columns-5 .gallery-item {
  max-width: 20%;
}

.has-sp-columns-6 .gallery-item {
  max-width: 16.66%;
}

.has-sp-columns-7 .gallery-item {
  max-width: 14.28%;
}

.has-sp-columns-8 .gallery-item {
  max-width: 12.5%;
}

.has-sp-columns-9 .gallery-item {
  max-width: 11.11%;
}

@media screen and (min-width: 980px) {
  .has-columns-2 .gallery-item {
    max-width: 50%;
  }
  .has-columns-3 .gallery-item {
    max-width: 33.33%;
  }
  .has-columns-4 .gallery-item {
    max-width: 25%;
  }
  .has-columns-5 .gallery-item {
    max-width: 20%;
  }
  .has-columns-6 .gallery-item {
    max-width: 16.66%;
  }
  .has-columns-7 .gallery-item {
    max-width: 14.28%;
  }
  .has-columns-8 .gallery-item {
    max-width: 12.5%;
  }
  .has-columns-9 .gallery-item {
    max-width: 11.11%;
  }
}

.gallery-caption {
  display: none;
}

/* -----------------------------------------------------------------
 ## Utility
 ----------------------------------------------------------------- */
/* ### helpers
 ------------------------------------------------------- */
.u-center {
  text-align: center !important;
}

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

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

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

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

.u-fontxsmall {
  font-size: .5em;
}

.u-fontsmall {
  font-size: .75em;
}

.u-fontlarge {
  font-size: 1.25em;
}

.u-fontxlarge {
  font-size: 1.5em;
}

.u-unmargin {
  margin: 0 !important;
}

.u-mgbt-0r {
  margin-bottom: 0rem !important;
}

.u-mgbt-1r {
  margin-bottom: 1rem !important;
}

.u-mgbt-2r {
  margin-bottom: 2rem !important;
}

.u-mgbt-3r {
  margin-bottom: 3rem !important;
}

.u-mgbt-4r {
  margin-bottom: 4rem !important;
}

.u-mgbt-5r {
  margin-bottom: 5rem !important;
}

.u-mgtop-0r {
  margin-top: 0rem !important;
}

.u-mgtop-1r {
  margin-top: 1rem !important;
}

.u-mgtop-2r {
  margin-top: 2rem !important;
}

.u-mgtop-3r {
  margin-top: 3rem !important;
}

.u-mgtop-4r {
  margin-top: 4rem !important;
}

.u-mgtop-5r {
  margin-top: 5rem !important;
}

.u-mgbt-0 {
  margin-bottom: 0px !important;
}

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

.u-mgbt-6 {
  margin-bottom: 6px !important;
}

.u-mgtop-6 {
  margin-top: 6px !important;
}

.u-mgbt-12 {
  margin-bottom: 12px !important;
}

.u-mgtop-12 {
  margin-top: 12px !important;
}

.u-mgbt-18 {
  margin-bottom: 18px !important;
}

.u-mgtop-18 {
  margin-top: 18px !important;
}

.u-mgbt-24 {
  margin-bottom: 24px !important;
}

.u-mgtop-24 {
  margin-top: 24px !important;
}

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

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

/* -----------------------------------------------------------------------------
 # override
 ---------------------------------------------------------------------------- */
/* lightcase
 ---------------------------------------- */
.lightcase-icon-close:hover,
.lightcase-icon-prev:hover,
.lightcase-icon-next:hover {
  text-decoration: none;
}

.lightcase-contentInner img {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* -----------------------------------------------------------------------------
 # 初回公開 機能削除
 ---------------------------------------------------------------------------- */
