@charset "UTF-8";
/* ==========================================================================//
//
// [基本設定]
//
// ========================================================================== */
/* ==========================================================================// // // [Web font] // // ========================================================================== */
@import url("https://fonts.googleapis.com/css?family=Montserrat:500&display=swap");
@font-face {
  font-family: "Noto Sans JP";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: local("Noto Sans CJK JP Regular"), url(/v=1565769742/files/user/fonts/NotoSansJP-Regular.woff2) format("woff2"),
    url(/v=1565769742/files/user/fonts/NotoSansJP-Regular.woff) format("woff"),
    url(/files/user/fonts/NotoSansJP-Regular.otf) format("opentype");
}

@font-face {
  font-family: "Noto Sans JP";
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: local("Noto Sans CJK JP Medium"), url(/v=1565769742/files/user/fonts/NotoSansJP-Medium.woff2) format("woff2"),
    url(/v=1565769741/files/user/fonts/NotoSansJP-Medium.woff) format("woff"),
    url(/files/user/fonts/NotoSansJP-Medium.otf) format("opentype");
}

@font-face {
  font-family: "Noto Sans JP";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: local("Noto Sans CJK JP Bold"), url(/v=1565769741/files/user/fonts/NotoSansJP-Bold.woff2) format("woff2"),
    url(/v=1565769741/files/user/fonts/NotoSansJP-Bold.woff) format("woff"),
    url(/files/user/fonts/NotoSansJP-Bold.otf) format("opentype");
}

@font-face {
  font-family: "LeelawadeeUI";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: local("LeelawadeeUI Regular"), url(/v=1566182695/files/user/fonts/leelawui.woff2) format("woff2"),
    url(/v=1566182694/files/user/fonts/leelawui.woff) format("woff"), url(/v=1566182694/files/user/fonts/leelawui.ttf) format("truetype");
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document ========================================================================== */
/** 1. Correct the line height in all browsers. 2. Prevent adjustments of font size after orientation changes in iOS. */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections ========================================================================== */
/** Remove the margin in all browsers. */
body {
  margin: 0;
}

/** Render the `main` element consistently in IE. */
main {
  display: block;
}

/** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
h1 {
  margin: 0.67em 0;
  font-size: 2em;
}

/* Grouping content ========================================================================== */
/** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
hr {
  /* 1 */
  overflow: visible;
  -webkit-box-sizing: content-box;
  box-sizing: content-box; /* 1 */
  height: 0; /* 2 */
}

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics ========================================================================== */
/** Remove the gray background on active links in IE 10. */
a {
  background-color: transparent;
}

/** 1. Remove the bottom border in Chrome 57- 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline;
  text-decoration: underline dotted; /* 2 */
  -webkit-text-decoration: underline dotted; /* 2 */
}

/** Add the correct font weight in Chrome, Edge, and Safari. */
b,
strong {
  font-weight: bolder;
}

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/** Add the correct font size in all browsers. */
small {
  font-size: 80%;
}

/** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content ========================================================================== */
/** Remove the border on images inside links in IE 10. */
img {
  border-style: none;
}

/* Forms ========================================================================== */
/** 1. Change the font styles in all browsers. 2. Remove the margin in Firefox and Safari. */
button,
input,
optgroup,
select,
textarea {
  /* 1 */
  margin: 0;
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 2 */
}

/** Show the overflow in IE. 1. Show the overflow in Edge. */
button,
input {
  /* 1 */
  overflow: visible;
}

/** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */
button,
select {
  /* 1 */
  text-transform: none;
}

/** Correct the inability to style clickable types in iOS and Safari. */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/** Remove the inner border and padding in Firefox. */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

/** Restore the focus styles unset by the previous rule. */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/** Correct the padding in Firefox. */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */
legend {
  /* 2 */
  display: table;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 1 */
  color: inherit; /* 3 */
  white-space: normal; /* 1 */
}

/** Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress {
  vertical-align: baseline;
}

/** Remove the default vertical scrollbar in IE 10+. */
textarea {
  overflow: auto;
}

/** 1. Add the correct box sizing in IE 10. 2. Remove the padding in IE 10. */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/** Correct the cursor style of increment and decrement buttons in Chrome. */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/** 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */
[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/** Remove the inner padding in Chrome and Safari on macOS. */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
::-webkit-file-upload-button {
  /* 1 */
  font: inherit;
  -webkit-appearance: button; /* 2 */
}

/* Interactive ========================================================================== */
/* Add the correct display in Edge, IE 10+, and Firefox. */
details {
  display: block;
}

/* Add the correct display in all browsers. */
summary {
  display: list-item;
}

/* Misc ========================================================================== */
/** Add the correct display in IE 10+. */
template {
  display: none;
}

/** Add the correct display in IE 10. */
[hidden] {
  display: none;
}

/* ==========================================================================//
//
// [デフォルトスタイル]
//
// ========================================================================== */
html,
body {
  height: 100%;
}

html {
  font-size: 62.5%;
}

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #fff;
  flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-overflow-scrolling: touch;
}

@media screen and (min-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}

body > * {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

*:not(hr):not(legend),
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
figcaption {
  margin: 0;
}

ul,
ol,
dl,
dt,
dd,
blockquote {
  margin: 0;
  padding: 0;
}

li {
  list-style-type: none;
}

a,
button {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  outline: none;
}

a {
  color: inherit;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (min-width: 768px) {
  a[href^="tel"] {
    cursor: default;
    pointer-events: none;
  }
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

svg {
  display: inline-block;
}

picture {
  display: block;
}

i {
  font-style: normal;
}

table {
  width: 100%;
  border-spacing: 0;
}

th {
  font-weight: normal;
}

td {
  text-align: center;
}

input {
  border-radius: 0;
}

[role="button"],
[type="button"],
[type="reset"],
[type="submit"],
button {
  cursor: pointer;
}

[disabled] {
  cursor: default;
  pointer-events: none;
}

[type="number"] {
  width: auto;
}

[type="search"] {
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}

textarea {
  overflow: auto;
  border-radius: 0;
  vertical-align: top;
  resize: vertical;
}

button,
input,
optgroup,
select,
textarea,
small {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
  padding: 0;
}

[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button::-moz-focus-inner {
  padding: 0;
  border-style: 0;
}

[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type="reset"],
[type="submit"],
button,
html [type="button"] {
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
}

button,
select {
  text-transform: none;
}

button,
input,
select,
textarea {
  border-style: none;
  color: inherit;
  background-color: transparent;
}

input[type="checkbox"],
input[type="radio"] {
  width: auto;
  margin: 0 10px 20px 0;
}

.c-form-toggle__list--inline li:last-child input:not([type="checkbox"]),
.c-form-toggle__list--inline li:last-child input:not([type="radio"]) {
  margin-bottom: 0;
}

.c-form-error__msg {
  color: #e00100;
  margin: 10px 0 0 0;
}

select {
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
  background: none;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

legend {
  display: table;
  max-width: 100%;
  border: none;
  color: inherit;
  white-space: normal;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
  appearance: button;
}

[type="search"] {
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
  outline-offset: -0.02rem;
}

input,
textarea,
select {
  display: inline-block;
  width: 100%;
  padding: 0;
  border: none;
  background: #fff;
}

textarea {
  height: auto;
  resize: none;
}

:placeholder-shown {
  color: #b3b3b3;
}

::-webkit-input-placeholder {
  color: #b3b3b3;
}

::-moz-placeholder {
  opacity: 1;
  color: #b3b3b3;
}

:-ms-input-placeholder {
  color: #b3b3b3;
}

/* ==========================================================================//
//
// [レイアウト]
//
// ========================================================================== */
.l-block {
  padding-right: 4vw;
  padding-left: 4vw;
}

@media screen and (min-width: 768px) {
  .l-block {
    max-width: 100vw;
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media screen and (min-width: 968px) {
  .l-block {
    padding-right: calc((100% - 800px) / 2);
    padding-left: calc((100% - 800px) / 2);
  }
}

.l-block + .l-block,
.l-block + .l-block--large,
.l-block + .l-block--large-padding {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .l-block + .l-block,
  .l-block + .l-block--large,
  .l-block + .l-block--large-padding {
    margin-top: 16vw;
  }
}

@media screen and (min-width: 768px) {
  .l-block--large {
    max-width: 100vw;
    padding-right: 4.08163vw;
    padding-left: 4.08163vw;
  }
}

@media screen and (min-width: 1160px) {
  .l-block--large {
    padding-right: calc((100% - 1120px) / 2);
    padding-left: calc((100% - 1120px) / 2);
  }
}

.l-block--large + .l-block,
.l-block--large + .l-block--large,
.l-block--large + .l-block--large-padding {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .l-block--large + .l-block,
  .l-block--large + .l-block--large,
  .l-block--large + .l-block--large-padding {
    margin-top: 16vw;
  }
}

.l-block--large-padding {
  padding-right: 4vw;
  padding-left: 4vw;
}

@media screen and (min-width: 768px) {
  .l-block--large-padding {
    max-width: 100vw;
    padding-right: 4.08163vw;
    padding-left: 4.08163vw;
  }
}

@media screen and (min-width: 1160px) {
  .l-block--large-padding {
    padding-right: calc((100% - 1120px) / 2);
    padding-left: calc((100% - 1120px) / 2);
  }
}

.l-block--large-padding + .l-block,
.l-block--large-padding + .l-block--large,
.l-block--large-padding + .l-block--large-padding {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .l-block--large-padding + .l-block,
  .l-block--large-padding + .l-block--large,
  .l-block--large-padding + .l-block--large-padding {
    margin-top: 16vw;
  }
}

.l-block--nagano {
  padding-right: 4vw;
  padding-left: 4vw;
}

@media screen and (min-width: 768px) {
  .l-block--nagano {
    max-width: 100vw;
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media screen and (min-width: 1352px) {
  .l-block--nagano {
    padding-right: calc((100% - 1312px) / 2);
    padding-left: calc((100% - 1312px) / 2);
  }
}

.l-block--nagano + * {
  margin-top: 72px;
}

@media screen and (max-width: 767px) {
  .l-footer {
    padding-bottom: 16vw;
  }
}

.l-footer__logo {
  width: 208px;
  margin: 63px auto 0;
}

@media screen and (max-width: 767px) {
  .l-footer__logo {
    width: 47.68vw;
    margin-top: 10.66667vw;
  }
}

.l-footer__logo-img {
  width: 100%;
  height: auto;
}

.l-footer__copyright {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 80px;
  margin-top: 50px;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 1.2rem;
  text-align: center;
  letter-spacing: 0.1em;
  background-color: #000;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .l-footer__copyright {
    height: 16vw;
    margin-top: 6.66667vw;
    font-size: 2.66667vw;
  }
  .l-footer__copyright small {
    white-space: nowrap;
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
  }
}

.l-footer-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 37px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .l-footer-nav__list {
    margin-top: 8vw;
  }
}

.l-footer-nav__item {
  padding: 0 1em;
  font-size: 1.3rem;
  line-height: 1.77;
}

@media screen and (max-width: 767px) {
  .l-footer-nav__item {
    padding: 0 0.5em;
    font-size: 2.66667vw;
    line-height: 2.3;
  }
}

.l-footer-nav__link {
  color: inherit;
}

@media screen and (min-width: 768px) {
  .l-footer-nav__link:hover {
    color: #666;
  }
}

.l-footer-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 150px;
  color: #fff;
  font-weight: 600;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .l-footer-button {
    width: 50%;
  }
}

@media screen and (max-width: 767px) {
  .l-footer-button {
    height: 29.33333vw;
    padding-left: 8.53333vw;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

.l-footer-button:first-child {
  background-color: #3a8b00;
}

@media screen and (min-width: 768px) {
  .l-footer-button:first-child:hover {
    background-color: #599d28;
  }
}

.l-footer-button:first-child .l-footer-button__text {
  padding-left: 47px;
  background: url("/files/user/image/ico_bookmark_01.svg") no-repeat left center/cover;
  background-size: 36px 36px;
}

@media screen and (max-width: 767px) {
  .l-footer-button:first-child .l-footer-button__text {
    padding-left: 11.73333vw;
    background-size: auto 6.13333vw;
  }
}

.l-footer-button:last-child {
  background-color: #00528b;
}

@media screen and (min-width: 768px) {
  .l-footer-button:last-child:hover {
    background-color: #286d9d;
  }
}

.l-footer-button:last-child .l-footer-button__text {
  padding-left: 50px;
  background: url("/files/user/image/ico_mail_01.svg") no-repeat left top 22px;
  background-size: 36px 24px;
}

@media screen and (max-width: 767px) {
  .l-footer-button:last-child .l-footer-button__text {
    padding-left: 11.73333vw;
    background-position: left center;
    background-size: 6.13333vw auto;
  }
}

@media screen and (min-width: 768px) {
  .l-footer-button__group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.l-footer-button__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
}

@media screen and (max-width: 767px) {
  .l-footer-button__text {
    font-size: 4.8vw;
  }
}

.l-footer-button__text-en {
  display: inline-block;
  margin-top: 6px;
  font-family: din-2014, sans-serif;
  font-size: 1.1rem;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 767px) {
  .l-footer-button__text-en {
    margin-top: 2.4vw;
    font-size: 2.93333vw;
  }
}

.l-footer-button__text-sub {
  display: inline-block;
  padding-bottom: 8px;
  font-size: 1.3rem;
}

@media screen and (max-width: 767px) {
  .l-footer-button__text-sub {
    padding-bottom: 2.93333vw;
    font-size: 3.46667vw;
  }
}

.l-footer-info {
  margin-top: 33px;
  font-size: 1.2rem;
  line-height: 2.42;
  text-align: center;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .l-footer-info {
    margin-top: 7.46667vw;
    font-size: 3.2vw;
    line-height: 1.92;
  }
}

.l-footer-info__title {
  font-size: 1.4rem;
}

@media screen and (max-width: 767px) {
  .l-footer-info__title {
    font-size: 3.73333vw;
  }
}

.l-footer-info__text a {
  color: inherit;
}

.l-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: row;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.l-col,
.l-col-1,
.l-col-2,
.l-col-2-4,
.l-col-3,
.l-col-4,
.l-col-5,
.l-col-6,
.l-col-7,
.l-col-8,
.l-col-9,
.l-col-10,
.l-col-11,
.l-col-12 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

.l-col {
  max-width: 100%;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
}

.l-col-1 {
  max-width: 8.33333%;
  -ms-flex-preferred-size: 8.33333%;
  flex-basis: 8.33333%;
}

.l-col-2 {
  max-width: 16.66667%;
  -ms-flex-preferred-size: 16.66667%;
  flex-basis: 16.66667%;
}

.l-col-2-4 {
  max-width: 20%;
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
}

.l-col-3 {
  max-width: 25%;
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
}

.l-col-4 {
  max-width: 33.33333%;
  -ms-flex-preferred-size: 33.33333%;
  flex-basis: 33.33333%;
}

.l-col-5 {
  max-width: 41.66667%;
  -ms-flex-preferred-size: 41.66667%;
  flex-basis: 41.66667%;
}

.l-col-6 {
  max-width: 50%;
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
}

.l-col-7 {
  max-width: 58.33333%;
  -ms-flex-preferred-size: 58.33333%;
  flex-basis: 58.33333%;
}

.l-col-8 {
  max-width: 66.66667%;
  -ms-flex-preferred-size: 66.66667%;
  flex-basis: 66.66667%;
}

.l-col-9 {
  max-width: 75%;
  -ms-flex-preferred-size: 75%;
  flex-basis: 75%;
}

.l-col-10 {
  max-width: 83.33333%;
  -ms-flex-preferred-size: 83.33333%;
  flex-basis: 83.33333%;
}

.l-col-11 {
  max-width: 91.66667%;
  -ms-flex-preferred-size: 91.66667%;
  flex-basis: 91.66667%;
}

.l-col-12 {
  max-width: 100%;
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
}

@media screen and (min-width: 768px) {
  .l-col-md,
  .l-col-1-md,
  .l-col-2-md,
  .l-col-2-4-md,
  .l-col-3-md,
  .l-col-4-md,
  .l-col-5-md,
  .l-col-6-md,
  .l-col-7-md,
  .l-col-8-md,
  .l-col-9-md,
  .l-col-10-md,
  .l-col-11-md,
  .l-col-12-md {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }
  .l-col-md {
    max-width: 100%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
  }
  .l-col-1-md {
    max-width: 8.33333%;
    -ms-flex-preferred-size: 8.33333%;
    flex-basis: 8.33333%;
  }
  .l-col-2-md {
    max-width: 16.66667%;
    -ms-flex-preferred-size: 16.66667%;
    flex-basis: 16.66667%;
  }
  .l-col-2-4-md {
    max-width: 20%;
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%;
  }
  .l-col-3-md {
    max-width: 25%;
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
  }
  .l-col-4-md {
    max-width: 33.33333%;
    -ms-flex-preferred-size: 33.33333%;
    flex-basis: 33.33333%;
  }
  .l-col-5-md {
    max-width: 41.66667%;
    -ms-flex-preferred-size: 41.66667%;
    flex-basis: 41.66667%;
  }
  .l-col-6-md {
    max-width: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
  }
  .l-col-7-md {
    max-width: 58.33333%;
    -ms-flex-preferred-size: 58.33333%;
    flex-basis: 58.33333%;
  }
  .l-col-8-md {
    max-width: 66.66667%;
    -ms-flex-preferred-size: 66.66667%;
    flex-basis: 66.66667%;
  }
  .l-col-9-md {
    max-width: 75%;
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
  }
  .l-col-10-md {
    max-width: 83.33333%;
    -ms-flex-preferred-size: 83.33333%;
    flex-basis: 83.33333%;
  }
  .l-col-11-md {
    max-width: 91.66667%;
    -ms-flex-preferred-size: 91.66667%;
    flex-basis: 91.66667%;
  }
  .l-col-12-md {
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }
}

@media screen and (min-width: 1120px) {
  .l-col-lg,
  .l-col-1-lg,
  .l-col-2-lg,
  .l-col-2-4-lg,
  .l-col-3-lg,
  .l-col-4-lg,
  .l-col-5-lg,
  .l-col-6-lg,
  .l-col-7-lg,
  .l-col-8-lg,
  .l-col-9-lg,
  .l-col-10-lg,
  .l-col-11-lg,
  .l-col-12-lg {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }
  .l-col-lg {
    max-width: 100%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
  }
  .l-col-1-lg {
    max-width: 8.33333%;
    -ms-flex-preferred-size: 8.33333%;
    flex-basis: 8.33333%;
  }
  .l-col-2-lg {
    max-width: 16.66667%;
    -ms-flex-preferred-size: 16.66667%;
    flex-basis: 16.66667%;
  }
  .l-col-2-4-lg {
    max-width: 20%;
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%;
  }
  .l-col-3-lg {
    max-width: 25%;
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
  }
  .l-col-4-lg {
    max-width: 33.33333%;
    -ms-flex-preferred-size: 33.33333%;
    flex-basis: 33.33333%;
  }
  .l-col-5-lg {
    max-width: 41.66667%;
    -ms-flex-preferred-size: 41.66667%;
    flex-basis: 41.66667%;
  }
  .l-col-6-lg {
    max-width: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
  }
  .l-col-7-lg {
    max-width: 58.33333%;
    -ms-flex-preferred-size: 58.33333%;
    flex-basis: 58.33333%;
  }
  .l-col-8-lg {
    max-width: 66.66667%;
    -ms-flex-preferred-size: 66.66667%;
    flex-basis: 66.66667%;
  }
  .l-col-9-lg {
    max-width: 75%;
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
  }
  .l-col-10-lg {
    max-width: 83.33333%;
    -ms-flex-preferred-size: 83.33333%;
    flex-basis: 83.33333%;
  }
  .l-col-11-lg {
    max-width: 91.66667%;
    -ms-flex-preferred-size: 91.66667%;
    flex-basis: 91.66667%;
  }
  .l-col-12-lg {
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }
}

.l-header {
  position: fixed;
  z-index: 101;
  width: 100%;
  height: 80px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .l-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 13.33333vw;
  }
}

.l-header__in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .l-header__in {
    padding: 0 4.53333vw 0 3.2vw;
  }
}

@media screen and (min-width: 768px) {
  .l-header__in {
    padding: 0 4.08163vw;
  }
}

.l-header__logo {
  position: relative;
  z-index: 10;
  width: 368px;
  height: 26.45px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media screen and (max-width: 1119px) {
  .l-header__logo {
    width: 207px;
    height: auto;
  }
}

@media screen and (max-width: 899px) {
  .l-header__logo {
    width: 180px;
  }
}

@media screen and (max-width: 767px) {
  .l-header__logo {
    width: 37.33333vw;
  }
}

.l-header__logo-image {
  width: 100%;
  height: auto;
}

.l-header-menu__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.8rem;
  font-weight: 600;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 899px) {
  .l-header-menu__list {
    font-size: 1.5rem;
  }
}

.l-header-menu__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .l-header-menu__item {
    position: relative;
  }
}

.l-header-menu__item:nth-child(-n + 3) {
  padding-left: 3.18878vw;
}

@media screen and (max-width: 899px) {
  .l-header-menu__item:nth-child(-n + 3) {
    padding-left: 20px;
  }
}

@media screen and (max-width: 767px) {
  .l-header-menu__item:nth-child(-n + 3) {
    display: none;
  }
}

.l-header-menu__item:nth-child(n + 4) {
  padding-left: 30px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media screen and (max-width: 899px) {
  .l-header-menu__item:nth-child(n + 4) {
    padding-left: 20px;
  }
}

@media screen and (max-width: 767px) {
  .l-header-menu__item:nth-child(n + 4) {
    padding-left: 8vw;
  }
}

@media screen and (min-width: 768px) {
  .l-header-menu__item:nth-child(n + 4) .l-header-menu__link {
    height: 26px;
  }
  .l-header-menu__item:nth-child(n + 4) .l-header-menu__link:hover {
    opacity: 0.625;
  }
}

.l-header-menu__item:nth-child(n + 4) .l-header-menu__img {
  width: 24px;
  height: auto;
}

@media screen and (max-width: 767px) {
  .l-header-menu__item:nth-child(n + 4) .l-header-menu__img {
    width: 6.4vw;
  }
}

.l-header-menu__item:first-child {
  padding-left: 0;
}

/* @media screen and (min-width: 768px) { .l-header-menu__item:nth-child(4) { padding-left: 3.50765vw; } } */
.l-header-menu__link {
  color: inherit;
}

@media screen and (min-width: 768px) {
  .l-header-menu__link:hover {
    color: #666;
  }
}

.l-main {
  padding-bottom: 70px;
}

@media screen and (max-width: 767px) {
  .l-main {
    padding: 13.33333vw 0;
  }
}

.l-menu {
  overflow: hidden;
  position: absolute;
  top: 34px;
  max-height: 0;
  -webkit-transition: max-height 0.3s;
  transition: max-height 0.3s;
}

@media screen and (max-width: 767px) {
  .l-menu {
    top: 12vw;
    right: 2.66667vw;
  }
}

@media screen and (min-width: 768px) {
  .l-menu--sns,
  .l-menu--global {
    right: 12px;
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
  }
}

.l-menu__list {
  position: relative;
  padding-top: 10px;
}

@media screen and (max-width: 767px) {
  .l-menu__list {
    padding-top: 4vw;
  }
}

.l-menu__list:before {
  content: "";
  position: absolute;
  top: 0;
  right: 50%;
  width: 0;
  height: 0;
  margin-right: -10px;
  border-width: 0 10px 10px 10px;
  border-style: solid;
  border-color: transparent transparent #d4e5e5 transparent;
}

@media screen and (max-width: 767px) {
  .l-menu__list:before {
    margin-right: -4vw;
    border-width: 0 4vw 4vw 4vw;
  }
}

@media screen and (max-width: 767px) {
  .l-menu--sns .l-menu__list:before {
    right: 34.13333vw;
  }
}

@media screen and (max-width: 767px) {
  .l-menu--global .l-menu__list:before {
    right: 19.46667vw;
  }
}

.l-menu__item {
  background-color: #fff;
}

.l-menu__item + .l-menu__item {
  border-top: 1px solid #afcfcf;
}

.l-menu__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  height: 50px;
  font-size: 1.3rem;
  font-weight: 400;
  background-color: #d4e5e5;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .l-menu__link:hover {
    opacity: 0.7;
  }
}

@media screen and (max-width: 767px) {
  .l-menu__link {
    height: 18.66667vw;
    font-size: 5.33333vw;
  }
}

.l-menu--sns .l-menu__link {
  width: 130px;
  padding-left: 43px;
  font-family: "DIN 2014";
  letter-spacing: 0.2em;
}

@media screen and (max-width: 767px) {
  .l-menu--sns .l-menu__link {
    width: 94.66667vw;
    padding-left: 17.33333vw;
  }
}

.l-menu__link-facebook:before,
.l-menu__link-twitter:before,
.l-menu__link-line:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 14px;
  width: 20px;
  height: 20px;
  margin-top: -10px;
}

@media screen and (max-width: 767px) {
  .l-menu__link-facebook:before,
  .l-menu__link-twitter:before,
  .l-menu__link-line:before {
    left: 6.13333vw;
    width: 8vw;
    height: 8vw;
    margin-top: -4vw;
  }
}

.l-menu__link-facebook:before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34.076' height='34.075'%3E%3Cpath d='M29.808.005H4.253A4.274 4.274 0 000 4.266v25.562a4.261 4.261 0 004.253 4.248h12.924V21.857h-4.074v-5.311h4.074v-2.668a7.059 7.059 0 016.927-7.327h3.751v6h-3.36c-.886 0-1.154.5-1.154 1.209v2.784h4.514v5.311h-4.517v12.223h6.467a4.27 4.27 0 004.268-4.247V4.264A4.279 4.279 0 0029.805.003z'/%3E%3C/svg%3E")
    no-repeat center/contain;
}

.l-menu__link-twitter:before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34.075' height='25.893'%3E%3Cpath d='M34.075 3.066a15.29 15.29 0 01-4.024 1.031A6.612 6.612 0 0033.125.486a14.6 14.6 0 01-4.429 1.581A7.256 7.256 0 0023.596 0a6.77 6.77 0 00-6.983 6.535 6.363 6.363 0 00.161 1.49 20.252 20.252 0 01-14.4-6.833 6.268 6.268 0 00-.957 3.3 6.444 6.444 0 003.1 5.43 7.238 7.238 0 01-3.155-.806v.071a6.686 6.686 0 005.6 6.418 7.3 7.3 0 01-1.833.217 6.643 6.643 0 01-1.322-.111 7.009 7.009 0 006.528 4.552 14.679 14.679 0 01-8.663 2.788 14.031 14.031 0 01-1.671-.091 20.677 20.677 0 0010.716 2.932c12.855 0 19.883-9.96 19.883-18.59 0-.291-.011-.566-.027-.843a13.5 13.5 0 003.5-3.394z'/%3E%3C/svg%3E")
    no-repeat center/contain;
}

.l-menu__link-line:before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cg transform='translate(-1334.854 -194.877)'%3E%3Crect width='20' height='20' rx='4.333' transform='translate(1334.854 194.877)'/%3E%3Cpath d='M1352.1 204c0-3.258-3.267-5.909-7.282-5.909s-7.282 2.651-7.282 5.909c0 2.921 2.591 5.368 6.09 5.83.237.051.56.156.642.359a1.5 1.5 0 01.023.659s-.085.513-.1.623c-.031.184-.146.72.631.392a23.492 23.492 0 005.721-4.227A5.261 5.261 0 001352.1 204' fill='%23fff'/%3E%3Cpath d='M1343.342 202.423h-.511a.143.143 0 00-.142.142v3.173a.142.142 0 00.142.141h.511a.142.142 0 00.142-.141v-3.173a.143.143 0 00-.142-.142M1346.857 202.423h-.51a.142.142 0 00-.142.142v1.885l-1.454-1.964-.011-.014-.009-.009-.008-.006-.007-.005H1344.145a.143.143 0 00-.142.142v3.173a.142.142 0 00.142.141h.511a.142.142 0 00.142-.141v-1.885l1.455 1.967a.172.172 0 00.036.035h.036a.149.149 0 00.037 0h.51a.141.141 0 00.142-.141v-3.173a.142.142 0 00-.142-.142M1342.11 205.085h-1.387v-2.52a.143.143 0 00-.142-.142h-.511a.143.143 0 00-.142.142v3.173a.14.14 0 00.04.1.141.141 0 00.1.039h2.04a.141.141 0 00.142-.141v-.511a.142.142 0 00-.142-.142M1349.678 203.218a.143.143 0 00.142-.142v-.511a.143.143 0 00-.142-.142h-2.041a.145.145 0 00-.1.04.144.144 0 00-.039.1v3.173a.144.144 0 00.039.1.144.144 0 00.1.039h2.041a.142.142 0 00.142-.141v-.511a.143.143 0 00-.142-.142h-1.388v-.536h1.388a.143.143 0 00.142-.142v-.503a.143.143 0 00-.142-.142h-1.388v-.536z'/%3E%3C/g%3E%3C/svg%3E")
    no-repeat center/contain;
}

.l-menu--global .l-menu__link {
  width: 150px;
  padding-left: 17px;
}

@media screen and (max-width: 767px) {
  .l-menu--global .l-menu__link {
    width: 94.66667vw;
    padding-left: 5.6vw;
  }
}

.l-menu--global li:last-child .l-menu__link {
  letter-spacing: 0;
}

.l-menu__link-thai {
  font-family: "LeelawadeeUI";
}

.l-menu--search {
  right: -27px;
}

@media screen and (max-width: 767px) {
  .l-menu--search {
    right: 2.66667vw;
    width: 94.66667vw;
  }
}

.l-menu-search {
  position: relative;
  padding-top: 10px;
}

.l-menu-search:before {
  content: "";
  position: absolute;
  top: 0;
  right: 30px;
  width: 0;
  height: 0;
  border-width: 0 10px 10px 10px;
  border-style: solid;
  border-color: transparent transparent #d4e5e5 transparent;
}

@media screen and (max-width: 767px) {
  .l-menu-search:before {
    right: 2.66667vw;
  }
}

.l-menu-search__in {
  padding: 27px;
  background-color: #d4e5e5;
}

@media screen and (max-width: 767px) {
  .l-menu-search__in {
    padding: 7.2vw 6.66667vw;
  }
}

.l-menu-search__form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 767px) {
  .l-menu-search__form {
    display: block;
  }
}

.l-menu-search__input {
  width: 467px;
  height: 56px;
  margin-right: 7px;
  padding: 0 20px;
  border-top: solid 2px #ccc;
  border-left: solid 2px #ccc;
}

@media screen and (max-width: 767px) {
  .l-menu-search__input {
    width: 100%;
    height: 14.93333vw;
  }
}

.l-menu-search__input:placeholder {
  font-size: 1.3rem;
}

@media screen and (max-width: 767px) {
  .l-menu-search__input:placeholder {
    font-size: 3.46667vw;
  }
}

.l-menu-search__submit {
  overflow: hidden;
  width: 200px;
  height: 56px;
  text-indent: -9999px;
  background: #20909d
    url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff'%3E%3Cpath d='M23.753 22.562l-4.489-4.489a10.966 10.966 0 10-1.191 1.192l4.489 4.488a.842.842 0 001.191-1.191zM4.4 17.507a9.266 9.266 0 116.553 2.715A9.207 9.207 0 014.4 17.507z'/%3E%3C/svg%3E")
    no-repeat center;
  background-size: 24px 24px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (min-width: 768px) {
  .l-menu-search__submit:hover {
    background-color: #4da6b1;
  }
}

@media screen and (max-width: 767px) {
  .l-menu-search__submit {
    width: 100%;
    height: 14.93333vw;
    margin-top: 3.2vw;
    background-size: 6.4vw 6.4vw;
  }
}

.l-section--fill {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 40px;
  padding-bottom: 40px;
  background-color: #dbdad6;
}

@media screen and (min-width: 768px) {
  .l-section--fill {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.l-section > :first-child,
.l-section--fill > :first-child {
  margin-top: 0;
}

.l-section--service {
  margin-top: 77px;
}

@media screen and (max-width: 767px) {
  .l-section--service {
    margin-top: 15.46667vw;
  }
}

.l-section--event {
  margin-top: 114px;
}

@media screen and (max-width: 767px) {
  .l-section--event {
    margin-top: 15.2vw;
  }
}

.l-section--event + .l-block--large-padding {
  margin-top: 68px;
}

@media screen and (max-width: 767px) {
  .l-section--event + .l-block--large-padding {
    margin-top: 11.46667vw;
  }
}

.l-section--spot {
  margin-top: 94px;
}

@media screen and (max-width: 767px) {
  .l-section--spot {
    margin-top: 21.33333vw;
  }
}

.l-section + .l-section,
.l-section--fill + .l-section,
.l-section + .l-section--fill,
.l-section--fill + .l-section--fill {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .l-section + .l-section,
  .l-section--fill + .l-section,
  .l-section + .l-section--fill,
  .l-section--fill + .l-section--fill {
    margin-top: 16vw;
  }
}

.l-sp-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 16vw;
  background-color: #20909d;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: 3;
}

@media screen and (min-width: 768px) {
  .l-sp-nav {
    display: none;
  }
}

.l-sp-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}

.l-sp-nav__item {
  display: block;
  width: 33.33vw;
  border-right: 1px solid rgba(255, 255, 255, 0.3);
}

/* .l-sp-nav__item:last-child { overflow: hidden; width: 16vw; text-indent: -9999px; background: #20909d url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff'%3E%3Cpath d='M23.753 22.562l-4.489-4.489a10.966 10.966 0 10-1.191 1.192l4.489 4.488a.842.842 0 001.191-1.191zM4.4 17.507a9.266 9.266 0 116.553 2.715A9.207 9.207 0 014.4 17.507z'/%3E%3C/svg%3E") no-repeat center; background-size: 6.4vw 6.4vw; } */
.l-sp-nav__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  color: #fff;
  font-size: 3.73333vw;
  font-weight: 600;
  line-height: 1.29;
  text-align: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.l-sp-nav.is-hidden {
  -webkit-transform: translateY(101%);
  transform: translateY(101%);
}

/* ==========================================================================//
//
// [プラグイン]
//
// ========================================================================== */
/*! Modaal - accessible modals - v0.4.3 by Humaan, for all humans. http://humaan.com */
.modaal-accessible-hide {
  overflow: hidden;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  border: 0 !important;
}

.modaal-overlay {
  opacity: 0;
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modaal-wrapper {
  opacity: 1;
  display: block;
  overflow: auto;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-overflow-scrolling: touch;
}

.modaal-wrapper * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
}

.modaal-wrapper .modaal-close {
  padding: 0;
  border: none;
  background: transparent;
  -webkit-appearance: none;
}

.modaal-wrapper.modaal-start_none {
  opacity: 1;
  display: none;
}

.modaal-wrapper.modaal-start_fade {
  opacity: 0;
}

.modaal-wrapper *[tabindex="0"] {
  outline: none !important;
}

.modaal-wrapper.modaal-fullscreen {
  overflow: hidden;
}

.modaal-outer-wrapper {
  display: table;
  position: relative;
  width: 100%;
  height: 100%;
}

.modaal-fullscreen .modaal-outer-wrapper {
  display: block;
}

.modaal-inner-wrapper {
  display: table-cell;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 80px 25px;
  text-align: center;
  vertical-align: middle;
}

.modaal-fullscreen .modaal-inner-wrapper {
  display: block;
  padding: 0;
  vertical-align: top;
}

.modaal-container {
  display: inline-block;
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: auto;
  border-radius: 0;
  color: #000;
  text-align: left;
  background: #fff;
  cursor: auto;
  -webkit-box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.modaal-container.is_loading {
  overflow: hidden;
  width: 100px;
  height: 100px;
}

.modaal-fullscreen .modaal-container {
  overflow: auto;
  max-width: none;
  height: 100%;
}

.modaal-close {
  opacity: 1;
  position: fixed;
  top: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  border-radius: 100%;
  color: #fff;
  background: transparent;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.modaal-close:focus,
.modaal-close:hover {
  background: #fff;
  outline: none;
}

.modaal-close:focus:before,
.modaal-close:focus:after,
.modaal-close:hover:before,
.modaal-close:hover:after {
  background: #b93d0c;
}

.modaal-close span {
  overflow: hidden;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  border: 0 !important;
}

.modaal-close:before,
.modaal-close:after {
  content: " ";
  display: block;
  position: absolute;
  top: 14px;
  left: 23px;
  width: 4px;
  height: 22px;
  border-radius: 4px;
  background: #fff;
  -webkit-transition: background 0.2s ease-in-out;
  transition: background 0.2s ease-in-out;
}

.modaal-close:before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.modaal-close:after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.modaal-fullscreen .modaal-close {
  top: 10px;
  right: 10px;
  background: #afb7bc;
}

.modaal-content-container {
  padding: 30px;
}

.modaal-confirm-wrap {
  padding: 30px 0 0;
  font-size: 0;
  text-align: center;
}

.modaal-confirm-btn {
  display: inline-block;
  margin: 0 10px;
  border: none;
  font-size: 14px;
  vertical-align: middle;
  background: transparent;
  cursor: pointer;
}

.modaal-confirm-btn.modaal-ok {
  padding: 10px 15px;
  border-radius: 3px;
  color: #fff;
  background: #555;
  -webkit-transition: background 0.2s ease-in-out;
  transition: background 0.2s ease-in-out;
}

.modaal-confirm-btn.modaal-ok:hover {
  background: #2f2f2f;
}

.modaal-confirm-btn.modaal-cancel {
  text-decoration: underline;
}

.modaal-confirm-btn.modaal-cancel:hover {
  color: #2f2f2f;
  text-decoration: none;
}

@keyframes instaReveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes instaReveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.modaal-instagram .modaal-container {
  width: auto;
  background: transparent;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.modaal-instagram .modaal-content-container {
  padding: 0;
  background: transparent;
}

.modaal-instagram .modaal-content-container > blockquote {
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
}

.modaal-instagram iframe {
  opacity: 0;
  width: 1000px !important;
  max-width: 800px !important;
  margin: -6px !important;
  border-radius: 0 !important;
  -webkit-animation: instaReveal 1s linear forwards;
  animation: instaReveal 1s linear forwards;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.modaal-image .modaal-inner-wrapper {
  padding-right: 140px;
  padding-left: 140px;
}

.modaal-image .modaal-container {
  width: auto;
  max-width: 100%;
}

.modaal-gallery-wrap {
  position: relative;
  color: #fff;
}

.modaal-gallery-item {
  display: none;
}

.modaal-gallery-item img {
  display: block;
}

.modaal-gallery-item.is_active {
  display: block;
}

.modaal-gallery-label {
  position: absolute;
  left: 0;
  width: 100%;
  margin: 20px 0 0;
  color: #fff;
  font-size: 18px;
  text-align: center;
}

.modaal-gallery-label:focus {
  outline: none;
}

.modaal-gallery-control {
  opacity: 1;
  position: absolute;
  top: 50%;
  width: 50px;
  height: 50px;
  border: none;
  border-radius: 100%;
  color: #fff;
  background: transparent;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.modaal-gallery-control.is_hidden {
  opacity: 0;
  cursor: default;
}

.modaal-gallery-control:focus,
.modaal-gallery-control:hover {
  background: #fff;
  outline: none;
}

.modaal-gallery-control:focus:before,
.modaal-gallery-control:focus:after,
.modaal-gallery-control:hover:before,
.modaal-gallery-control:hover:after {
  background: #afb7bc;
}

.modaal-gallery-control span {
  overflow: hidden;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  border: 0 !important;
}

.modaal-gallery-control:before,
.modaal-gallery-control:after {
  content: " ";
  display: block;
  position: absolute;
  top: 16px;
  left: 25px;
  width: 4px;
  height: 18px;
  border-radius: 4px;
  background: #fff;
  -webkit-transition: background 0.2s ease-in-out;
  transition: background 0.2s ease-in-out;
}

.modaal-gallery-control:before {
  margin: -5px 0 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.modaal-gallery-control:after {
  margin: 5px 0 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.modaal-gallery-next-inner {
  left: 100%;
  margin-left: 40px;
}

.modaal-gallery-next-outer {
  right: 45px;
}

.modaal-gallery-prev:before,
.modaal-gallery-prev:after {
  left: 22px;
}

.modaal-gallery-prev:before {
  margin: 5px 0 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.modaal-gallery-prev:after {
  margin: -5px 0 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.modaal-gallery-prev-inner {
  right: 100%;
  margin-right: 40px;
}

.modaal-gallery-prev-outer {
  left: 45px;
}

.modaal-video-wrap {
  position: relative;
  margin: auto 50px;
}

.modaal-video-container {
  overflow: hidden;
  position: relative;
  max-width: 100%;
  max-width: 1300px;
  height: 0;
  margin-right: auto;
  margin-left: auto;
  padding-bottom: 56.25%;
  background: #000;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.modaal-video-container iframe,
.modaal-video-container object,
.modaal-video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modaal-iframe .modaal-content {
  width: 100%;
  height: 100%;
}

.modaal-iframe-elem {
  display: block;
  width: 100%;
  height: 100%;
}

@media only screen and (min-width: 1400px) {
  .modaal-video-container {
    height: 731px;
    padding-bottom: 0;
  }
}

@media only screen and (max-width: 1140px) {
  .modaal-image .modaal-inner-wrapper {
    padding-right: 25px;
    padding-left: 25px;
  }
  .modaal-gallery-control {
    top: auto;
    bottom: 20px;
    background: rgba(0, 0, 0, 0.7);
    -webkit-transform: none;
    transform: none;
  }
  .modaal-gallery-control:before,
  .modaal-gallery-control:after {
    background: #fff;
  }
  .modaal-gallery-next {
    right: 20px;
    left: auto;
  }
  .modaal-gallery-prev {
    right: auto;
    left: 20px;
  }
}

@media screen and (max-width: 900px) {
  .modaal-instagram iframe {
    width: 500px !important;
  }
}

@media screen and (max-height: 1100px) {
  .modaal-instagram iframe {
    width: 700px !important;
  }
}

@media screen and (max-height: 1000px) {
  .modaal-inner-wrapper {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .modaal-instagram iframe {
    width: 600px !important;
  }
}

@media screen and (max-height: 900px) {
  .modaal-instagram iframe {
    width: 500px !important;
  }
  .modaal-video-container {
    max-width: 900px;
    max-height: 510px;
  }
}

@media only screen and (max-width: 600px) {
  .modaal-instagram iframe {
    width: 280px !important;
  }
}

@media only screen and (max-height: 820px) {
  .modaal-gallery-label {
    display: none;
  }
}

.modaal-loading-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 200px;
  margin: -100px 0 0 -100px;
  background: none;
  -webkit-transform: scale(0.25);
  transform: scale(0.25);
}

@-webkit-keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
  }
  100% {
    opacity: 0.1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
  }
  100% {
    opacity: 0.1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.modaal-loading-spinner > div {
  position: absolute;
  width: 24px;
  height: 24px;
  margin-top: 4px;
  margin-left: 4px;
}

.modaal-loading-spinner > div > div {
  width: 100%;
  height: 100%;
  border-radius: 15px;
  background: #fff;
}

.modaal-loading-spinner > div:nth-of-type(1) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

.modaal-loading-spinner > div:nth-of-type(2) > div,
.modaal-loading-spinner > div:nth-of-type(3) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(1) {
  -webkit-transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(2) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: 0.12s;
  animation-delay: 0.12s;
}

.modaal-loading-spinner > div:nth-of-type(2) {
  -webkit-transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(3) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: 0.25s;
  animation-delay: 0.25s;
}

.modaal-loading-spinner > div:nth-of-type(4) > div,
.modaal-loading-spinner > div:nth-of-type(5) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(3) {
  -webkit-transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(4) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: 0.37s;
  animation-delay: 0.37s;
}

.modaal-loading-spinner > div:nth-of-type(4) {
  -webkit-transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(5) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.modaal-loading-spinner > div:nth-of-type(6) > div,
.modaal-loading-spinner > div:nth-of-type(7) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(5) {
  -webkit-transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(6) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: 0.62s;
  animation-delay: 0.62s;
}

.modaal-loading-spinner > div:nth-of-type(6) {
  -webkit-transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(7) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: 0.75s;
  animation-delay: 0.75s;
}

.modaal-loading-spinner > div:nth-of-type(7) {
  -webkit-transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(8) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: 0.87s;
  animation-delay: 0.87s;
}

.modaal-loading-spinner > div:nth-of-type(8) {
  -webkit-transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
}

/* Slider */
.slick-slider {
  display: block;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.slick-list {
  display: block;
  overflow: hidden;
  position: relative;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  margin-right: auto;
  margin-left: auto;
}

.slick-track:before,
.slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
  width: 100%;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* ==========================================================================//
//
// [コンポーネント]
//
// ========================================================================== */
.c-area-info {
  display: block;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .c-area-info {
    max-width: 100vw;
    margin: 80px 0 0 0;
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media screen and (min-width: 1160px) {
  .c-area-info {
    padding-right: calc((100% - 1120px) / 2);
    padding-left: calc((100% - 1120px) / 2);
  }
}

@media screen and (min-width: 768px) {
  .c-area-info__in {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: auto;
  }
}

.c-area-info__head {
  display: block;
}

@media screen and (min-width: 768px) {
  .c-area-info__head {
    padding: 22px 32px 22px 0;
  }
}

@media screen and (min-width: 768px) and (min-width: 1160px) {
  .c-area-info__head {
    width: 192px;
  }
}

@media screen and (max-width: 767px) {
  .c-area-info__head {
    padding: 0 4vw 0;
  }
}

.c-area-info__body {
  display: block;
}

@media screen and (min-width: 768px) {
  .c-area-info__body {
    padding: 26px 0 26px 0;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1 1;
  }
}

@media screen and (max-width: 767px) {
  .c-area-info__body {
    padding: 5.86667vw 4vw 0;
  }
}

.c-area-info__title {
  letter-spacing: 0.1em;
}

@media screen and (min-width: 768px) {
  .c-area-info__title {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 767px) {
  .c-area-info__title {
    font-size: 5.33333vw;
    text-align: center;
  }
}

.c-area-info__news {
  width: 100%;
  border-bottom: 1px solid #e6e6e6;
}

.c-area-info__news-item {
  border-top: 1px solid #e6e6e6;
}

.c-area-info__news-link {
  position: relative;
}

@media screen and (min-width: 768px) {
  .c-area-info__news-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 66px;
    padding: 17px 40px 17px 0;
  }
}

@media screen and (max-width: 767px) {
  .c-area-info__news-link {
    display: block;
    padding: 3.73333vw 0 3.46667vw;
  }
}

@media screen and (min-width: 768px) {
  .c-area-info__news-link:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
    right: 4px;
    bottom: 0;
    width: 18px;
    height: 6px;
    margin: auto;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-transform: skew(45deg, 0);
    transform: skew(45deg, 0);
  }
  .c-area-info__news-link:hover:after {
    width: 24px;
  }
}

@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-area-info__news-link:after {
    bottom: 0.26667vw;
    width: 3.2vw;
    height: 1.6vw;
    margin-left: 0.53333vw;
  }
}

.c-area-info__news-link:hover {
  color: #666;
}

.c-area-info__news-link:hover:after {
  border-color: #666;
}

.c-area-info__news-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-area-info__news-body {
  display: block;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1 1;
}

@media screen and (min-width: 768px) {
  .c-area-info__news-body {
    padding: 0 0 0 16px;
    font-size: 1.6rem;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  .c-area-info__news-body {
    padding: 1.33333vw 0 0;
    font-size: 3.73333vw;
    line-height: 1.78571;
  }
}

@media screen and (min-width: 768px) {
  .c-area-info__news-date {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 767px) {
  .c-area-info__news-date {
    font-size: 2.66667vw;
  }
}

.c-area-info__news-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px) {
  .c-area-info__news-tag {
    margin-left: 42px;
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .c-area-info__news-tag {
    margin-left: 4.8vw;
    font-size: 2.66667vw;
  }
}

.c-area-info__news-tag-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 50px;
  background: #e6e6e6;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .c-area-info__news-tag-item {
    width: 79px;
    height: 19px;
  }
}

@media screen and (max-width: 767px) {
  .c-area-info__news-tag-item {
    width: 16.8vw;
    height: 4vw;
  }
}

.c-area-info--emergency {
  background: #f2f2f2;
}

@media screen and (min-width: 768px) {
  .c-area-info--emergency {
    padding-top: 30px;
    padding-right: 4.08163vw;
    padding-bottom: 30px;
    padding-left: 4.08163vw;
    margin-bottom: -80px !important;
  }
}

@media screen and (min-width: 1224px) {
  .c-area-info--emergency {
    padding-right: calc((100% - 1184px) / 2);
    padding-left: calc((100% - 1184px) / 2);
  }
}

@media screen and (max-width: 767px) {
  .c-area-info--emergency {
    padding: 3.73333vw 4vw 4.8vw;
  }
}

.c-area-info--emergency .c-area-info__in {
  border: 1px solid #c1272d;
  background: #fff;
}

@media screen and (min-width: 768px) {
  .c-area-info--emergency .c-area-info__head {
    padding-left: 32px;
  }
}

@media screen and (max-width: 767px) {
  .c-area-info--emergency .c-area-info__head {
    padding: 5.06667vw 5.33333vw 0;
  }
}

@media screen and (min-width: 768px) {
  .c-area-info--emergency .c-area-info__body {
    padding-right: 32px;
  }
}

@media screen and (max-width: 767px) {
  .c-area-info--emergency .c-area-info__body {
    padding: 5.86667vw 5.33333vw 6.4vw;
  }
}

.c-area-info--emergency .c-area-info__title {
  color: #c1272d;
}

.c-area-banner {
  overflow: hidden;
  margin: 0 0 0;
  background: #f2f2f2;
}

@media screen and (min-width: 768px) {
  .c-area-banner {
    max-width: 100vw;
    padding-top: 44px;
    padding-right: 20px;
    padding-bottom: 42px;
    padding-left: 20px;
  }
}

@media screen and (min-width: 1160px) {
  .c-area-banner {
    padding-right: calc((100% - 1120px) / 2);
    padding-left: calc((100% - 1120px) / 2);
  }
}

@media screen and (max-width: 767px) {
  .c-area-banner {
    padding-top: 4.26667vw;
    padding-right: 4vw;
    padding-bottom: 4.26667vw;
    padding-left: 4vw;
  }
}

.c-area-banner__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .c-area-banner__list {
    margin: 0 -16px -32px;
  }
}

@media screen and (max-width: 767px) {
  .c-area-banner__list {
    margin: 0 -8px -13px;
  }
}

@media screen and (min-width: 768px) {
  .c-area-banner__list-item {
    width: 25%;
    padding: 0 16px 32px;
  }
}

@media screen and (max-width: 767px) {
  .c-area-banner__list-item {
    width: 50%;
    padding: 0 8px 13px;
  }
}

.c-area-banner__list-link {
  display: block;
  position: relative;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

.c-area-banner__list-link:hover {
  opacity: 0.6;
}

.c-area-banner__list-label {
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  background: #999;
}

@media screen and (min-width: 768px) {
  .c-area-banner__list-label {
    padding: 2px 6px 2px;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 767px) {
  .c-area-banner__list-label {
    padding: 0.26667vw 1.06667vw 0.26667vw;
    font-size: 2.66667vw;
  }
}

.c-button,
.c-button-hover,
.c-button-more,
.c-button-back,
.c-button-fill,
.c-button-anchor,
.c-button-auto,
.c-button-small,
.c-button-middle,
.c-button-large,
.c-button[disabled] {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 100%;
  margin-right: 10px;
  margin-left: 10px;
  color: #fff;
  font-weight: 600;
  line-height: 1.2;
  text-align: left;
  background-color: #20909d;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .c-button:hover,
  .c-button-hover:hover,
  .c-button-more:hover,
  .c-button-back:hover,
  .c-button-fill:hover,
  .c-button-anchor:hover,
  .c-button-auto:hover,
  .c-button-small:hover,
  .c-button-middle:hover,
  .c-button-large:hover {
    background-color: #4da6b1;
  }
}

@media screen and (max-width: 767px) {
  .c-button,
  .c-button-hover,
  .c-button-more,
  .c-button-back,
  .c-button-fill,
  .c-button-anchor,
  .c-button-auto,
  .c-button-small,
  .c-button-middle,
  .c-button-large,
  .c-button[disabled] {
    margin-right: 1.33333vw;
    margin-left: 1.33333vw;
  }
}

.c-button__text {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.c-button-hover {
  position: relative;
  width: auto;
  padding: 16px 37px;
  border: solid 1px #e2574c;
  color: #000;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .c-button-hover:hover {
    color: #fff;
    background-color: #e2574c;
  }
  .c-button-hover:hover:after {
    color: #e2574c;
    background-color: #fff;
  }
}

@media screen and (max-width: 767px) {
  .c-button-hover {
    width: 100%;
    padding: 2.66667vw 3.46667vw;
    font-size: 3.73333vw;
    line-height: 1.71;
  }
}

.c-button-hover[href$=".pdf"] {
  padding-right: 77px;
}

@media screen and (max-width: 767px) {
  .c-button-hover[href$=".pdf"] {
    padding-right: 20.53333vw;
  }
}

.c-button-hover[href$=".pdf"]:after {
  content: "PDF";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 50%;
  right: 23px;
  width: 51px;
  height: 23px;
  border-radius: 12px;
  color: #fff;
  font-size: 13px;
  background-color: #e2574c;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .c-button-hover[href$=".pdf"]:after {
    right: 5.6vw;
    width: 13.6vw;
    height: 6.13333vw;
    border-radius: 3.2vw;
  }
}

@media screen and (min-width: 768px) {
  .c-button-hover[href$=".pdf"]:hover:after {
    color: #e2574c;
    background-color: #fff;
  }
}

.c-button-more {
  position: relative;
  width: 160px;
  height: 38px;
  border: solid 1px #000;
  color: #000;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .c-button-more {
    width: 100%;
    height: 10.13333vw;
    font-size: 3.73333vw;
  }
}

.c-button-more:after {
  content: "";
  position: absolute;
  top: 11px;
  right: 29px;
  width: 6px;
  height: 12px;
  border-bottom: 1px solid #000;
  border-left: 1px solid #000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: skew(0, -45deg);
  transform: skew(0, -45deg);
}

@media screen and (max-width: 767px) {
  .c-button-more:after {
    top: 2.66667vw;
    right: 50%;
    width: 1.6vw;
    height: 3.2vw;
    margin-right: -13.33333vw;
  }
}

@media screen and (min-width: 768px) {
  .c-button-more:hover {
    background-color: #fff;
  }
  .c-button-more:hover:after {
    height: 18px;
  }
}

.c-button-more--full {
  width: 100%;
  height: 58px;
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  .c-button-more--full {
    height: 15.46667vw;
    font-size: 4.26667vw;
  }
}

.c-button-more--full:after {
  position: relative;
  top: 0;
  right: 0;
  left: 0;
  width: 12.8px;
  height: 6px;
  margin-left: 4px;
  border-right: 1px solid #000;
  border-left: none;
  -webkit-transform: skew(45deg, 0);
  transform: skew(45deg, 0);
}

@media screen and (max-width: 767px) {
  .c-button-more--full:after {
    top: 0;
    right: 0;
    width: 3.41333vw;
    height: 1.6vw;
    margin-right: 0;
    margin-left: 0;
  }
}

@media screen and (min-width: 768px) {
  .c-button-more--full:hover:after {
    width: 18px;
    height: 6px;
  }
}

.c-button-back {
  position: relative;
  width: 100%;
  height: 58px;
  border: solid 1px #000;
  color: #000;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .c-button-back {
    width: 100%;
    height: 15.46667vw;
    font-size: 4.26667vw;
    letter-spacing: 0;
  }
}

.c-button-back:before {
  content: "";
  position: relative;
  width: 12px;
  height: 6px;
  border-bottom: 1px solid #000;
  border-left: 1px solid #000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: skew(-45deg, 0);
  transform: skew(-45deg, 0);
}

@media screen and (max-width: 767px) {
  .c-button-back:before {
    width: 3.2vw;
    height: 1.6vw;
  }
}

@media screen and (min-width: 768px) {
  .c-button-back:hover {
    background-color: #fff;
  }
  .c-button-back:hover:before {
    width: 18px;
  }
}

.c-button-fill {
  width: auto;
  height: 36px;
  padding: 0 27px 0 20px;
  border: 1px solid #e2574c;
  border-radius: 18px;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 600;
  background-color: #e2574c;
}

@media screen and (max-width: 767px) {
  .c-button-fill {
    width: 100%;
    height: 9.6vw;
    padding: 0;
    border-radius: 4.8vw;
    font-size: 3.73333vw;
  }
}

.c-button-fill:after {
  content: "";
  width: 34px;
  height: 6px;
  margin-left: 5px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: skew(45deg, 0);
  transform: skew(45deg, 0);
}

@media screen and (min-width: 768px) {
  .c-button-fill:hover {
    color: #e2574c;
    background-color: #fff;
  }
  .c-button-fill:hover:after {
    border-right: 1px solid #e2574c;
    border-bottom: 1px solid #e2574c;
  }
}

.c-button-anchor {
  height: 106px;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .c-button-anchor {
    height: 18.66667vw;
    font-size: 5.33333vw;
  }
}

.c-button-anchor:after {
  content: "";
  position: relative;
  top: -2px;
  width: 6px;
  height: 16.5px;
  margin-left: 15px;
  border-bottom: 1px solid #fff;
  border-left: 1px solid #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: skew(0, -45deg);
  transform: skew(0, -45deg);
}

@media screen and (min-width: 768px) {
  .c-button-anchor:hover:after {
    height: 21px;
  }
}

.c-button--map {
  height: 70px;
  color: #fff;
  font-size: 2rem;
  font-weight: 600;
}

.c-button--map:before {
  content: "";
  width: 16px;
  height: 24px;
  margin-right: 15px;
  background: url(/v=1565769780/files/user/image/ico_pin_01.svg) no-repeat left center/contain;
}

.c-button--blank {
  height: 70px;
  color: #fff;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.1em;
}

.c-button--blank:after {
  content: "";
  width: 15px;
  height: 11px;
  margin-left: 6px;
  background: url(/v=1565769779/files/user/image/ico_blank_01.svg) no-repeat left center/contain;
}

.c-button-auto {
  width: auto;
}

.c-button-small {
  max-width: 100px;
}

.c-button-middle {
  max-width: 200px;
}

.c-button-large {
  max-width: 300px;
}

.c-button--strong {
  border-color: #e00100;
  background-color: #e00100;
}

.c-button--weak {
  border-color: #999;
  background-color: #999;
}

.c-button-hover[disabled],
.c-button-more[disabled],
.c-button-back[disabled],
.c-button-fill[disabled],
.c-button-anchor[disabled],
.c-button-auto[disabled],
.c-button-small[disabled],
.c-button-middle[disabled],
.c-button-large[disabled],
.c-button[disabled] {
  background-color: #666;
}

.c-button-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-right: -10px;
  margin-left: -10px;
  margin-top: 40px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .c-button-group {
    margin-right: -1.33333vw;
    margin-left: -1.33333vw;
  }
}

* + .c-button-group {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  * + .c-button-group {
    margin-top: 20px;
  }
}

.c-check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.c-check__text {
  position: relative;
  padding-left: 20px;
  cursor: pointer;
}

.c-check input {
  opacity: 0;
  position: absolute;
  width: 0;
  height: 0;
}

input:focus + .c-check__text::before {
  -webkit-box-shadow: 0 0 4px #004aa1;
  box-shadow: 0 0 4px #004aa1;
}

[type="checkbox"] + .c-check__text::before {
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #999;
  background-color: #fff;
}

[type="checkbox"] + .c-check__text::after {
  content: "";
  opacity: 0;
  display: block;
  position: absolute;
  top: -3px;
  left: 5px;
  width: 7px;
  height: 14px;
  border-right: 3px solid #248b9a;
  border-bottom: 3px solid #248b9a;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  -webkit-transform: rotate(40deg);
  transform: rotate(40deg);
}

[type="checkbox"]:checked + .c-check__text::after {
  opacity: 1;
}

[type="radio"] + .c-check__text::before {
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #999;
  border-radius: 50%;
  background-color: #fff;
}

[type="radio"] + .c-check__text::after {
  content: "";
  opacity: 0;
  display: block;
  position: absolute;
  top: 4px;
  left: 3px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #248b9a;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

[type="radio"]:checked + .c-check__text::after {
  opacity: 1;
}

[type="checkbox"].is-invalid + .c-check__text::before,
[type="radio"].is-invalid + .c-check__text::before {
  border-color: #e00100;
  background-color: #ffe4e1;
}

[type="radio"][disabled] + .c-check__text,
[type="checkbox"][disabled] + .c-check__text {
  opacity: 0.3;
  cursor: default;
}

.c-control,
.c-select,
.c-textarea {
  height: 40px;
  padding: 5px 10px;
  border: 1px solid #999;
  font-size: 1.6rem;
  line-height: 1.2;
  background-color: #fff;
}

.c-control.is-invalid,
.is-invalid.c-select,
.is-invalid.c-textarea {
  border-color: #e00100;
  background-color: #ffe4e1;
}

.c-control[disabled],
.c-select[disabled],
.c-textarea[disabled] {
  opacity: 0.3;
}

.c-embed {
  display: block;
  overflow: hidden;
  position: relative;
  height: 0;
  margin: 0;
  padding: 0;
  padding-bottom: 56.25%;
}

.c-embed__item,
.c-embed iframe,
.c-embed embed,
.c-embed object,
.c-embed video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}

* + .c-embed {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  * + .c-embed {
    margin-top: 20px;
  }
}

.c-figure {
  text-align: center;
}

* + .c-figure {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  * + .c-figure {
    margin-top: 20px;
  }
}

.c-heading-01 {
  padding: 0 4vw;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c-heading-01 {
    max-width: 928px;
    margin-right: auto;
    margin-left: auto;
    padding: 0 20px;
    font-size: 3.2rem;
  }
}

.c-heading-01 {
  margin-top: 30px;
}

@media screen and (min-width: 768px) {
  .c-heading-01 {
    margin-top: 50px;
  }
}

.c-heading-01 + [class] {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .c-heading-01 + [class] {
    margin-top: 40px;
  }
}

.c-heading-02 {
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .c-heading-02 {
    font-size: 5.33333vw;
  }
}

.l-section .c-heading-02 + *,
.l-section--fill .c-heading-02 + * {
  margin-top: 47px;
}

@media screen and (max-width: 767px) {
  .l-section .c-heading-02 + *,
  .l-section--fill .c-heading-02 + * {
    margin-top: 8.8vw;
  }
}

.c-heading-02 + .p-card-group,
.c-heading-02 + .p-tile__wrap {
  margin-top: 47px;
}

.c-heading-03 {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.6;
}

.c-heading-03 {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  .c-heading-03 {
    margin-top: 20px;
  }
}

.c-heading-03 + [class] {
  margin-top: 5px;
}

@media screen and (min-width: 768px) {
  .c-heading-03 + [class] {
    margin-top: 10px;
  }
}

.c-hero {
  height: 150px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media screen and (min-width: 768px) {
  .c-hero {
    height: 300px;
  }
}

.c-icon::before,
.c-icon--arrow::before,
.c-icon--arrow-white::before,
.c-icon--arrow-left::before,
.c-icon--arrow-circle-top::before,
.c-icon--window::before,
.c-icon--window-white::before,
.c-icon--pdf::before,
.c-icon--search::before,
.c-icon::after,
.c-icon--arrow::after,
.c-icon--arrow-white::after,
.c-icon--arrow-left::after,
.c-icon--arrow-circle-top::after,
.c-icon--window::after,
.c-icon--window-white::after,
.c-icon--pdf::after,
.c-icon--search::after {
  display: inline-block;
  min-width: 1.62rem;
  min-height: 1.62rem;
  vertical-align: -0.13em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.c-icon::before,
.c-icon--arrow::before,
.c-icon--arrow-white::before,
.c-icon--arrow-left::before,
.c-icon--arrow-circle-top::before,
.c-icon--window::before,
.c-icon--window-white::before,
.c-icon--pdf::before,
.c-icon--search::before {
  content: "";
  margin-right: 0.5rem;
}

.c-icon:empty::before,
.c-icon--arrow:empty::before,
.c-icon--arrow-white:empty::before,
.c-icon--arrow-left:empty::before,
.c-icon--arrow-circle-top:empty::before,
.c-icon--window:empty::before,
.c-icon--window-white:empty::before,
.c-icon--pdf:empty::before,
.c-icon--search:empty::before {
  margin-right: 0;
}

.c-icon--after::before {
  content: none;
}

.c-icon--after::after {
  content: "";
  margin-left: 5px;
}

.c-icon--arrow::before,
.c-icon--arrow::after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg aria-hidden='true' data-prefix='fas' data-icon='chevron-right' class='svg-inline--fa fa-chevron-right fa-w-10' xmlns='http://www.w3.org/2000/svg' width='320' height='512' fill='%23e39600'%3E%3Cpath d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'/%3E%3C/svg%3E");
}

.c-icon--arrow-white::before,
.c-icon--arrow-white::after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg aria-hidden='true' data-prefix='fas' data-icon='chevron-right' class='svg-inline--fa fa-chevron-right fa-w-10' xmlns='http://www.w3.org/2000/svg' width='320' height='512' fill='%23fff'%3E%3Cpath d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'/%3E%3C/svg%3E");
}

.c-icon--arrow-left::before,
.c-icon--arrow-left::after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg aria-hidden='true' data-prefix='fas' data-icon='chevron-left' class='svg-inline--fa fa-chevron-left fa-w-10' xmlns='http://www.w3.org/2000/svg' width='320' height='512' fill='%23e39600'%3E%3Cpath d='M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z'/%3E%3C/svg%3E");
}

.c-icon--arrow-circle-top::before,
.c-icon--arrow-circle-top::after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg aria-hidden='true' data-prefix='fas' data-icon='chevron-circle-up' class='svg-inline--fa fa-chevron-circle-up fa-w-16' xmlns='http://www.w3.org/2000/svg' width='512' height='512' fill='%23e39600'%3E%3Cpath d='M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm231-113.9L103.5 277.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L256 226.9l101.6 101.6c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L273 142.1c-9.4-9.4-24.6-9.4-34 0z'/%3E%3C/svg%3E");
}

.c-icon--window::before,
.c-icon--window::after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' fill='%23e39600'%3E%3Cpath d='M464 0H144c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h48c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48zM362 464H54a6 6 0 01-6-6V150a6 6 0 016-6h42v224c0 26.51 21.49 48 48 48h224v42a6 6 0 01-6 6zm96-96H150a6 6 0 01-6-6V54a6 6 0 016-6h308a6 6 0 016 6v308a6 6 0 01-6 6z'/%3E%3C/svg%3E");
}

.c-icon--window-white::before,
.c-icon--window-white::after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' fill='%23fff'%3E%3Cpath d='M464 0H144c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h48c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48zM362 464H54a6 6 0 01-6-6V150a6 6 0 016-6h42v224c0 26.51 21.49 48 48 48h224v42a6 6 0 01-6 6zm96-96H150a6 6 0 01-6-6V54a6 6 0 016-6h308a6 6 0 016 6v308a6 6 0 01-6 6z'/%3E%3C/svg%3E");
}

.c-icon--pdf::before,
.c-icon--pdf::after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg aria-hidden='true' data-prefix='far' data-icon='file-pdf' class='svg-inline--fa fa-file-pdf fa-w-12' xmlns='http://www.w3.org/2000/svg' width='384' height='512' fill='%23e00100'%3E%3Cpath d='M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm250.2-143.7c-12.2-12-47-8.7-64.4-6.5-17.2-10.5-28.7-25-36.8-46.3 3.9-16.1 10.1-40.6 5.4-56-4.2-26.2-37.8-23.6-42.6-5.9-4.4 16.1-.4 38.5 7 67.1-10 23.9-24.9 56-35.4 74.4-20 10.3-47 26.2-51 46.2-3.3 15.8 26 55.2 76.1-31.2 22.4-7.4 46.8-16.5 68.4-20.1 18.9 10.2 41 17 55.8 17 25.5 0 28-28.2 17.5-38.7zm-198.1 77.8c5.1-13.7 24.5-29.5 30.4-35-19 30.3-30.4 35.7-30.4 35zm81.6-190.6c7.4 0 6.7 32.1 1.8 40.8-4.4-13.9-4.3-40.8-1.8-40.8zm-24.4 136.6c9.7-16.9 18-37 24.7-54.7 8.3 15.1 18.9 27.2 30.1 35.5-20.8 4.3-38.9 13.1-54.8 19.2zm131.6-5s-5 6-37.3-7.8c35.1-2.6 40.9 5.4 37.3 7.8z'/%3E%3C/svg%3E");
}

.c-icon--search::before,
.c-icon--search::after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23e00100'%3E%3Cpath d='M23.753 22.562l-4.489-4.489a10.966 10.966 0 10-1.191 1.192l4.489 4.488a.842.842 0 001.191-1.191zM4.4 17.507a9.266 9.266 0 116.553 2.715A9.207 9.207 0 014.4 17.507z'/%3E%3C/svg%3E");
}

.c-link {
  color: #20909d;
}

@media screen and (min-width: 768px) {
  .c-link:hover {
    color: #4da6b1;
  }
}

.c-list,
.c-list--small {
  line-height: 1.8;
  counter-reset: order order-notes;
}

.c-list__item,
.c-list__item--dot,
.c-list__item--notes,
.c-list__item--order,
.c-list__item--order-notes {
  display: table;
}

.c-list__item::before,
.c-list__item--dot::before,
.c-list__item--notes::before,
.c-list__item--order::before,
.c-list__item--order-notes::before {
  display: table-cell;
  white-space: nowrap;
}

.c-list__item--dot::before {
  content: "・";
}

.c-list__item--notes::before {
  content: "※";
}

.c-list__item--order {
  counter-increment: order;
}

.c-list__item--order::before {
  content: counter(order) ".";
}

.c-list__item--order-notes {
  counter-increment: order-notes;
}

.c-list__item--order-notes::before {
  content: "※" counter(order-notes);
}

.c-list__item[data-attr]::before,
.c-list__item--dot[data-attr]::before,
.c-list__item--notes[data-attr]::before,
.c-list__item--order[data-attr]::before,
.c-list__item--order-notes[data-attr]::before {
  content: attr(data-attr);
}

.c-list__item--center {
  margin-right: auto;
  margin-left: auto;
}

.c-list__item--right {
  margin-left: auto;
}

.c-list--small {
  font-size: 1rem;
  line-height: 1.4;
}

@media screen and (min-width: 768px) {
  .c-list--small {
    font-size: 1.2rem;
  }
}

* + .c-list,
* + .c-list--small {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  * + .c-list,
  * + .c-list--small {
    margin-top: 20px;
  }
}

.c-list__item + .c-list__item,
.c-list__item--dot + .c-list__item,
.c-list__item--notes + .c-list__item,
.c-list__item--order + .c-list__item,
.c-list__item--order-notes + .c-list__item,
.c-list__item + .c-list__item--dot,
.c-list__item--dot + .c-list__item--dot,
.c-list__item--notes + .c-list__item--dot,
.c-list__item--order + .c-list__item--dot,
.c-list__item--order-notes + .c-list__item--dot,
.c-list__item + .c-list__item--notes,
.c-list__item--dot + .c-list__item--notes,
.c-list__item--notes + .c-list__item--notes,
.c-list__item--order + .c-list__item--notes,
.c-list__item--order-notes + .c-list__item--notes,
.c-list__item + .c-list__item--order,
.c-list__item--dot + .c-list__item--order,
.c-list__item--notes + .c-list__item--order,
.c-list__item--order + .c-list__item--order,
.c-list__item--order-notes + .c-list__item--order,
.c-list__item + .c-list__item--order-notes,
.c-list__item--dot + .c-list__item--order-notes,
.c-list__item--notes + .c-list__item--order-notes,
.c-list__item--order + .c-list__item--order-notes,
.c-list__item--order-notes + .c-list__item--order-notes {
  margin-top: 5px;
}

.c-select {
  padding: 5px 30px 5px 10px;
  background: #fff
    url("data:image/svg+xml;charset=utf-8,%3Csvg aria-hidden='true' data-prefix='fas' data-icon='chevron-down' class='svg-inline--fa fa-chevron-down fa-w-14' xmlns='http://www.w3.org/2000/svg' width='448' height='512' fill='%23e39600'%3E%3Cpath d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'/%3E%3C/svg%3E")
    no-repeat right 10px center;
  background-size: 15px;
}

.c-table-list {
  border-top: 1px solid #ccc;
  font-size: 1.2rem;
  line-height: 1.4;
  table-layout: fixed;
}

@media screen and (min-width: 768px) {
  .c-table-list {
    font-size: 1.4rem;
  }
}

.c-table-list th,
.c-table-list td {
  padding: 20px 0;
  border-bottom: 1px solid #ccc;
  font-size: 1.6rem;
  line-height: 1.75;
  text-align: left;
  vertical-align: top;
}

@media screen and (max-width: 767px) {
  .c-table-list th,
  .c-table-list td {
    padding: 3.2vw 0;
    font-size: 3.73333vw;
    font-weight: 400;
    line-height: 1.71;
  }
}

.c-table-list th {
  width: 20%;
  padding-right: 3.44%;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .c-table-list th {
    width: 7em;
    padding-right: 0.8em;
  }
}

.c-table-list td {
  width: 80%;
}

@media screen and (max-width: 767px) {
  .c-table-list td {
    width: auto;
  }
}

* + .c-table-list {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  * + .c-table-list {
    margin-top: 20px;
  }
}

.c-table {
  border-right: 1px solid #136e7b;
  border-bottom: 1px solid #136e7b;
  font-size: 1.2rem;
  line-height: 1.4;
  table-layout: fixed;
}

@media screen and (min-width: 768px) {
  .c-table {
    font-size: 1.4rem;
  }
}

.c-table th,
.c-table td {
  padding: 5px;
  border-top: 1px solid #136e7b;
  border-left: 1px solid #136e7b;
}

@media screen and (min-width: 768px) {
  .c-table th,
  .c-table td {
    padding: 10px;
  }
}

.c-table th {
  color: #fff;
  background-color: #248b9a;
}

.c-table td {
  background-color: #fff;
}

.c-table-scroll {
  overflow-x: auto;
}

@media screen and (max-width: 767px) {
  .c-table-scroll .c-table {
    min-width: 928px;
  }
}

* + .c-table,
* + .c-table-scroll {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  * + .c-table,
  * + .c-table-scroll {
    margin-top: 20px;
  }
}

.c-tag,
.c-tag--red,
.c-tag--gray,
.c-tag--red-outline,
.c-tag--gray-outline {
  display: inline-block;
  padding: 2px 5px;
  border: 1px solid transparent;
  color: #fff;
  font-size: 1rem;
  line-height: 1;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .c-tag,
  .c-tag--red,
  .c-tag--gray,
  .c-tag--red-outline,
  .c-tag--gray-outline {
    font-size: 1.2rem;
  }
}

.c-tag--red {
  background-color: #e00100;
}

.c-tag--gray {
  background-color: #999;
}

.c-tag--red-outline {
  border-color: currentColor;
  color: #e00100;
  background-color: #fff;
}

.c-tag--gray-outline {
  border-color: currentColor;
  color: #999;
  background-color: #fff;
}

.c-tag + .c-tag,
.c-tag--red + .c-tag,
.c-tag--gray + .c-tag,
.c-tag--red-outline + .c-tag,
.c-tag--gray-outline + .c-tag,
.c-tag + .c-tag--red,
.c-tag--red + .c-tag--red,
.c-tag--gray + .c-tag--red,
.c-tag--red-outline + .c-tag--red,
.c-tag--gray-outline + .c-tag--red,
.c-tag + .c-tag--gray,
.c-tag--red + .c-tag--gray,
.c-tag--gray + .c-tag--gray,
.c-tag--red-outline + .c-tag--gray,
.c-tag--gray-outline + .c-tag--gray,
.c-tag + .c-tag--red-outline,
.c-tag--red + .c-tag--red-outline,
.c-tag--gray + .c-tag--red-outline,
.c-tag--red-outline + .c-tag--red-outline,
.c-tag--gray-outline + .c-tag--red-outline,
.c-tag + .c-tag--gray-outline,
.c-tag--red + .c-tag--gray-outline,
.c-tag--gray + .c-tag--gray-outline,
.c-tag--red-outline + .c-tag--gray-outline,
.c-tag--gray-outline + .c-tag--gray-outline {
  margin-left: 5px;
}

.c-text {
  line-height: 1.75;
}

@media screen and (max-width: 767px) {
  .c-text {
    line-height: 1.64;
  }
}

* + .c-text {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  * + .c-text {
    margin-top: 20px;
  }
}

.c-figure + .c-text {
  margin-top: 18px;
}

.c-text + .c-figure {
  margin-top: 60px;
}

.c-textarea {
  height: auto;
}

/* ==========================================================================//
//
// [プロジェクト]
//
// ========================================================================== */
.p-accordion {
  counter-reset: accordion;
}

.p-accordion__item {
  counter-increment: accordion;
}

.p-accordion__item + .p-accordion__item {
  margin-top: 10px;
}

.p-accordion__trigger {
  display: block;
  width: 100%;
  padding: 10px;
  color: #fff;
  line-height: 1.2;
  text-align: left;
  background-color: #248b9a;
}

.p-accordion__body {
  overflow: hidden;
  max-height: 0;
  -webkit-transition: max-height 0.3s;
  transition: max-height 0.3s;
}

.p-accordion__body-in {
  padding: 10px;
  background-color: #fff;
}

* + .p-accordion {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  * + .p-accordion {
    margin-top: 20px;
  }
}

.p-article__title {
  margin-top: 18px;
  font-size: 3.2rem;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .p-article__title {
    margin-top: 6.4vw;
    font-size: 6.4vw;
  }
}

.p-article__update {
  margin: 12px 0 20px 5px;
  font-size: 1.2rem;
  font-weight: normal;
  text-align: left;
  color: #888;
}

.p-article__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin-top: 16px;
  color: #4d4d4d;
  font-size: 1.1rem;
}

@media screen and (max-width: 767px) {
  .p-article__tags {
    margin-top: 2.66667vw;
    font-size: 2.66667vw;
  }
}

.p-article__tag {
  margin: 0 26px 10px 0;
}

.p-article__tag:before {
  content: "#";
}

.p-article__button-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 27px;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

@media screen and (max-width: 767px) {
  .p-article__button-group {
    width: 100%;
    margin-top: 6.13333vw;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.p-article__button--map,
.p-article__button--link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  height: 34px;
  margin-left: 10px;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 600;
  background-color: #20909d;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .p-article__button--map:hover,
  .p-article__button--link:hover {
    background-color: #4da6b1;
  }
}

@media screen and (max-width: 767px) {
  .p-article__button--map,
  .p-article__button--link {
    width: calc(50% - 7px);
    height: 9.06667vw;
    margin: 0;
    font-size: 3.73333vw;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.p-article__button--map:before,
.p-article__button--link:before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .p-article__button--map:before,
  .p-article__button--link:before {
    position: relative;
    top: auto;
    -webkit-transform: none;
    transform: none;
  }
}

.p-article__button--map {
  padding: 0 25px 0 35px;
}

@media screen and (max-width: 767px) {
  .p-article__button--map {
    padding: 0;
  }
}

.p-article__button--map:before {
  left: 12px;
  width: 15px;
  height: 20px;
  background: url(/v=1565769780/files/user/image/ico_pin_01.svg) no-repeat left center/contain;
}

@media screen and (max-width: 767px) {
  .p-article__button--map:before {
    left: 0;
    width: 3.46667vw;
    height: 5.33333vw;
    margin-right: 2.8vw;
  }
}

.p-article__button--link {
  padding: 0 15px 0 33px;
}

@media screen and (max-width: 767px) {
  .p-article__button--link {
    padding: 0;
  }
}

.p-article__button--link:before {
  left: 8px;
  width: 13px;
  height: 10px;
  background: url(/v=1565769781/files/user/image/ico_arrow_r_01.svg) no-repeat right center/contain;
}

@media screen and (max-width: 767px) {
  .p-article__button--link:before {
    left: 0;
    width: 3.46667vw;
    height: 2.66667vw;
    margin-right: 3.09333vw;
  }
}

.p-article__slider {
  margin-top: 18px;
  margin-bottom: 36px;
}

.p-article__slider .slick-slide {
  overflow: hidden;
}

.p-article__slider .slick-slide img {
  width: auto;
  height: 520px;
  max-height: 520px;
  display: block;
  margin: 0 auto;
}

.js-slider2 .slick-slide img {
  width: 100%;
  height: auto;
  max-height: auto;
}

.js-slider2 .slick-dots {
  display: flex;
  margin: 20px 0 40px 0;
  justify-content: center;
}

.js-slider2 .slick-dots li {
  margin: 0 10px 10px 10px;
}

.js-slider2 .slick-dots li button {
  text-indent: -9999px;
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 10px;
  background-color: #f2f2f2;
}

.js-slider2 .slick-dots li.slick-active button {
  background-color: #448e9b;
  outline: none;
}

.js-slider__thumbnail-item {
  overflow: hidden;
  height: 90px;
}

.js-slider__thumbnail-item img {
  width: auto;
  height: 90px;
  display: block;
  margin: 0 auto;
}

.js_slider_desc {
  font-size: 1.5rem;
  color: #888;
  margin: 10px 30px 10px 30px;
}

@media screen and (max-width: 767px) {
  .p-article__slider {
    margin: 4vw 0vw 0;
  }
  .p-article__slider .slick-slide img {
    height: auto;
    max-height: 350px;
  }
  .js-slider__thumbnail-item {
    height: 50px;
  }
  .js-slider__thumbnail-item img {
    height: 50px;
  }
}

.p-article__slider .js-slider {
  display: none;
}

.p-article__slider .js-slider.slick-initialized {
  display: block;
}

.p-article__slider .js-slider__thumbnail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 32px -16px 0;
}

@media screen and (max-width: 767px) {
  .p-article__slider .js-slider__thumbnail {
    margin: 0;
  }
}

.p-article__slider .js-slider__thumbnail-item {
  opacity: 0.5;
  padding: 0 16px;
  width: 20%;
}

@media screen and (max-width: 767px) {
  .p-article__slider .js-slider__thumbnail-item {
    padding: 0;
  }
}

.p-article__slider .js-slider__thumbnail-item.is-current {
  opacity: 1;
}

.p-article__slider .js-slider__thumbnail-item img {
  width: 100%;
  height: auto;
}

.p-article__slider .slick-arrow {
  overflow: hidden;
  position: absolute;
  z-index: 1;
  top: 50%;
  width: 14px;
  height: 14px;
  font-size: 1rem;
  text-indent: -9999px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translateY(-50%) rotateZ(45deg);
  transform: translateY(-50%) rotateZ(45deg);
}

.js-slider2 .slick-arrow {
  width: 24px;
  height: 24px;
  margin-top: -20px;
}

.p-article__slider .slick-prev {
  left: -40px;
  border-bottom: 1px solid #20909d;
  border-left: 1px solid #20909d;
}

.js-slider2 .slick-prev {
  border-bottom: 3px solid #20909d;
  border-left: 3px solid #20909d;
}

@media screen and (max-width: 767px) {
  .js-slider2 .slick-prev {
    left: 10px;
  }
}

.p-article__slider .slick-prev:hover {
  border-bottom: 1px solid #4da6b1;
  border-left: 1px solid #4da6b1;
}

.js-slider2 .slick-prev:hover {
  border-bottom: 3px solid #4da6b1;
  border-left: 3px solid #4da6b1;
}

.p-article__slider .slick-next {
  right: -40px;
  border-top: 1px solid #20909d;
  border-right: 1px solid #20909d;
}

.js-slider2 .slick-next {
  border-top: 3px solid #20909d;
  border-right: 3px solid #20909d;
}

@media screen and (max-width: 767px) {
  .js-slider2 .slick-next {
    right: 10px;
  }
}

.p-article__slider .slick-next:hover {
  border-top: 1px solid #4da6b1;
  border-right: 1px solid #4da6b1;
}

.js-slider2 .slick-next:hover {
  border-top: 3px solid #4da6b1;
  border-right: 3px solid #4da6b1;
}

.p-article__description {
  margin-top: 50px;
  font-size: 1.6rem;
  line-height: 1.75;
}

@media screen and (max-width: 767px) {
  .p-article__description {
    margin-top: 3.73333vw;
    font-size: 3.73333vw;
    line-height: 1.86;
  }
}

.p-article__description + .p-article__table {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .p-article__description + .p-article__table {
    margin-top: 8vw;
  }
}

.p-article__table {
  border-top: 1px solid #ccc;
}

.p-article__table-header,
.p-article__table-detail {
  padding: 20px 0;
  border-bottom: 1px solid #ccc;
  font-size: 1.6rem;
  line-height: 1.75;
  text-align: left;
  vertical-align: top;
}

@media screen and (max-width: 767px) {
  .p-article__table-header,
  .p-article__table-detail {
    padding: 3.2vw 0;
    font-size: 3.73333vw;
    font-weight: 400;
    line-height: 1.71;
  }
}

.p-article__table-header {
  width: 20%;
  padding-right: 3.44%;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .p-article__table-header {
    width: 7em;
    padding-right: 0.8em;
  }
}

.p-article__table-detail {
  width: 80%;
  word-break: break-all;
}

@media screen and (max-width: 767px) {
  .p-article__table-detail {
    width: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-article__table-text + .p-article__table-text {
    margin-top: 1.71em;
  }
}

.p-article__table-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 52px;
  height: 23px;
  margin-left: 14px;
  color: #fff;
  font-size: 1.3rem;
  background-color: #20909d;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-article__table-detail .p-article__table-button {
  color: #fff;
}

@media screen and (min-width: 768px) {
  .p-article__table-button:hover {
    background-color: #4da6b1;
  }
}

@media screen and (max-width: 767px) {
  .p-article__table-button {
    width: 11.2vw;
    height: 5.06667vw;
    margin-left: 1.73333vw;
    font-size: 3.46667vw;
  }
}

.p-article__table + .c-button-group {
  margin-top: 48px;
}

@media screen and (max-width: 767px) {
  .p-article__table + .c-button-group {
    margin-top: 4.8vw;
  }
}

.p-article .l-section,
.p-article .l-section--fill {
  margin-top: 85px;
}

@media screen and (max-width: 767px) {
  .p-article .l-section,
  .p-article .l-section--fill {
    margin-top: 13.86667vw;
  }
}

.p-article__heading {
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-article__heading {
    font-size: 5.33333vw;
    line-height: 1.5;
  }
}

.p-article__heading + .p-article__table {
  margin-top: 27px;
}

@media screen and (max-width: 767px) {
  .p-article__heading + .p-article__table {
    margin-top: 7.46667vw;
  }
}

.p-article__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 34px -16px 0;
}

@media screen and (max-width: 767px) {
  .p-article__row {
    margin: 6.66667vw -1.86667vw 0;
  }
}

.p-article__row-half {
  width: 50%;
  padding: 0 16px;
}

@media screen and (max-width: 767px) {
  .p-article__row-half {
    padding: 0 1.86667vw;
  }
}

@media screen and (max-width: 767px) {
  .p-article__row .p-article__table-row:nth-child(1) th,
  .p-article__row .p-article__table-row:nth-child(3) th {
    height: 18.66667vw;
  }
}

.p-article__row .p-article__table-header {
  width: auto;
  padding-right: 0;
}

@media screen and (max-width: 767px) {
  .p-article__row .p-article__table-header {
    vertical-align: middle;
  }
}

.p-article__row .p-article__table-detail {
  width: 96px;
  font-weight: 600;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-article__row .p-article__table-detail {
    width: 2.4em;
    text-align: right;
    vertical-align: middle;
  }
}

.p-article__row + .c-button-group {
  margin-top: 51px;
}

@media screen and (max-width: 767px) {
  .p-article__row + .c-button-group {
    margin-top: 5.33333vw;
  }
}

.p-article__row + .c-button-group + .c-button-group {
  margin-top: 71px;
}

@media screen and (max-width: 767px) {
  .p-article__row + .c-button-group + .c-button-group {
    margin-top: 7.73333vw;
  }
}

.p-article-bottom {
  max-width: 928px;
  margin: 87px auto 37px;
  padding: 45px 0 42px;
  text-align: center;
  background-color: #f2f2f2;
}

@media screen and (max-width: 767px) {
  .p-article-bottom {
    margin: 12.26667vw 0 5.33333vw;
    padding: 8.26667vw 4vw 4.53333vw;
  }
}

.p-article-bottom__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: -6px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-article-bottom__tag {
  padding: 0 6.5px 6px;
}

@media screen and (max-width: 767px) {
  .p-article-bottom__tag {
    padding-bottom: 2.66667vw;
  }
}

.p-article-bottom__tag-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 28px;
  padding: 4px 20px 0 15px;
  border: solid 1px #b3b3b3;
  border-radius: 14px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .p-article-bottom__tag-link {
    height: 7.36vw;
    padding: 1.33333vw 5.33333vw 0 4vw;
    border-radius: 3.73333vw;
    font-size: 4.16vw;
  }
}

.p-article-bottom__tag-link:before {
  content: "#";
  color: #808080;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (min-width: 768px) {
  .p-article-bottom__tag-link:hover {
    color: #fff;
    background-color: #808080;
  }
  .p-article-bottom__tag-link:hover:before {
    color: #fff;
  }
}

.p-article-sns {
  margin-top: 58px;
}

@media screen and (max-width: 767px) {
  .p-article-sns {
    margin: 9.06667vw -1.66667vw 0;
  }
}

.p-article-sns__title {
  font-size: 1.9rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-article-sns__title {
    font-size: 5.06667vw;
  }
}

.p-article-sns__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 768px;
  margin: 28px auto 0;
}

@media screen and (max-width: 767px) {
  .p-article-sns__group {
    margin-top: 7.33333vw;
  }
}

.p-article-sns__item {
  width: 33.3333%;
  padding: 0 16px;
}

@media screen and (max-width: 767px) {
  .p-article-sns__item {
    padding: 0 1.66667vw;
  }
}

.p-article-sns__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 66px;
  border: 1px solid #fff;
  background-color: #fff;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-article-sns__button:hover {
    border: 1px solid #ccc;
  }
}

@media screen and (max-width: 767px) {
  .p-article-sns__button {
    height: 17.6vw;
  }
}

.p-article-sns__img {
  width: 34px;
  height: auto;
}

@media screen and (max-width: 767px) {
  .p-article-sns__img {
    width: 9.06667vw;
  }
}

.p-box,
.p-box--alert {
  padding: 10px;
  border: 1px solid transparent;
  color: #fff;
  background-color: #248b9a;
}

@media screen and (min-width: 768px) {
  .p-box,
  .p-box--alert {
    padding: 10px 20px;
  }
}

.p-box__title {
  font-weight: bold;
  line-height: 1.6;
}

.p-box__text {
  line-height: 1.4;
}

.p-box--alert {
  border-color: currentColor;
  color: #e00100;
  background-color: #ffe4e1;
}

* + .p-box,
* + .p-box--alert {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  * + .p-box,
  * + .p-box--alert {
    margin-top: 20px;
  }
}

.p-box-download {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 87px;
  padding: 37px 52px 23px 59px;
  border: solid 5px #f2f2f2;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-box-download {
    display: block;
    margin-top: 13.33333vw;
    padding: 6.66667vw 5.33333vw 8vw;
    border: solid 1.33333vw #f2f2f2;
  }
}

.p-box-download__body {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.p-box-download__figure {
  width: 139px;
  margin-left: 64px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media screen and (max-width: 767px) {
  .p-box-download__figure {
    margin: 8vw auto 0;
  }
}

.p-box-download__title {
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-box-download__title {
    font-size: 4.26667vw;
    line-height: 1.56;
  }
}

.p-box-download__text {
  min-height: 56px;
  margin-top: 15px;
  font-size: 1.6rem;
  line-height: 1.75;
}

@media screen and (max-width: 767px) {
  .p-box-download__text {
    min-height: 0;
    margin-top: 5.86667vw;
    font-size: 3.73333vw;
    line-height: 1.64;
  }
}

.p-box-download .c-button-group {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

@media screen and (max-width: 767px) {
  .p-box-download .c-button-group {
    margin-top: 5.33333vw;
  }
}

.p-box-author {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 62px;
  padding: 32px 59px 32px 32px;
  border: solid 5px #f2f2f2;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

@media screen and (max-width: 767px) {
  .p-box-author {
    display: block;
    padding: 8vw 4vw 5.33333vw;
    border: solid 1.33333vw #f2f2f2;
  }
}

.p-box-author__figure {
  overflow: hidden;
  width: 160px;
  height: 160px;
  margin-right: 60px;
  border-radius: 50%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media screen and (max-width: 767px) {
  .p-box-author__figure {
    width: 21.33333vw;
    height: 21.33333vw;
    margin: 7.73333vw auto 0;
  }
}

.p-box-author__title {
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-box-author__title {
    font-size: 6.4vw;
    text-align: center;
  }
}

.p-box-author__title-category {
  display: block;
  padding-bottom: 19px;
  font-size: 1.6rem;
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .p-box-author__title-category {
    padding-bottom: 5.33333vw;
    font-size: 3.2vw;
  }
}

@media screen and (max-width: 767px) {
  .p-box-author__body {
    margin-top: 8.53333vw;
  }
}

.p-box-author__text {
  margin-top: 25px;
}

@media screen and (max-width: 767px) {
  .p-box-author__text {
    margin-top: 0;
  }
}

.p-box-sns {
  margin-top: 66px;
  padding: 30px 0 42px;
  background-color: #f2f2f2;
}

@media screen and (max-width: 767px) {
  .p-box-sns {
    margin: 9.33333vw -4vw 0;
    padding: 8vw 4vw 4vw;
  }
}

.p-box-sns .p-sns {
  margin-top: 0;
}

.p-breadcrumb {
  height: 56px;
  margin: 80px 0 0 0;
  padding: 0 4.08163vw;
}

@media screen and (max-width: 767px) {
  .p-breadcrumb {
    display: none;
  }
}

.p-breadcrumb + * {
  margin-top: 36px;
}

@media screen and (max-width: 767px) {
  .p-breadcrumb + * {
    margin-top: 0;
  }
}

.p-breadcrumb__in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  padding: 0 2.04082vw;
  color: #808080;
  font-size: 1.2rem;
  background-color: #d4e5e5;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-breadcrumb__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.p-breadcrumb__item + .p-breadcrumb__item::before {
  content: "＞";
  margin: 0 1em;
}

.p-breadcrumb__link {
  color: #20909d;
}

.p-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.p-card__in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  background-color: #fff;
  flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
}

.p-card__hero {
  overflow: hidden;
  position: relative;
  padding-bottom: 56.25%;
}

.p-card__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.6s;
  transition: -webkit-transform 0.6s;
  transition: transform 0.6s;
  transition: transform 0.6s, -webkit-transform 0.6s;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-card__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
}

@media screen and (max-width: 767px) {
  .p-card__body {
    padding: 0 4vw;
  }
}

@media screen and (max-width: 767px) {
  .l-block--large-padding .p-card__body {
    padding: 0;
  }
}

.p-card__title {
  margin-top: 12px;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.67;
  letter-spacing: 0.1em;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-card__title_s {
  margin: 5px 20px !important;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.67;
  letter-spacing: 0.1em;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-card__title_t {
  margin: 5px 20px !important;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.67;
  letter-spacing: 0.1em;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-card__reseach_t {
  margin: 3px 20px !important;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.67;
  letter-spacing: 0.1em;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  white-space: nowrap
}

@media screen and (max-width: 767px) {
  .p-card__title {
    margin-top: 4.26667vw;
    font-size: 5.33333vw;
    line-height: 1.6;
  }
}

.p-card__title--middle {
  margin-top: 18px;
  font-size: 2rem;
}

@media screen and (max-width: 767px) {
  .p-card__title--middle {
    font-size: 3.73333vw;
    line-height: 1.64;
  }
}

@media screen and (max-width: 767px) {
  .p-card__title--middle + .p-card__text {
    font-size: 2.93333vw;
    line-height: 1.64;
  }
}

.p-card__title--small {
  font-size: 1.6rem !important;
  line-height: 1.75 !important;
}

@media screen and (max-width: 767px) {
  .p-card__title--small {
    font-size: 3.73333vw !important;
    line-height: 1.64 !important;
  }
}

.p-card__text {
  margin-top: 13px;
  font-size: 1.6rem;
  line-height: 1.75;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (max-width: 767px) {
  .p-card__text {
    margin-top: 3.46667vw;
    font-size: 3.73333vw;
  }
}

.p-card__area {
  margin-top: 11px;
  font-size: 1rem;
  letter-spacing: 0.1em;
}

.p-card__area:before {
  content: "[";
}

.p-card__area:after {
  content: "]";
}

.p-card__button-group {
  margin-top: auto;
  padding-top: 20px;
}

.p-card__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 12px 0 -14px 0;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .p-card__tags {
    margin-top: 2.66667vw;
    margin-right: 1em;
    margin-left: 1em;
  }
}

.p-card__tags--link {
  margin-bottom: -9px;
}

.p-card__tags--link .p-card__tag {
  padding-bottom: 9px;
}

.p-card__tag {
  margin-right: 1em;
  padding-bottom: 14px;
  color: #666;
  font-size: 1.1rem;
}

.p-card__tag_s {
  margin-right: 1em;
  padding-bottom: 20px;
  color: #666;
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  .p-card__tag {
    padding-bottom: 2.93333vw;
    font-size: 2.66667vw;
  }
}

.p-card__tag:before {
  content: "#";
}

.p-card__tags--link .p-card__tag:before {
  content: "";
}

.p-card__tag-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 19px;
  padding: 0 15px;
  border-radius: 10px;
  background-color: #f2f2f2;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-card__tag-link:before {
  content: "#";
}

.p-card__tag-link_sel {
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 19px;
  padding: 0 15px;
  border-radius: 10px;
  background-color: #888;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-card__tag-link_sel:before {
  content: "#";
}

.p-card__tag-link_s {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 19px;
  padding: 20px 20px;
  border-radius: 20px;
  background-color: #f2f2f2;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-card__tag-link_s:before {
  content: "#";
}

.p-card_search_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0;
  border-radius: 25px;
  background-color: #f2f2f2;
  -webkit-box-align: left;
  -ms-flex-align: left;
  align-items: left;
  -webkit-box-pack: left;
  -ms-flex-pack: leftr;
  justify-content: left;
}

.p-card_search_link_sel {
  color:#fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0;
  border-radius: 25px;
  background-color: #888;
  -webkit-box-align: left;
  -ms-flex-align: left;
  align-items: left;
  -webkit-box-pack: left;
  -ms-flex-pack: leftr;
  justify-content: left;
}

.p-card_search_link_research {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0;
  border-radius: 25px;
  background-color: #aaccf2;
  -webkit-box-align: left;
  -ms-flex-align: left;
  align-items: left;
  -webkit-box-pack: left;
  -ms-flex-pack: leftr;
  justify-content: left;
  margin-top: 20px;
  width: 200px;
}

@media screen and (min-width: 768px) {
  .p-card__tag-link:hover {
    color: #fff;
    background-color: #666;
  }
}

@media screen and (min-width: 768px) {
  [href]:hover .p-card__image {
    -webkit-transform: scale(1.04);
    transform: scale(1.04);
  }
}

[href]:hover .p-card__title,
[href]:hover .p-card__text,
[href]:hover .p-card__area {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (min-width: 768px) {
  [href]:hover .p-card__title,
  [href]:hover .p-card__text,
  [href]:hover .p-card__area {
    color: #666;
  }
}

.p-card-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -16px -80px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .p-card-group {
    margin: 0;
  }
}

.p-card-group__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 50%;
  padding: 0 16px 80px;
}
.p-card-group__item_s {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding: 0 16px 80px;
}
.p-card-group__item_t {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 50%;
  padding: 0 16px 80px;
}

@media screen and (max-width: 767px) {
  .p-card-group__item {
    display: block;
    width: 100%;
    padding: 0;
  }
  .p-card-group__item + .p-card-group__item {
    margin-top: 13.33333vw;
  }
}

@media screen and (min-width: 768px) {
  .p-card-group__item--col4 {
    width: 33.3333%;
  }
}

.p-card-group__item--col4 .p-card__title {
  font-size: 2rem;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .p-card-group__item--col4 .p-card__title {
    font-size: 5.33333vw;
  }
}

.p-card-group__item--col4 .p-card__text {
  margin-top: 13px;
  font-size: 1.4rem;
  line-height: 1.79;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (max-width: 767px) {
  .p-card-group__item--col4 .p-card__text {
    margin-top: 3.46667vw;
    font-size: 3.73333vw;
  }
}

.p-card-group + .c-button-group {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .p-card-group + .c-button-group {
    margin: 9.33333vw 0 0;
    padding: 0 2.66667vw;
  }
}

@media screen and (max-width: 767px) {
  .l-block--large-padding .p-card-group + .c-button-group {
    margin-right: -1.33333vw;
    margin-left: -1.33333vw;
    padding: 0;
  }
}

.p-card-group + .l-section,
.p-card-group + .l-section--fill {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .p-card-group + .l-section,
  .p-card-group + .l-section--fill {
    margin-top: 16vw;
  }
}

.p-card-flag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 767px) {
  .p-card-flag {
    display: block;
  }
}

.p-card-flag + .p-card-flag {
  margin-top: 54px;
}

@media screen and (max-width: 767px) {
  .p-card-flag + .p-card-flag {
    margin-top: 12vw;
  }
}

.p-card-flag__wrap + * {
  margin-top: 76px;
}

.p-card-flag__figure {
  overflow: hidden;
  width: 352px;
  height: 215.7px;
  margin-right: 32px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media screen and (max-width: 767px) {
  .p-card-flag__figure {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 61.27%;
  }
}

.p-card-flag__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .p-card-flag__img {
    position: absolute;
    top: 0;
    left: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-card-flag__body {
    margin-top: 5.33333vw;
  }
}

.p-card-flag__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 2.8rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

@media screen and (max-width: 767px) {
  .p-card-flag__title {
    font-size: 5.33333vw;
  }
}

.p-card-flag__title-link {
  margin-left: 15px;
  font-size: 1.3rem;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .p-card-flag__title-link:hover {
    color: #666;
  }
  .p-card-flag__title-link:hover:after {
    border-right: 1px solid #666;
    border-bottom: 1px solid #666;
  }
}

@media screen and (max-width: 767px) {
  .p-card-flag__title-link {
    margin-left: 2.93333vw;
    font-size: 2.93333vw;
  }
}

.p-card-flag__title-link:after {
  content: "";
  display: inline-block;
  position: relative;
  bottom: 2px;
  width: 12px;
  height: 6px;
  margin-left: 4px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: skew(45deg, 0);
  transform: skew(45deg, 0);
}

@media screen and (max-width: 767px) {
  .p-card-flag__title-link:after {
    bottom: 0.26667vw;
    width: 3.2vw;
    height: 1.6vw;
    margin-left: 0.53333vw;
  }
}

.p-card-flag__text {
  margin-top: 17px;
  font-size: 1.4rem;
  line-height: 1.79;
}

@media screen and (max-width: 767px) {
  .p-card-flag__text {
    margin-top: 3.73333vw;
    font-size: 3.73333vw;
  }
}

.p-card-flag__list {
  margin-top: 8px;
}

@media screen and (max-width: 767px) {
  .p-card-flag__list {
    margin-top: 2.13333vw;
  }
}

.p-card-flag__item {
  position: relative;
  padding-left: 23px;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .p-card-flag__item {
    font-size: 4.26667vw;
  }
}

.p-card-flag__item:before {
  content: "";
  position: absolute;
  top: 9px;
  left: 0;
  width: 12px;
  height: 6px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  -webkit-transform: skew(45deg, 0);
  transform: skew(45deg, 0);
}

.p-card-flag__item + .p-card-flag__item {
  margin-top: 6px;
}

.p-card-full__title {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.67;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-card-full__title {
    font-size: 4.8vw;
    line-height: 1.67;
  }
}

.p-card-full .c-text {
  margin-top: 16px;
}

@media screen and (max-width: 767px) {
  .p-card-full .c-text {
    margin-top: 5.33333vw;
  }
}

.p-card-full__figure {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .p-card-full__figure {
    margin-top: 8vw;
  }
}

.p-card-full + .p-card-full {
  margin-top: 72px;
}

@media screen and (max-width: 767px) {
  .p-card-full + .p-card-full {
    margin-top: 8.53333vw;
  }
}

@media screen and (min-width: 768px) {
  .p-cms {
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media screen and (min-width: 968px) {
  .p-cms {
    padding-right: calc((100% - 800px) / 2);
    padding-left: calc((100% - 800px) / 2);
  }
}

@media screen and (max-width: 767px) {
  .p-cms {
    padding-right: 4vw;
    padding-left: 4vw;
  }
}

.p-cms-h2 {
  font-weight: 600;
}

@media screen and (min-width: 768px) {
  .p-cms-h2 {
    font-size: 3rem;
    line-height: 1.2;
    letter-spacing: 0.1em;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-h2 {
    font-size: 5.33333vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}

@media screen and (min-width: 768px) {
  .p-cms-h2 {
    margin-top: 45px;
  }
  .p-cms-h2:nth-child(n) + * {
    margin-top: 34px;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-h2 {
    margin-top: 6.93333vw;
  }
  .p-cms-h2:nth-child(n) + * {
    margin-top: 5.06667vw;
  }
}

.p-cms-h2:first-child {
  margin-top: 0;
}

.p-cms-h3 {
  font-weight: 600;
  background: #f2f2f2;
}

@media screen and (min-width: 768px) {
  .p-cms-h3 {
    padding: 12px 17px 10px;
    font-size: 2.4rem;
    line-height: 1.33333;
    letter-spacing: 0.1em;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-h3 {
    padding: 2.13333vw 3.2vw 3.73333vw;
    font-size: 4.8vw;
    line-height: 1.33333;
    letter-spacing: 0.1em;
  }
}

@media screen and (min-width: 768px) {
  .p-cms-h3 {
    margin-top: 40px;
  }
  .p-cms-h3:nth-child(n) + * {
    margin-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-h3 {
    margin-top: 10.66667vw;
  }
  .p-cms-h3:nth-child(n) + * {
    margin-top: 10.93333vw;
  }
}

.p-cms-h3:first-child {
  margin-top: 0;
}

.p-cms-h4 {
  position: relative;
  font-weight: 600;
}

@media screen and (min-width: 768px) {
  .p-cms-h4 {
    padding: 1px 0 2px 17px;
    font-size: 2rem;
    line-height: 1.3;
    letter-spacing: 0.1em;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-h4 {
    padding: 0.26667vw 0 1.06667vw 4.53333vw;
    font-size: 4.26667vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}

.p-cms-h4:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  background: #ccc;
}

@media screen and (min-width: 768px) {
  .p-cms-h4:before {
    width: 8px;
    height: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-h4:before {
    width: 8px;
    height: 100%;
  }
}

@media screen and (min-width: 768px) {
  .p-cms-h4 {
    margin-top: 40px;
  }
  .p-cms-h4:nth-child(n) + * {
    margin-top: 19px;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-h4 {
    margin-top: 10.93333vw;
  }
  .p-cms-h4:nth-child(n) + * {
    margin-top: 3.73333vw;
  }
}

.p-cms-h4:first-child {
  margin-top: 0;
}

.p-cms-h5 {
  position: relative;
  font-weight: normal;
}

@media screen and (min-width: 768px) {
  .p-cms-h5 {
    font-size: 1.8rem;
    letter-spacing: 0.1em;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-h5 {
    font-size: 4vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}

@media screen and (min-width: 768px) {
  .p-cms-h5 {
    margin-top: 42px;
  }
  .p-cms-h5:nth-child(n) + * {
    margin-top: 11px;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-h5 {
    margin-top: 8vw;
  }
  .p-cms-h5:nth-child(n) + * {
    margin-top: 2.13333vw;
  }
}

.p-cms-h5:first-child {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .p-cms-p {
    font-size: 1.6rem;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-p {
    font-size: 3.73333vw;
    line-height: 1.92857;
  }
}

.p-cms-p a,
.p-article__description a,
.p-article__table-detail a,
.p-article__table-text a {
  color: #20909d;
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  .p-cms-p a:hover {
    text-decoration: underline;
  }
}

@media screen and (min-width: 768px) {
  .p-cms-p {
    margin-top: 42px;
  }
  .p-cms-p + .p-cms-p {
    margin-top: 8px;
  }
  .p-cms-p:first-child {
    margin-top: -0.5em;
  }
  .p-cms-p:last-child {
    margin-bottom: -0.5em;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-p {
    margin-top: 6.13333vw;
  }
  .p-cms-p + .p-cms-p {
    margin-top: 1.06667vw;
  }
  .p-cms-p:first-child {
    margin-top: -0.46429em;
  }
  .p-cms-p:last-child {
    margin-bottom: -0.46429em;
  }
}

@media screen and (min-width: 768px) {
  .p-cms-ul {
    font-size: 1.6rem;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-ul {
    font-size: 3.73333vw;
    line-height: 1.92857;
  }
}

.p-cms-ul__li:before {
  content: "・";
}

@media screen and (min-width: 768px) {
  .p-cms-ul__li:before {
    padding-left: 4px;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-ul__li:before {
    padding-left: 1.06667vw;
  }
}

@media screen and (min-width: 768px) {
  .p-cms-ul {
    margin-top: 28px;
  }
  .p-cms-ul + .p-cms-ul,
  .p-cms-ol + .p-cms-ul {
    margin-top: 31px;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-ul {
    margin-top: 6.93333vw;
  }
  .p-cms-ul + .p-cms-ul,
  .p-cms-ol + .p-cms-ul {
    margin-top: 5.06667vw;
  }
}

.p-cms-ul:first-child {
  margin-top: 0;
}

.p-cms-ol {
  counter-reset: num 0;
}

@media screen and (min-width: 768px) {
  .p-cms-ol {
    font-size: 1.6rem;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-ol {
    font-size: 3.73333vw;
    line-height: 1.92857;
  }
}

.p-cms-ol__li {
  counter-increment: num 1;
}

.p-cms-ol__li:before {
  content: counter(num) ".";
}

@media screen and (min-width: 768px) {
  .p-cms-ol__li:before {
    padding-right: 4px;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-ol__li:before {
    padding-right: 1.06667vw;
  }
}

@media screen and (min-width: 768px) {
  .p-cms-ol {
    margin-top: 28px;
  }
  .p-cms-ol + .p-cms-ol,
  .p-cms-ul + .p-cms-ol {
    margin-top: 31px;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-ol {
    margin-top: 6.93333vw;
  }
  .p-cms-ol + .p-cms-ol,
  .p-cms-ul + .p-cms-ol {
    margin-top: 5.06667vw;
  }
}

.p-cms-ol:first-child {
  margin-top: 0;
}

.p-cms-table {
  display: block;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-cms-table {
    margin: -4vw 0;
  }
}

.p-cms-table__container {
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: auto;
}

::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 7px;
}

::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 1px rgba(255, 255, 255, 0.3);
}

@media screen and (max-width: 767px) {
  .p-cms-table__container-in {
    width: 141.33333vw;
    padding: 0 4vw 0;
  }
}

.p-cms-table__scrollbar {
  position: relative;
  width: auto;
  height: 2.4vw;
  margin: 2.13333vw 4vw 0;
  background: #ccc;
}

@media screen and (min-width: 768px) {
  .p-cms-table__scrollbar {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-table__scrollbar {
    display: block;
  }
}

.p-cms-table__scrollbar-bar {
  display: block;
  overflow: hidden;
  position: absolute;
  width: auto;
  height: 100%;
  text-indent: -9999px;
  background: #999;
  cursor: pointer;
}

.p-cms-table table {
  border: solid #ccc;
  border-width: 1px 0 0 1px;
}

@media screen and (min-width: 768px) {
  .p-cms-table table {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-table table {
    font-size: 3.73333vw;
    line-height: 1.57143;
  }
}

.p-cms-table th,
.p-cms-table td {
  border: solid #ccc;
  border-width: 0 1px 1px 0;
}

@media screen and (min-width: 768px) {
  .p-cms-table th,
  .p-cms-table td {
    padding: 15px 30px 15px;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-table th,
  .p-cms-table td {
    padding: 3.2vw 4vw 3.46667vw;
  }
}

.p-cms-table th {
  text-align: center;
  background: #f2f2f2;
}

.p-cms-table td {
  text-align: left;
}

.p-cms-table.p-cms-table-fixed tr:nth-child(odd) td {
  background: #fafafa;
}

.p-cms-table.p-cms-table-fixed tr th:first-child,
.p-cms-table.p-cms-table-fixed tr td:first-child {
  position: -webkit-sticky;
  position: sticky;
}

@media screen and (min-width: 768px) {
  .p-cms-table {
    margin-top: 70px;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-table {
    margin-top: 10.66667vw;
  }
}

.p-cms-table:first-child {
  margin-top: 0;
}

.p-cms-img {
  display: block;
  margin-top: 10.66667vw;
}

@media screen and (max-width: 768px) {
  .p-cms-img {
    margin-top: 16px;
  }
}

.p-cms-img__image {
  display: block;
  margin: auto;
}

.p-cms-img__caption {
  color: #4d4d4d;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-cms-img__caption {
    margin-top: 19px;
    font-size: 1.4rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-img__caption {
    margin-top: 1.6vw;
    font-size: 2.66667vw;
    line-height: 1.5;
  }
}

.p-cms-img__leftcaption {
  color: #4d4d4d;
  text-align: center;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .p-cms-img__leftcaption {
    margin-top: 19px;
    font-size: 1.4rem;
    line-height: 1.5;
    text-align: left;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-img__leftcaption {
    margin-top: 1.6vw;
    font-size: 2.66667vw;
    line-height: 1.5;
    text-align: left;
  }
}

@media screen and (min-width: 768px) {
  .p-cms-img__text {
    margin-top: 8px;
    font-size: 1.4rem;
    line-height: 1.57143;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-img__text {
    margin-top: 2.13333vw;
    font-size: 3.73333vw;
    line-height: 1.57143;
  }
}

@media screen and (min-width: 768px) {
  .p-cms-img {
    margin-top: 34px;
  }
}

.p-cms-img:first-child {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .p-cms-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 27px 27px 27px;
    border: 5px solid #f2f2f2;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-box {
    display: block;
    padding: 4vw 4vw 4vw;
    border: 1.33333vw solid #f2f2f2;
  }
}

.p-cms-box__in {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-cms-box__in {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1 1;
  }
}

.p-cms-box__col {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-cms-box__col--detail {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1 1;
  }
}

@media screen and (min-width: 768px) {
  .p-cms-box__col--image {
    width: 290px;
    margin-right: 29px;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-box__col--image {
    margin-top: 9.06667vw;
  }
  .p-cms-box__col--image img {
    display: block;
    margin: auto;
  }
}

@media screen and (min-width: 768px) {
  .p-cms-box__title {
    font-size: 1.8rem;
    line-height: 1.44444;
    letter-spacing: 0.1em;
  }
  .p-cms-box__title:first-child {
    margin-top: -0.22222em;
  }
  .p-cms-box__title:last-child {
    margin-bottom: -0.22222em;
  }
  .p-cms-box__title:nth-child(n) + * {
    margin-top: 10px;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-box__title {
    font-size: 4vw;
    line-height: 1.6;
    letter-spacing: 0.1em;
  }
  .p-cms-box__title:first-child {
    margin-top: -0.3em;
  }
  .p-cms-box__title:last-child {
    margin-bottom: -0.3em;
  }
  .p-cms-box__title:nth-child(n) + * {
    margin-top: 1.33333vw;
  }
}

@media screen and (min-width: 768px) {
  .p-cms-box {
    margin-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-box {
    margin-top: 10.4vw;
  }
}

.p-cms-box:first-child {
  margin-top: 0;
}

.p-cms-card__thumb {
  display: block;
  margin: auto;
}

.p-cms-card__detail a {
  color: #20909d;
  text-decoration: none;
}
.p-cms-card__detail a:hover {
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .p-cms-card__title {
    margin-top: 22px;
    font-size: 1.8rem;
    line-height: 1.44444;
    letter-spacing: 0.1em;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-card__title {
    margin-top: 2.93333vw;
    font-size: 4vw;
    line-height: 1.6;
    letter-spacing: 0.1em;
  }
}

@media screen and (min-width: 768px) {
  .p-cms-card__detail {
    margin-top: 9px;
    font-size: 1.4rem;
    line-height: 1.75;
    color: #4d4d4d;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-card__detail {
    margin-top: 1.6vw;
    margin-bottom: 16px;
    font-size: 2.66667vw;
    line-height: 1.92857;
  }
}

@media screen and (min-width: 768px) {
  .p-cms-card--small .p-cms-card__title {
    margin-top: 18px;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-card--small .p-cms-card__title {
    margin-top: 2.66667vw;
    font-size: 3.46667vw;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-card--small .p-cms-card__detail {
    margin-top: 1.86667vw;
    font-size: 2.93333vw;
    line-height: 1.54545;
  }
}

.p-cms-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .p-cms-grid {
    margin: 0 -16px -48px;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-grid {
    margin: 0 -2vw;
  }
}

@media screen and (min-width: 768px) {
  .p-cms-grid__col {
    padding: 0 16px 48px;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-grid__col {
    padding: 0 2vw;
  }
}

.p-cms-grid__col--1 {
  width: 8.33333%;
}

@media screen and (min-width: 768px) {
  .p-cms-grid__col--1-lg {
    width: 8.33333%;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-grid__col--1-md {
    width: 8.33333%;
  }
}

.p-cms-grid__col--2 {
  width: 16.66667%;
}

@media screen and (min-width: 768px) {
  .p-cms-grid__col--2-lg {
    width: 16.66667%;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-grid__col--2-md {
    width: 16.66667%;
  }
}

.p-cms-grid__col--3 {
  width: 25%;
}

@media screen and (min-width: 768px) {
  .p-cms-grid__col--3-lg {
    width: 25%;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-grid__col--3-md {
    width: 25%;
  }
}

.p-cms-grid__col--4 {
  width: 33.33333%;
}

@media screen and (min-width: 768px) {
  .p-cms-grid__col--4-lg {
    width: 33.33333%;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-grid__col--4-md {
    width: 33.33333%;
  }
}

.p-cms-grid__col--5 {
  width: 41.66667%;
}

@media screen and (min-width: 768px) {
  .p-cms-grid__col--5-lg {
    width: 41.66667%;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-grid__col--5-md {
    width: 41.66667%;
  }
}

.p-cms-grid__col--6 {
  width: 50%;
}

@media screen and (min-width: 768px) {
  .p-cms-grid__col--6-lg {
    width: 50%;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-grid__col--6-md {
    width: 50%;
  }
}

.p-cms-grid__col--7 {
  width: 58.33333%;
}

@media screen and (min-width: 768px) {
  .p-cms-grid__col--7-lg {
    width: 58.33333%;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-grid__col--7-md {
    width: 58.33333%;
  }
}

.p-cms-grid__col--8 {
  width: 66.66667%;
}

@media screen and (min-width: 768px) {
  .p-cms-grid__col--8-lg {
    width: 66.66667%;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-grid__col--8-md {
    width: 66.66667%;
  }
}

.p-cms-grid__col--9 {
  width: 75%;
}

@media screen and (min-width: 768px) {
  .p-cms-grid__col--9-lg {
    width: 75%;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-grid__col--9-md {
    width: 75%;
  }
}

.p-cms-grid__col--10 {
  width: 83.33333%;
}

@media screen and (min-width: 768px) {
  .p-cms-grid__col--10-lg {
    width: 83.33333%;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-grid__col--10-md {
    width: 83.33333%;
  }
}

.p-cms-grid__col--11 {
  width: 91.66667%;
}

@media screen and (min-width: 768px) {
  .p-cms-grid__col--11-lg {
    width: 91.66667%;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-grid__col--11-md {
    width: 91.66667%;
  }
}

.p-cms-grid__col--12 {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-cms-grid__col--12-lg {
    width: 50%;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-grid__col--12-md {
    width: 50%;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-grid--small {
    margin-bottom: -4vw;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-grid--small .p-cms-grid__col {
    padding-bottom: 4vw;
  }
}

@media screen and (min-width: 768px) {
  .p-cms-grid {
    margin-top: 32px;
  }
  .p-cms-grid + .p-cms-grid {
    margin-top: 32px;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-grid {
    margin-top: 16px;
  }
  .p-cms-grid + .p-cms-grid {
    margin-top: 10.13333vw;
  }
}

.p-cms-grid:first-child {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .p-cms-set-01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 -16px -32px;
  }
}

@media screen and (min-width: 768px) {
  .p-cms-set-01__col {
    width: 50%;
    padding: 0 16px 32px;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-set-01 .p-cms-p:first-child {
    margin-top: 6.13333vw;
  }
}

@media screen and (min-width: 768px) {
  .p-cms-set-01 {
    margin-top: 42px;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-set-01 {
    margin-top: 7.46667vw;
  }
}

.p-cms-set-01:first-child {
  margin-top: 0;
}

.p-cms-movie {
  display: block;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-cms-movie {
    margin-top: 74px;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-movie {
    margin-top: 10.13333vw;
  }
}

.p-cms-movie:first-child {
  margin-top: 0;
}

.p-cms-map {
  position: relative;
  width: 100%;
  height: 0;
}

@media screen and (min-width: 768px) {
  .p-cms-map {
    padding-bottom: 56.25%;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-map {
    padding-bottom: 61.5873%;
  }
}

.p-cms-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .p-cms-map {
    margin-top: 70px;
  }
}

@media screen and (max-width: 767px) {
  .p-cms-map {
    margin-top: 10.66667vw;
  }
}

.p-cms-map:first-child {
  margin-top: 0;
}

.p-current.is-current {
  color: #e00100;
}

.p-event-navigation {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-hero-slim + .p-event-navigation {
    margin-top: 52px;
  }
}

@media screen and (max-width: 767px) {
  .p-hero-slim + .p-event-navigation {
    margin-top: 6.66667vw;
  }
}

@media screen and (min-width: 768px) {
  .p-event-post + .p-event-navigation {
    margin-top: 122px;
  }
}

@media screen and (max-width: 767px) {
  .p-event-post + .p-event-navigation {
    margin-top: 18.66667vw;
  }
}

@media screen and (min-width: 768px) {
  .p-event-navigation {
    max-width: 100vw;
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media screen and (min-width: 1160px) {
  .p-event-navigation {
    padding-right: calc((100% - 1120px) / 2);
    padding-left: calc((100% - 1120px) / 2);
  }
}

.p-event-navigation__in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #e6e6e6;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.p-event-navigation__date {
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1 1;
}

.p-event-navigation__date-in {
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

@media screen and (min-width: 768px) {
  .p-event-navigation__date-in {
    width: calc(100vw - 68px * 2);
  }
}

@media screen and (min-width: 1160px) {
  .p-event-navigation__date-in {
    width: 1024px;
  }
}

@media screen and (max-width: 767px) {
  .p-event-navigation__date-in {
    width: 100vw;
    -webkit-overflow-scrolling: auto;
  }
}

.p-event-navigation__date-in::-webkit-scrollbar {
  display: none;
  height: 0;
  -webkit-appearance: none;
}

@media screen and (min-width: 768px) {
  .p-event-navigation__date-button {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .p-event-navigation__date-button {
    display: none;
  }
}

.p-event-navigation__date-button a {
  display: block;
  overflow: hidden;
  width: 48px;
  height: 48px;
  text-indent: -9999px;
  background: url("/files/user/image/ico/ico_arrow_event_navi.svg") center center no-repeat;
  -webkit-transition: 0.3s opacity;
  transition: 0.3s opacity;
}

@media screen and (min-width: 768px) {
  .p-event-navigation__date-button a:hover {
    opacity: 0.6;
  }
}

.p-event-navigation__date-button a.is-disabled {
  opacity: 0.2;
  pointer-events: none;
}

.p-event-navigation__date-button--next a {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.p-event-navigation__date-list {
  display: block;
  margin: 0 -1px 0 0;
  font-size: 0;
  white-space: nowrap;
}

.p-event-navigation__date-list-item {
  display: inline-block;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-event-navigation__date-list-item {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 767px) {
  .p-event-navigation__date-list-item {
    font-size: 1.4rem;
  }
}

@media screen and (min-width: 768px) {
  .p-event-navigation__date-list-item {
    width: 128px;
    padding: 40px 1px 0 0;
  }
}

@media screen and (max-width: 767px) {
  .p-event-navigation__date-list-item {
    width: 18.4vw;
    padding: 8.8vw 1px 0 0;
  }
}

.p-event-navigation__date-list-item:first-child {
  position: static;
}

.p-event-navigation__date-list-item:first-child.is-last {
  position: relative;
}

.p-event-navigation__date-list-item:first-child .p-event-navigation__date-year {
  display: block;
}

.p-event-navigation__date-list-item:first-child.is-pass .p-event-navigation__date-year {
  display: none;
}

.p-event-navigation__date-list-item.is-pass + .p-event-navigation__date-list-item:not(.is-pass) {
  position: static;
}

.p-event-navigation__date-list-item.is-pass
  + .p-event-navigation__date-list-item:not(.is-pass)
  .p-event-navigation__date-year {
  display: block;
}

.p-event-navigation__date-list-item.is-pass + .p-event-navigation__date-list-item:not(.is-pass).is-last {
  position: relative;
}

.p-event-navigation__date-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  color: #fff;
  background: #20909d;
  -webkit-transition: 0.3s background;
  transition: 0.3s background;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-event-navigation__date-link {
    height: 46px;
  }
}

@media screen and (max-width: 767px) {
  .p-event-navigation__date-link {
    height: 10.66667vw;
  }
}

@media screen and (min-width: 768px) {
  .p-event-navigation__date-link:hover {
    background: rgba(32, 144, 157, 0.6);
  }
}

.is-current .p-event-navigation__date-link {
  color: #20909d;
  background: #fff;
}

.p-event-navigation__date-year {
  display: none;
  position: absolute;
  top: 0;
  color: #808080;
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  .p-event-navigation__date-year {
    left: 0;
    margin: 14px 0 0;
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 767px) {
  .p-event-navigation__date-year {
    left: 10.66667vw;
    margin: 2.66667vw 0 0;
    font-size: 2.66667vw;
  }
}

.is-index .p-event-navigation__date-year {
  display: block;
}

.p-event-navigation__date-month {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-event-navigation__date-month {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 767px) {
  .p-event-navigation__date-month {
    font-size: 3.73333vw;
  }
}

.p-event-switch {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-event-switch {
    max-width: 100vw;
    margin: 40px 0 0;
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media screen and (min-width: 1160px) {
  .p-event-switch {
    padding-right: calc((100% - 1120px) / 2);
    padding-left: calc((100% - 1120px) / 2);
  }
}

@media screen and (max-width: 767px) {
  .p-event-switch {
    margin: 4.53333vw 0 0;
    padding-right: 4vw;
    padding-left: 4vw;
  }
}

.p-event-switch__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

@media screen and (min-width: 768px) {
  .p-event-switch__list {
    margin: 0 -11px 0 0;
  }
}

@media screen and (max-width: 767px) {
  .p-event-switch__list {
    margin: 0 -2.93333vw 0 0;
  }
}

.p-event-switch__list-item {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-event-switch__list-item {
    padding: 0 11px 0 0;
  }
}

@media screen and (max-width: 767px) {
  .p-event-switch__list-item {
    padding: 0 2.93333vw 0 0;
  }
}

.p-event-switch__list-link {
  display: block;
  overflow: hidden;
  border-radius: 5px;
  text-indent: -9999px;
  -webkit-transition: 0.5s opacity;
  transition: 0.5s opacity;
}

@media screen and (min-width: 768px) {
  .p-event-switch__list-link {
    width: 40px;
    height: 40px;
  }
}

@media screen and (max-width: 767px) {
  .p-event-switch__list-link {
    width: 10.66667vw;
    height: 10.66667vw;
  }
}

@media screen and (min-width: 768px) {
  .p-event-switch__list-link:hover {
    opacity: 0.6;
  }
}

.p-event-switch__list-link.is-default {
  background: url("/files/user/image/ico/ico_event_style_01.svg") center center no-repeat;
}

@media screen and (max-width: 767px) {
  .p-event-switch__list-link.is-default {
    background-size: 5.06667vw auto;
  }
}

.p-event-switch__list-link.is-list {
  background: url("/files/user/image/ico/ico_event_style_02.svg") center center no-repeat;
}

@media screen and (max-width: 767px) {
  .p-event-switch__list-link.is-list {
    background-size: 5.06667vw auto;
  }
}

.p-event-switch__list-link.is-active {
  background-color: #f2f2f2;
  pointer-events: none;
}

.p-event-post {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-event-post {
    max-width: 100vw;
    margin: 33px 0 0;
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media screen and (min-width: 1160px) {
  .p-event-post {
    padding-right: calc((100% - 1120px) / 2);
    padding-left: calc((100% - 1120px) / 2);
  }
}

@media screen and (max-width: 767px) {
  .p-event-post {
    margin: 4.8vw 0 0;
    padding-right: 4vw;
    padding-left: 4vw;
  }
}

.p-event-post.is-type-default .p-event-post__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .p-event-post.is-type-default .p-event-post__list {
    margin: 0 -16px -58px;
  }
}

@media screen and (max-width: 767px) {
  .p-event-post.is-type-default .p-event-post__list {
    margin: 0 -4.26667vw -10.66667vw;
  }
}

@media screen and (min-width: 768px) {
  .p-event-post.is-type-default .p-event-post__list-item {
    width: 33.33333%;
    padding: 0 16px 58px;
  }
}

@media screen and (max-width: 767px) {
  .p-event-post.is-type-default .p-event-post__list-item {
    width: 100%;
    padding: 0 4.26667vw 10.66667vw;
  }
}

.p-event-post.is-type-default .p-event-post__list-link {
  display: block;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.p-event-post.is-type-default .p-event-post__list-thumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  margin: 0 auto 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 20px;
  height: 160px;
}

@media screen and (min-width: 1160px) {
  .p-event-post.is-type-default .p-event-post__list-thumb {
    height: 240px;
  }
}

.p-event-post.is-type-default .p-event-post__list-thumb.border {
  border-style: solid;
  border-color: #efefef;
  border-width: 1px;
}

@media screen and (max-width: 767px) {
  .p-event-post.is-type-default .p-event-post__list-thumb {
    padding: 0;
    height: auto;
  }
  .p-event-post.is-type-default .p-event-post__list-thumb.border {
    padding: 20px;
    height: 240px;
  }
}

.p-event-post.is-type-default .p-event-post__list-thumb-image {
  max-width: 100%;
  max-height: 100%;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

@media screen and (min-width: 768px) {
  .p-event-post.is-type-default .p-event-post__list-title {
    margin: 17px 0 0;
    font-size: 2rem;
    line-height: 1.5;
    word-wrap: break-word;
  }
}

@media screen and (max-width: 767px) {
  .p-event-post.is-type-default .p-event-post__list-title {
    margin: 2.66667vw 0 0;
    font-size: 5.33333vw;
    line-height: 1.5;
    word-wrap: break-word;
  }
}

@media screen and (min-width: 768px) {
  .p-event-post.is-type-default .p-event-post__list-date {
    margin: 5px 0 0;
    font-size: 1.4rem;
    line-height: 1.78571;
  }
}

@media screen and (max-width: 767px) {
  .p-event-post.is-type-default .p-event-post__list-date {
    margin: 1.33333vw 0 0;
    font-size: 3.73333vw;
    line-height: 1.78571;
  }
}

.p-event-post.is-type-default .p-event-post__list-date-br {
  display: none;
}

.p-event-post.is-type-default .p-event-post__list-tips {
  letter-spacing: 0.1em;
}

@media screen and (min-width: 768px) {
  .p-event-post.is-type-default .p-event-post__list-tips {
    margin: 7px 0 0;
    font-size: 1rem;
    line-height: 1.6;
  }
}

@media screen and (max-width: 767px) {
  .p-event-post.is-type-default .p-event-post__list-tips {
    margin: 1.86667vw 0 0;
    font-size: 2.66667vw;
    line-height: 1.6;
  }
}

.p-event-post.is-type-default .p-event-post__list-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #666;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .p-event-post.is-type-default .p-event-post__list-tag {
    margin: 12px -0.6em -1em 0;
    font-size: 1.1rem;
  }
}

@media screen and (max-width: 767px) {
  .p-event-post.is-type-default .p-event-post__list-tag {
    margin: 3.2vw -0.6em -1em 0;
    font-size: 2.93333vw;
  }
}

.p-event-post.is-type-default .p-event-post__list-tag-item {
  margin: 0 0.6em 1em 0;
}

@media screen and (min-width: 768px) {
  .p-event-post.is-type-default .p-event-post__list-link:hover {
    color: #666;
  }
}

@media screen and (min-width: 768px) {
  .p-event-post.is-type-default .p-event-post__list-link:hover .p-event-post__list-thumb-image {
    -webkit-transform: scale(1.04);
    transform: scale(1.04);
  }
}

.p-event-post.is-type-list .p-event-post__list {
  border-bottom: 1px solid #ccc;
}

.p-event-post.is-type-list .p-event-post__list-item {
  display: block;
  border-top: 1px solid #ccc;
}

.p-event-post.is-type-list .p-event-post__list-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

@media screen and (min-width: 768px) {
  .p-event-post.is-type-list .p-event-post__list-link {
    padding: 19px 0 18px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

@media screen and (max-width: 767px) {
  .p-event-post.is-type-list .p-event-post__list-link {
    padding: 4vw 0 4vw 24vw;
    flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
  }
}

.p-event-post.is-type-list .p-event-post__list-thumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-event-post.is-type-list .p-event-post__list-thumb {
    width: 160px;
    height: 100px;
  }
}

@media screen and (max-width: 767px) {
  .p-event-post.is-type-list .p-event-post__list-thumb {
    position: absolute;
    top: 4vw;
    left: 0;
    width: 20vw;
    height: 12vw;
  }
}

.p-event-post.is-type-list .p-event-post__list-thumb-image {
  width: 100%;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.p-event-post.is-type-list .p-event-post__list-title {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1 1;
  word-wrap: break-word;
}

@media screen and (min-width: 768px) {
  .p-event-post.is-type-list .p-event-post__list-title {
    font-size: 2rem;
    line-height: 1.5;
    word-wrap: break-word;
  }
}

@media screen and (max-width: 767px) {
  .p-event-post.is-type-list .p-event-post__list-title {
    font-size: 3.73333vw;
    line-height: 1.57143;
  }
}

.p-event-post.is-type-list .p-event-post__list-date {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

@media screen and (min-width: 768px) {
  .p-event-post.is-type-list .p-event-post__list-date {
    width: 16.55172vw;
    margin: 0 0 0 32px;
    padding-right: 10px;
    font-size: 1.6rem;
    line-height: 1.5625;
  }
}

@media screen and (min-width: 1160px) {
  .p-event-post.is-type-list .p-event-post__list-date {
    width: 192px;
    box-sizing: border-box;
    padding-right: 80px;
  }
}

@media screen and (max-width: 767px) {
  .p-event-post.is-type-list .p-event-post__list-date {
    margin: -1.33333vw 0 0;
    font-size: 3.2vw;
    line-height: 2.08333;
  }
}

.p-event-post.is-type-list .p-event-post__list-date-name {
  display: none;
}

@media screen and (max-width: 767px) {
  .p-event-post.is-type-list .p-event-post__list-date-br {
    display: none;
  }
}

.p-event-post.is-type-list .p-event-post__list-tips {
  letter-spacing: 0.1em;
  -webkit-box-ordinal-group: 5;
  -ms-flex-order: 4;
  order: 4;
}

@media screen and (min-width: 768px) {
  .p-event-post.is-type-list .p-event-post__list-tips {
    width: 18%;
    margin: 0 0 0 16px;
    font-size: 1.5rem;
    line-height: 1.06667;
  }
}

@media screen and (max-width: 767px) {
  .p-event-post.is-type-list .p-event-post__list-tips {
    width: auto;
    margin: 0.8vw 0 0;
    font-size: 2.66667vw;
    line-height: 1.6;
  }
}

.p-event-post.is-type-list .p-event-post__list-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #666;
  -webkit-box-ordinal-group: 6;
  -ms-flex-order: 5;
  order: 5;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .p-event-post.is-type-list .p-event-post__list-tag {
    width: 135px;
    margin: 0 -0.6em -1em 10px;
    font-size: 1.1rem;
  }
}

@media screen and (max-width: 767px) {
  .p-event-post.is-type-list .p-event-post__list-tag {
    margin: 1.6vw -0.6em -1em;
    font-size: 2.93333vw;
  }
}

@media screen and (min-width: 768px) {
  .p-event-post.is-type-list .p-event-post__list-tag-item {
    margin: 0 0.6em 1em 0;
  }
}

@media screen and (max-width: 767px) {
  .p-event-post.is-type-list .p-event-post__list-tag-item {
    margin: 0 0.6em 1em;
  }
}

@media screen and (min-width: 768px) {
  .p-event-post.is-type-list .p-event-post__list-link:hover {
    color: #666;
  }
}

@media screen and (min-width: 768px) {
  .p-event-post.is-type-list .p-event-post__list-link:hover .p-event-post__list-thumb-image {
    -webkit-transform: scale(1.04);
    transform: scale(1.04);
  }
}

.p-experience-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: calc((100% - 1120px) / 2);
  padding: 64px 0 64px 96px;
  background-color: #d4e5e5;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-experience-header {
    display: block;
    margin: 0;
    padding: 6.66667vw;
  }
}

@media screen and (max-width: 767px) {
  .p-experience-header .c-text {
    line-height: 1.79;
  }
}

.p-experience-header .c-button-group {
  width: 38%;
  margin-left: 64px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media screen and (max-width: 767px) {
  .p-experience-header .c-button-group {
    width: auto;
    margin-top: 6.66667vw;
    margin-right: -1.33333vw;
    margin-left: -1.33333vw;
  }
}

.p-experience-header + * {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .p-experience-header + * {
    margin-top: 10.13333vw;
  }
}

.p-experience-voice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  margin-top: 100px;
  padding: 30px 60px 30px 36px;
  border: 1px solid #20909d;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

@media screen and (max-width: 767px) {
  .p-experience-voice {
    display: block;
    margin-top: 12.8vw;
    padding: 9.6vw 5.33333vw 5.33333vw;
  }
}

.p-experience-voice + .p-experience-voice {
  margin-top: 65px;
}

@media screen and (max-width: 767px) {
  .p-experience-voice + .p-experience-voice {
    margin-top: 11.73333vw;
  }
}

.p-experience-voice__title {
  position: absolute;
  top: -30px;
  left: 0;
  width: 100%;
  height: 60px;
  color: #20909d;
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-experience-voice__title {
    top: -4vw;
    height: 8vw;
    font-size: 4.26667vw;
  }
}

.p-experience-voice__title-in {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  height: 60px;
  padding: 0 24px 0 15px;
  background-color: #fff;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .p-experience-voice__title-in {
    height: 8vw;
    padding: 0 5.33333vw 0 3.46667vw;
  }
}

.p-experience-voice__title-in:before {
  content: "";
  display: inline-block;
  width: 51.1px;
  height: 48.6px;
  margin-right: 10px;
  background: url("/files/user/image/ico_balloon_01.svg") no-repeat center/cover;
}

@media screen and (max-width: 767px) {
  .p-experience-voice__title-in:before {
    width: 6.82667vw;
    height: 6.48vw;
    margin-right: 1.6vw;
  }
}

.p-experience-voice__title--point .p-experience-voice__title-in {
  padding-left: 20px;
}

@media screen and (max-width: 767px) {
  .p-experience-voice__title--point .p-experience-voice__title-in {
    padding: 0 4.8vw 0 4vw;
  }
}

.p-experience-voice__title--point .p-experience-voice__title-in:before {
  width: 44px;
  height: 60px;
  margin-right: 12px;
  background: url("/files/user/image/ico_flag_01.svg") no-repeat center/cover;
}

@media screen and (max-width: 767px) {
  .p-experience-voice__title--point .p-experience-voice__title-in:before {
    width: 5.86667vw;
    height: 8vw;
    margin-right: 2.13333vw;
  }
}

.p-experience-voice__figure {
  overflow: hidden;
  width: 160px;
  height: 160px;
  margin-right: 60px;
  border-radius: 50%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media screen and (max-width: 767px) {
  .p-experience-voice__figure {
    width: 21.33333vw;
    height: 21.33333vw;
    margin: 0 auto;
  }
}

.p-experience-voice__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-experience-voice__body {
  overflow: hidden;
  padding-top: 24px;
}

@media screen and (max-width: 767px) {
  .p-experience-voice__body {
    margin-top: 21px;
    padding-top: 0;
  }
}

.p-experience-voice__name {
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .p-experience-voice__name {
    margin-top: 3.73333vw;
    font-size: 4.26667vw;
  }
}

.p-experience-voice__name-category {
  padding-right: 1em;
  font-size: 1rem;
}

@media screen and (max-width: 767px) {
  .p-experience-voice__name-category {
    font-size: 2.66667vw;
  }
}

.p-experience-info {
  margin-top: 80px;
  padding: 55px 64px 60px;
  background-color: #f2f2f2;
}

@media screen and (max-width: 767px) {
  .p-experience-info {
    margin: 6.93333vw -4vw 0;
    padding: 7.46667vw 4vw 5.6vw;
  }
}

.p-experience-info__title {
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-experience-info__title {
    font-size: 5.33333vw;
    line-height: 1.5;
  }
}

.p-experience-info .c-table-list {
  margin-top: 34px;
}

@media screen and (max-width: 767px) {
  .p-experience-info .c-table-list {
    margin-top: 4vw;
  }
}

.p-experience-info .c-table-list th {
  width: 126px;
}

@media screen and (max-width: 767px) {
  .p-experience-info .c-table-list th {
    width: 25.6vw;
  }
}

.p-experience-area {
  overflow: hidden;
  margin-top: 30px;
  padding-bottom: 32px;
  border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 767px) {
  .p-experience-area {
    margin-top: 7.2vw;
  }
}

.p-experience-area__heading {
  font-weight: 600;
}

.p-experience-area__figure {
  float: left;
  width: 280px;
  margin: 26px 40px 0 0;
}

@media screen and (max-width: 767px) {
  .p-experience-area__figure {
    float: none;
    width: 100%;
    margin: 4.26667vw 0 0;
  }
}

.p-experience-area__body {
  overflow: hidden;
  margin-top: 26px;
}

@media screen and (max-width: 767px) {
  .p-experience-area__body {
    margin-top: 3.2vw;
  }
}

.p-experience-area__title {
  font-size: 1.8rem;
}

@media screen and (max-width: 767px) {
  .p-experience-area__title {
    line-height: 1.56;
  }
}

.p-experience-area__text {
  margin-top: 10px;
  line-height: 1.75;
}

@media screen and (max-width: 767px) {
  .p-experience-area__text {
    margin-top: 1.33333vw;
  }
}

.p-experience-area__text-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 52px;
  height: 23px;
  margin-left: 14px;
  color: #fff;
  font-size: 1.3rem;
  background-color: #20909d;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-experience-area__text-button:hover {
    background-color: #4da6b1;
  }
}

@media screen and (max-width: 767px) {
  .p-experience-area__text-button {
    width: 11.2vw;
    height: 5.06667vw;
    margin-left: 1.73333vw;
    font-size: 3.46667vw;
  }
}

.p-experience-apply {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 32px -16px -22px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .p-experience-apply {
    display: block;
    margin: 4.26667vw -4vw 0;
  }
}

.p-experience-apply .c-button,
.p-experience-apply .c-button-hover,
.p-experience-apply .c-button-more,
.p-experience-apply .c-button-back,
.p-experience-apply .c-button-fill,
.p-experience-apply .c-button-anchor,
.p-experience-apply .c-button-auto,
.p-experience-apply .c-button-small,
.p-experience-apply .c-button-middle,
.p-experience-apply .c-button-large {
  margin: 0;
}

.p-experience-apply .c-button-hover[disabled],
.p-experience-apply .c-button-more[disabled],
.p-experience-apply .c-button-back[disabled],
.p-experience-apply .c-button-fill[disabled],
.p-experience-apply .c-button-anchor[disabled],
.p-experience-apply .c-button-auto[disabled],
.p-experience-apply .c-button-small[disabled],
.p-experience-apply .c-button-middle[disabled],
.p-experience-apply .c-button-large[disabled],
.p-experience-apply .c-button[disabled] {
  height: 63px;
}

@media screen and (max-width: 767px) {
  .p-experience-apply .c-button-hover[disabled],
  .p-experience-apply .c-button-more[disabled],
  .p-experience-apply .c-button-back[disabled],
  .p-experience-apply .c-button-fill[disabled],
  .p-experience-apply .c-button-anchor[disabled],
  .p-experience-apply .c-button-auto[disabled],
  .p-experience-apply .c-button-small[disabled],
  .p-experience-apply .c-button-middle[disabled],
  .p-experience-apply .c-button-large[disabled],
  .p-experience-apply .c-button[disabled] {
    height: 16.8vw;
    font-size: 4.26667vw;
  }
}

.p-experience-apply .c-button-group {
  width: 50%;
  margin: 0;
  padding: 0 16px 22px;
}

@media screen and (max-width: 767px) {
  .p-experience-apply .c-button-group {
    width: 100%;
    padding: 0 4vw;
  }
}

@media screen and (max-width: 767px) {
  .p-experience-apply .c-button-group + .c-button-group {
    margin-top: 3.46667vw;
  }
}

.p-experience-apply .c-button-group.is-single {
  width: 100%;
  font-size: 1.9rem;
}

@media screen and (min-width: 768px) {
  .p-flag {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.p-flag__hero {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-flag__hero {
    display: table;
    padding-right: 20px;
  }
}

.p-flag__caption {
  margin-top: 5px;
  font-size: 1rem;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .p-flag__caption {
    display: table-caption;
    padding-right: 20px;
    caption-side: bottom;
  }
}

.p-flag__body {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .p-flag__body {
    margin-top: 0;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1 1;
  }
}

@media screen and (max-width: 767px) {
  .p-flag__image {
    width: auto;
  }
}

@media screen and (min-width: 768px) {
  .p-flag--reverse {
    flex-direction: row-reverse;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
  }
}

@media screen and (min-width: 768px) {
  .p-flag--reverse .p-flag__hero {
    padding-right: 0;
    padding-left: 20px;
  }
}

@media screen and (min-width: 768px) {
  .p-flag--reverse .p-flag__caption {
    padding-right: 0;
    padding-left: 20px;
  }
}

* + .p-flag {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  * + .p-flag {
    margin-top: 20px;
  }
}

.input_form_header {
  line-height: 1.64;
  margin: 0 0 40px 0;
}

@media screen and (max-width: 768px) {
  .input_form_header {
    margin: 0 0 20px 0;
  }
}

.p-contact {
  margin: 40px 0 0 0;
}

@media screen and (max-width: 767px) {
  .p-contact {
    margin: 20px 0 0 0;
  }
}

.p-form {
  background: #d4e5e5;
  padding: 35px 40px;
}

@media screen and (max-width: 767px) {
  .p-form {
    padding: 18px;
  }
}

.p-form__foot {
  margin-top: 30px;
  text-align: center;
  letter-spacing: -0.5em;
}

@media screen and (min-width: 768px) {
  .p-form__foot {
    margin-top: 50px;
  }
}

.p-form__button {
  margin: 0 5px;
}

@media screen and (min-width: 768px) {
  .p-form__button {
    margin: 0 10px;
  }
}

@media screen and (min-width: 768px) {
  .p-form__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
  }
}

/*.p-form__head { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; width: 100%; -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline; }*/
@media screen and (min-width: 768px) {
  .p-form__head {
    width: 40%;
    padding-right: 20px;
  }
}

.p-form__tag {
  margin-left: auto;
  padding-left: 10px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.p-form__title {
  font-weight: bold;
}

.p-form__body {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  .p-form__body {
    margin-top: 0;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1 1;
  }
}

@media screen and (max-width: 767px) {
  .p-form__body {
    width: 100%;
    margin: 18px 0 0 0;
    text-align: left;
  }
}

.p-form__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-top: solid 1px #fff;
  padding: 20px 0;
}

@media screen and (max-width: 768px) {
  .p-form__block {
    padding: 18px 0;
    flex-direction: column;
  }
}

.p-form__invalid,
.p-form-required {
  color: #e00100;
}

.p-form__head .p-form-required {
  display: block;
}

.p-form__inline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin: 0 -10px -10px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .p-form__inline {
    padding-top: 9px;
  }
}

.p-form__inline-item {
  width: 100%;
  max-width: 50%;
  margin-bottom: 10px;
  padding: 0 10px;
}

@media screen and (min-width: 768px) {
  .p-form__inline-item {
    width: auto;
    max-width: none;
  }
}

.p-form__unit {
  margin: 0 5px;
}

.p-form__unit:first-child {
  margin-left: 0;
}

.p-form__unit:last-child {
  margin-right: 0;
}

* + .p-form {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  * + .p-form {
    margin-top: 40px;
  }
}

.p-form__item + .p-form__item {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .p-form__block + .p-form__block {
    margin-top: 5px;
  }
}

.p-form-input,
.p-form-input--textarea,
.p-form-select {
  border-top: 3px solid #ccc;
  border-left: 3px solid #ccc;
  line-height: normal;
  padding: 10px;
}

.p-form-toggle__radio {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
}

.p-form-button__outer {
  text-align: center;
  border-width: 1px 0 0 0;
  border-style: solid;
  border-color: #ffffff;
  padding: 40px 0 0 0;
}

.p-button--return {
  background: #999999;
  color: #fff;
  width: 320px;
  margin: 0 auto 40px auto;
  padding: 18px 0;
  display: block;
  text-align: center;
}

.p-form-button {
  background: #20909d;
  color: #fff;
  width: 477px;
  margin: 0 auto;
  padding: 18px 0;
  display: block;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-form-button__outer {
    padding: 20px 0 0 0;
  }
  .p-button--return {
    width: 100%;
    margin: 0 auto 20px auto;
  }
  .p-form-button {
    width: 100%;
  }
}

.p-fullscreen {
  position: fixed;
  z-index: -2;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: auto;
  min-width: 100%;
  height: auto;
  min-height: 100%;
  margin: auto;
}

.p-hero,
.p-hero-slim,
.p-hero-wide,
.p-hero-experience,
.p-hero-theme {
  padding: 0 4.08163vw;
}

@media screen and (max-width: 767px) {
  .p-hero,
  .p-hero-slim,
  .p-hero-wide,
  .p-hero-experience,
  .p-hero-theme {
    padding: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-hero-slim .p-hero__in {
    height: 300px;
  }
}

@media screen and (max-width: 767px) {
  .p-hero-slim .p-hero__title {
    height: 53.33333vw;
  }
}

@media screen and (max-width: 767px) {
  .p-hero-slim .p-hero__figure {
    height: 53.33333vw;
  }
}

@media screen and (min-width: 768px) {
  .p-hero-wide .p-hero__in {
    height: 556px;
  }
}

@media screen and (max-width: 767px) {
  .p-hero-only-image .p-hero__figure {
    position: relative;
  }
}

.p-hero-experience .p-hero__in {
  height: 650px;
  padding-bottom: 130px;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

@media screen and (max-width: 767px) {
  .p-hero-experience .p-hero__in {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 66.66667vw;
    padding-bottom: 0;
  }
}

.p-hero-experience .p-hero__title {
  display: block;
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
  line-height: 1.5;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .p-hero-experience .p-hero__title {
    height: auto;
    padding: 0 4vw 3.2vw;
    font-size: 5.33333vw;
    line-height: 1.6;
  }
}

.p-hero-experience .p-hero__area {
  width: 100%;
  max-width: 1160px;
  margin-top: 26px;
  padding: 0 20px;
}

@media screen and (max-width: 767px) {
  .p-hero-experience .p-hero__area {
    display: none;
  }
}

.p-hero-theme .p-hero__in {
  padding-bottom: 63px;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

@media screen and (max-width: 767px) {
  .p-hero-theme .p-hero__in {
    padding-bottom: 0;
  }
}

.p-hero-theme .p-cms-h1 {
  display: block;
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
  line-height: 1.38;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .p-hero-theme .p-cms-h1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 4vw 6.4vw;
    font-size: 6.4vw;
    line-height: 1.5;
    flex-direction: row;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
}

.p-hero-theme .p-hero__title {
  display: block;
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
  line-height: 1.38;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .p-hero-theme .p-hero__title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 4vw 6.4vw;
    font-size: 6.4vw;
    line-height: 1.5;
    flex-direction: row;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
}

.p-hero-theme .p-hero__text {
  display: block;
  width: 100%;
  max-width: 1160px;
  margin: 30px auto 0;
  padding: 0 20px;
  line-height: 1.75;
}

@media screen and (max-width: 767px) {
  .p-hero-theme .p-hero__text {
    margin-top: 0;
    padding: 6.66667vw;
    color: #000;
    line-height: 1.79;
    background-color: #d4e5e5;
  }
}

.p-hero__in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  height: 500px;
  color: #fff;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
}

@media screen and (max-width: 767px) {
  .p-hero__in {
    display: block;
    height: auto;
  }
}

.p-cms-h1 {
  font-size: 4rem;
  font-weight: 600;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-cms-h1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: auto;
    font-size: 6.4vw;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
  }
}

.p-hero__title {
  font-size: 4rem;
  font-weight: 600;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-hero__title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 66.66667vw;
    font-size: 6.4vw;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
  }
}

.p-hero__title-en {
  display: block;
  padding-bottom: 17px;
  font-size: 1.6rem;
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .p-hero__title-en {
    padding-bottom: 3.89333vw;
    font-size: 4.26667vw;
  }
}

.p-hero__category {
  display: block;
  padding-bottom: 16px;
  font-size: 1.6rem;
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .p-hero__category {
    padding-bottom: 3.73333vw;
    font-size: 3.73333vw;
  }
}

.p-hero__description {
  max-width: 968px;
  margin-top: 22px;
  padding: 0 20px;
  font-size: 1.6rem;
  line-height: 1.75;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-hero__description {
    margin-top: 0;
    padding: 4.53333vw 4vw 0;
    color: #000;
    font-size: 3.73333vw;
    line-height: 1.79;
    text-align: left;
  }
}

.p-hero__figure {
  overflow: hidden;
  position: absolute;
  z-index: -2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .p-hero__figure {
    height: 66.66667vw;
  }
}

.p-hero__figure:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
}

.p-hero__in-text {
  position: absolute;
  bottom: 80px;
  left: 8vw;
  margin: 0 8vw 0 0;
}

.p-hero__in-text-sub small {
  display: inline-block;
  background-color: #20909d;
  color: #ffffff;
  font-size: 1.4rem;
  padding: 5px 10px;
  letter-spacing: 0.1em;
}

.p-hero__in-text-main {
  background-color: #ffffff;
  color: #000000;
  font-size: 2.6rem;
  padding: 5px 15px;
  line-height: 150%;
  font-weight: 600;
  letter-spacing: 0.1em;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .p-hero__in-text {
    bottom: 15px;
    left: 15px;
  }
  .p-hero__in-text-sub small {
    font-size: 2vw;
    padding: 5px;
  }
  .p-hero__in-text-main {
    font-size: 4vw;
    margin: 0 15px 0 0;
    padding: 5px 10px;
  }
}

.p-hero__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-hero + *,
.p-hero-slim + *,
.p-hero-wide + *,
.p-hero-experience + *,
.p-hero-theme + * {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .p-hero + *,
  .p-hero-slim + *,
  .p-hero-wide + *,
  .p-hero-experience + *,
  .p-hero-theme + * {
    margin-top: 16vw;
  }
}

.p-hero + .p-experience-header,
.p-hero-slim + .p-experience-header,
.p-hero-wide + .p-experience-header,
.p-hero-experience + .p-experience-header,
.p-hero-theme + .p-experience-header {
  margin-top: -86px;
}

@media screen and (max-width: 767px) {
  .p-hero + .p-experience-header,
  .p-hero-slim + .p-experience-header,
  .p-hero-wide + .p-experience-header,
  .p-hero-experience + .p-experience-header,
  .p-hero-theme + .p-experience-header {
    margin-top: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-info__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
}

@media screen and (min-width: 768px) {
  .p-info__head {
    min-width: 8em;
    padding-right: 1em;
  }
}

.p-info__body {
  margin-top: 5px;
}

@media screen and (min-width: 768px) {
  .p-info__body {
    margin-top: 0;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1 1;
  }
}

* + .p-info {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  * + .p-info {
    margin-top: 20px;
  }
}

.p-info__item + .p-info__item {
  margin-top: 10px;
}

.p-inview {
  opacity: 0;
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, transform 0.3s;
  transition: opacity 0.3s, transform 0.3s, -webkit-transform 0.3s;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
}

.p-inview.is-active {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/* p-map
---------------------------------------------------------- */
.p-map {
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-map {
    padding: 13px 21px 0;
  }
}

@media screen and (max-width: 767px) {
  .p-map {
    margin-right: -1.33333vw;
    margin-left: -1.33333vw;
  }
}

.p-map__title {
  color: #4d4d4d;
  font-size: 1.4rem;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .p-map__title {
    padding-left: 2.93333vw;
  }
}

.p-map + .p-search-box__toggle-close {
  margin-top: 24px;
}

@media screen and (max-width: 767px) {
  .p-map + .p-search-box__toggle-close {
    margin-top: 8.53333vw;
  }
}

.p-map__label,
.p-map__name {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 32px;
  padding: 5px 23px 0;
  border: solid 1px #20909d;
  border-radius: 16px;
  color: #20909d;
  font-size: 19px;
  font-weight: 600;
  background-color: #fff;
  cursor: pointer;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-map__label:hover,
  .is-hover .p-map__label,
  .p-map__name:hover,
  .is-hover .p-map__name {
    color: #fff;
    background-color: #20909d;
  }
}

.is-active .p-map__label,
.is-active .p-map__name {
  color: #fff;
  background-color: #20909d;
}

@media screen and (max-width: 767px) {
  .p-map__label,
  .p-map__name {
    height: 8vw;
    padding: 1.33333vw 4.26667vw 0;
    border-radius: 4vw;
    font-size: 4.66667vw;
  }
}

.p-map__label input,
.p-map__name input {
  display: none;
}

.is-active .p-map__name {
  color: #20909d;
  background-color: #fff;
}

.p-map-main {
  width: 382.766px;
  height: 613.036px;
  margin: -14px auto 0;
}

@media screen and (max-width: 767px) {
  .p-map-main {
    overflow: hidden;
    width: 63.60267vw;
    height: 102.06667vw;
    margin: 2.4vw auto 0;
  }
}

.p-map-main [class^="area-"] {
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  stroke-width: 2px;
  fill-rule: evenodd;
  fill: #fff;
  stroke: #d4e5e5;
}

.p-map-main [class^="area-"].is-active,
.p-map-main [class^="area-"].is-hover {
  fill: #eeffac;
}

.p-map-main__front {
  position: relative;
  width: 382.766px;
  height: 613.036px;
  outline: none;
}

@media screen and (max-width: 767px) {
  .p-map-main__front {
    width: 63.60267vw;
    height: 102.06667vw;
  }
}

.p-map-main__front svg {
  position: absolute;
  width: 100%;
  height: auto;
}

[class^="p-map-text-"] {
  position: absolute;
  left: 50%;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  [class^="p-map-text-"] {
    text-align: center;
  }
}

[class^="p-map-text-"] span {
  display: block;
  margin-top: 8px;
  color: #4d4d4d;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.75;
}

@media screen and (max-width: 767px) {
  [class^="p-map-text-"] span {
    margin-top: 1.06667vw;
    font-size: 2.66667vw;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
    -webkit-transform-origin: top center;
    transform-origin: top center;
  }
}

@media screen and (min-width: 768px) {
  .p-map-text-01 {
    top: 89px;
    margin-left: 71px;
  }
}

@media screen and (max-width: 767px) {
  .p-map-text-01 {
    top: 15.73333vw;
    margin-left: 6.4vw;
  }
  .p-map-text-01 span {
    margin-right: -2em;
    margin-left: -2em;
  }
}

.p-map-text-02 {
  right: 50%;
  left: auto;
}

@media screen and (min-width: 768px) {
  .p-map-text-02 {
    top: 182px;
    margin-right: 50px;
    text-align: right;
  }
}

@media screen and (max-width: 767px) {
  .p-map-text-02 {
    top: 34.4vw;
    margin-right: -10.66667vw;
  }
}

@media screen and (min-width: 768px) {
  .p-map-text-03 {
    top: 232px;
    margin-left: 82px;
  }
}

@media screen and (max-width: 767px) {
  .p-map-text-03 {
    top: 44.8vw;
    margin-left: 6.4vw;
  }
  .p-map-text-03 span {
    margin-right: -1em;
    margin-left: -1em;
  }
}

@media screen and (min-width: 768px) {
  .p-map-text-04 {
    top: 339px;
    margin-left: 30px;
  }
}

@media screen and (max-width: 767px) {
  .p-map-text-04 {
    top: 62.66667vw;
    margin-left: 3.73333vw;
  }
}

.p-map-text-05 {
  right: 50%;
  left: auto;
}

@media screen and (min-width: 768px) {
  .p-map-text-05 {
    top: 400px;
    margin-right: 110px;
    text-align: right;
  }
}

@media screen and (max-width: 767px) {
  .p-map-text-05 {
    top: 68.53333vw;
    margin-right: -1.33333vw;
  }
}

@media screen and (min-width: 768px) {
  .p-map-text-06 {
    top: 465px;
    margin-left: -18px;
  }
}

@media screen and (max-width: 767px) {
  .p-map-text-06 {
    top: 86.4vw;
    margin-left: -9.86667vw;
  }
}

.p-more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 47px -16px -36px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .p-more {
    margin: 27px 0 0;
  }
}

.p-more__wrap {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 20px;
}

@media screen and (max-width: 767px) {
  .p-more__wrap {
    padding: 0 4vw;
  }
}

.p-more__title {
  text-align: center;
}

.p-more__item {
  opacity: 0;
  overflow: hidden;
  width: 33.33333%;
  max-height: 0;
  padding: 0 16px;
  -webkit-transition: max-height 0.3s;
  -webkit-transition: 0.3s;
  transition: max-height 0.3s;
  transition: 0.3s;
}

@media screen and (max-width: 767px) {
  .p-more__item {
    width: 100%;
    padding: 0;
  }
}

.p-more__link {
  display: block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (min-width: 768px) {
  .p-more__link:hover .p-more__img {
    -webkit-transform: scale(1.04);
    transform: scale(1.04);
  }
  .p-more__link:hover .p-more__text {
    color: #666;
  }
}

.p-more__figure {
  overflow: hidden;
}

.p-more__img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-more__text {
  margin-top: 14px;
  line-height: 1.75;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (max-width: 767px) {
  .p-more__text {
    margin-top: 2.93333vw;
    font-size: 3.73333vw;
    line-height: 1.64;
    letter-spacing: 0.1em;
  }
}

.p-more__item.is-active {
  opacity: 1;
  max-height: none;
}

@media screen and (min-width: 768px) {
  .p-more__item.is-active {
    padding-bottom: 36px;
  }
}

@media screen and (max-width: 767px) {
  .p-more__item.is-active + .p-more__item.is-active {
    margin-top: 4.8vw;
    padding-bottom: 0;
  }
}

.p-more + .c-button-group {
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .p-more + .c-button-group {
    margin-top: 5.33333vw;
  }
}

.p-more-list > div {
  opacity: 0;
  overflow: hidden;
  max-height: 0;
  -webkit-transition: max-height 0.3s;
  -webkit-transition: 0.3s;
  transition: max-height 0.3s;
  transition: 0.3s;
}

.p-more-list > div.is-active {
  opacity: 1;
  max-height: none;
}

.p-more-list + .c-button-group {
  margin-top: 58px;
}

@media screen and (max-width: 767px) {
  .p-more-list + .c-button-group {
    margin-top: 7.2vw;
  }
}

.p-nagano {
  padding-bottom: 80px;
  background-color: #f2f2f2;
}

@media screen and (max-width: 767px) {
  .p-nagano {
    padding-bottom: 10.66667vw;
  }
}

.p-nagano .p-map {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 30px 96px 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 1119px) {
  .p-nagano .p-map {
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media screen and (max-width: 767px) {
  .p-nagano .p-map {
    display: block;
    padding: 2.93333vw 5.33333vw 0;
  }
}

.p-nagano .p-map__in {
  position: relative;
  min-width: 400px;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

@media screen and (max-width: 767px) {
  .p-nagano .p-map__in {
    min-width: auto;
  }
}

.p-nagano .p-map__name {
  height: auto;
  padding: 3px 10px 6px 10px;
  border-radius: 13px;
  font-size: 16px;
  white-space: nowrap;
}

@media screen and (max-width: 1119px) {
  .p-nagano .p-map__name {
    white-space: inherit;
  }
}

@media screen and (max-width: 767px) {
  .p-nagano .p-map__name {
    padding: 1.33333vw 4.26667vw 2vw 4.26667vw;
    border-radius: 3.73333vw;
    font-size: 4.18667vw;
    white-space: inherit;
  }
}

.p-nagano .p-map__text {
  width: 48.52%;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .p-nagano .p-map__text {
    width: 100%;
    margin-top: 6.13333vw;
    line-height: 1.79;
  }
}

.p-nagano .p-map-main {
  width: 304.61px;
  height: 488.83px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-nagano .p-map-main {
    overflow: hidden;
    width: 63.60267vw;
    height: 102.06667vw;
  }
}

.p-nagano .p-map-main [class^="area-"] {
  stroke: #fff;
}

.p-nagano .p-map-main .area-01 {
  fill: #eeffac;
}

.p-nagano .p-map-main .area-02 {
  fill: #e6cde5;
}

.p-nagano .p-map-main .area-03 {
  fill: #a3dbf3;
}

.p-nagano .p-map-main .area-04 {
  fill: #abeab7;
}

.p-nagano .p-map-main .area-05 {
  fill: #e9d9c7;
}

.p-nagano .p-map-main .area-06 {
  fill: #fbdbc7;
}

.p-nagano .p-map-main__front {
  width: 304.61px;
  height: 488.83px;
}

@media screen and (max-width: 767px) {
  .p-nagano .p-map-main__front {
    width: 63.60267vw;
    height: 102.06667vw;
  }
}

@media screen and (min-width: 768px) {
  .p-nagano .p-map-text-01 {
    top: 62px;
    margin-left: 25px;
  }
}

@media screen and (max-width: 767px) {
  .p-nagano .p-map-text-01 {
    top: 13.06667vw;
    margin-left: 6.4vw;
  }
}

.p-nagano .p-map-text-02 {
  right: 50%;
  left: auto;
}

@media screen and (min-width: 768px) {
  .p-nagano .p-map-text-02 {
    top: 165px;
    margin-right: 18px;
  }
}

@media screen and (max-width: 767px) {
  .p-nagano .p-map-text-02 {
    top: 30.66667vw;
    margin-right: -10.13333vw;
  }
}

@media screen and (min-width: 768px) {
  .p-nagano .p-map-text-03 {
    top: 186px;
    margin-left: 52px;
  }
}

@media screen and (max-width: 767px) {
  .p-nagano .p-map-text-03 {
    top: 40vw;
    margin-left: 7.2vw;
  }
}

@media screen and (min-width: 768px) {
  .p-nagano .p-map-text-04 {
    top: 260px;
    margin-left: 25px;
  }
}

@media screen and (max-width: 767px) {
  .p-nagano .p-map-text-04 {
    top: 55.2vw;
    margin-left: 7.2vw;
  }
}

.p-nagano .p-map-text-05 {
  right: 50%;
  left: auto;
}

@media screen and (min-width: 768px) {
  .p-nagano .p-map-text-05 {
    top: 315px;
    margin-right: 65px;
    text-align: right;
  }
}

@media screen and (max-width: 767px) {
  .p-nagano .p-map-text-05 {
    top: 60.8vw;
    margin-right: 2.4vw;
  }
}

@media screen and (min-width: 768px) {
  .p-nagano .p-map-text-06 {
    top: 360px;
    margin-left: -12px;
  }
}

@media screen and (max-width: 767px) {
  .p-nagano .p-map-text-06 {
    top: 76.26667vw;
    margin-left: -7.2vw;
  }
}

.p-nagano .l-section,
.p-nagano .l-section--fill {
  margin-top: 66px;
}

@media screen and (max-width: 767px) {
  .p-nagano .l-section,
  .p-nagano .l-section--fill {
    margin-top: 13.33333vw;
    padding: 0 1.33333vw;
  }
}

.p-nagano .l-section + .l-section,
.p-nagano .l-section--fill + .l-section,
.p-nagano .l-section + .l-section--fill,
.p-nagano .l-section--fill + .l-section--fill {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .p-nagano .l-section + .l-section,
  .p-nagano .l-section--fill + .l-section,
  .p-nagano .l-section + .l-section--fill,
  .p-nagano .l-section--fill + .l-section--fill {
    margin-top: 26.66667vw;
  }
}

.p-nagano__link {
  display: block;
  overflow: hidden;
}

.p-nagano__title {
  padding-bottom: 24px;
  font-size: 2.8rem;
  font-weight: 600;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-nagano__title {
    padding-bottom: 4.8vw;
    font-size: 5.33333vw;
  }
}

.p-nagano__figure {
  float: left;
  overflow: hidden;
  width: 352px;
  margin-right: 32px;
}

@media screen and (max-width: 767px) {
  .p-nagano__figure {
    float: none;
    width: 100%;
    margin-right: 0;
  }
}

.p-nagano__body {
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-nagano__body {
    margin-top: 5.33333vw;
  }
}

.p-nagano__text {
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .p-nagano__text {
    line-height: 1.79;
  }
}

.p-nagano__tags {
  margin-top: 20px;
  color: #666;
  font-size: 1.1rem;
}

@media screen and (max-width: 767px) {
  .p-nagano__tags {
    margin-top: 4.8vw;
    font-size: 2.66667vw;
  }
}

.p-news {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-news {
    max-width: 100vw;
    margin: 22px 0 0;
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media screen and (min-width: 968px) {
  .p-news {
    padding-right: calc((100% - 800px) / 2);
    padding-left: calc((100% - 800px) / 2);
  }
}

@media screen and (max-width: 767px) {
  .p-news {
    margin: 5.06667vw 0 0;
    padding-right: 4vw;
    padding-left: 4vw;
  }
}

.p-news__title {
  display: block;
  font-weight: 600;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-news__title {
    font-size: 4rem;
    line-height: 1.375;
  }
}

@media screen and (max-width: 767px) {
  .p-news__title {
    font-size: 6.4vw;
    line-height: 1.375;
  }
}

.p-news__title-category {
  display: block;
  font-weight: 600;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-news__title-category {
    margin: 38px 0 0;
    font-size: 2.5rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .p-news__title-category {
    margin: 5.06667vw 0 0;
    font-size: 4.8vw;
    line-height: 1.5;
  }
}

.p-news__navigation {
  overflow: hidden;
  background: #e6e6e6;
}

@media screen and (min-width: 768px) {
  .p-news__navigation {
    margin: 45px 0 0;
  }
}

@media screen and (max-width: 767px) {
  .p-news__navigation {
    margin: 4.26667vw -4vw 0;
  }
}

.p-news__navigation-in {
  display: block;
  overflow-x: auto;
  overflow-y: hidden;
  font-size: 0;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-news__navigation-in {
    padding: 0 40px 0;
  }
}

@media screen and (max-width: 767px) {
  .p-news__navigation-in {
    padding: 0 4vw 0;
  }
}

.p-news__navigation-list {
  display: inline-block;
  font-size: 0;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .p-news__navigation-list {
    margin: 0 -20px 0;
  }
}

@media screen and (max-width: 767px) {
  .p-news__navigation-list {
    margin: 0 -2.66667vw 0;
  }
}

.p-news__navigation-list-item {
  display: inline-block;
  font-size: medium;
}

@media screen and (min-width: 768px) {
  .p-news__navigation-list-item {
    padding: 0 20px 0;
  }
}

@media screen and (max-width: 767px) {
  .p-news__navigation-list-item {
    padding: 0 2.66667vw 0;
  }
}

.p-news__navigation-list-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  text-align: center;
  white-space: nowrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .p-news__navigation-list-link {
    font-size: 1.5rem;
    letter-spacing: 0.1em;
  }
}

@media screen and (max-width: 767px) {
  .p-news__navigation-list-link {
    font-size: 3.2vw;
    letter-spacing: 0.1em;
  }
}

.p-news__navigation-list-link:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: transparent;
}

.p-news__navigation-list-link:before {
  content: "";
  visibility: hidden;
  width: 0;
}

@media screen and (min-width: 768px) {
  .p-news__navigation-list-link:before {
    height: 52px;
  }
}

@media screen and (max-width: 767px) {
  .p-news__navigation-list-link:before {
    height: 9.86667vw;
  }
}

.p-news__navigation-list-link.is-current {
  pointer-events: none;
}

.p-news__navigation-list-link.is-current:after {
  background-color: #000;
}

@media screen and (min-width: 768px) {
  .p-news__navigation-list-link:hover:after {
    background-color: #000;
  }
}

.p-news__news {
  width: 100%;
  border-bottom: 1px solid #e6e6e6;
}

@media screen and (min-width: 768px) {
  .p-news__news {
    margin: 70px 0 0;
  }
}

@media screen and (max-width: 767px) {
  .p-news__news {
    margin: 8.8vw 0 0;
  }
}

@media screen and (min-width: 768px) {
  .p-news__title-category + .p-news__news {
    margin-top: 45px;
  }
}

@media screen and (max-width: 767px) {
  .p-news__title-category + .p-news__news {
    margin-top: 4.53333vw;
  }
}

.p-news__news-item {
  border-top: 1px solid #e6e6e6;
}

.p-news__news-link {
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-news__news-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 66px;
    padding: 17px 40px 17px 0;
  }
}

@media screen and (max-width: 767px) {
  .p-news__news-link {
    display: block;
    padding: 3.73333vw 0 3.46667vw;
  }
}

@media screen and (min-width: 768px) {
  .p-news__news-link:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
    right: 4px;
    bottom: 0;
    width: 18px;
    height: 6px;
    margin: auto;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-transform: skew(45deg, 0);
    transform: skew(45deg, 0);
  }
}

@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-news__news-link:after {
    bottom: 0.26667vw;
    width: 3.2vw;
    height: 1.6vw;
    margin-left: 0.53333vw;
  }
}

.p-news__news-link:hover {
  color: #666;
}

.p-news__news-link:hover:after {
  border-color: #666;
}

.p-news__news-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-news__news-body {
  display: block;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1 1;
}

@media screen and (min-width: 768px) {
  .p-news__news-body {
    padding: 0 0 0 24px;
    font-size: 1.6rem;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  .p-news__news-body {
    padding: 1.33333vw 0 0;
    font-size: 3.73333vw;
    line-height: 1.78571;
  }
}

@media screen and (min-width: 768px) {
  .p-news__news-date {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 767px) {
  .p-news__news-date {
    font-size: 2.66667vw;
  }
}

.p-news__news-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px) {
  .p-news__news-tag {
    margin-left: 35px;
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .p-news__news-tag {
    margin-left: 4.8vw;
    font-size: 2.66667vw;
  }
}

.p-news__news-tag-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 50px;
  background: #e6e6e6;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-news__news-tag-item {
    width: 79px;
    height: 19px;
  }
}

@media screen and (max-width: 767px) {
  .p-news__news-tag-item {
    width: 16.8vw;
    height: 4vw;
  }
}

.p-news__pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-news__pager {
    margin: 60px 0 0;
  }
}

@media screen and (max-width: 767px) {
  .p-news__pager {
    margin: 26px 0 0;
  }
}

.p-news__pager-in {
  display: block;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-news__pager-in {
    padding: 0 45px 0;
  }
}

@media screen and (max-width: 767px) {
  .p-news__pager-in {
    padding: 0 10.13333vw 0;
  }
}

.p-news__pager-button {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transition: 0.3s opacity;
  transition: 0.3s opacity;
}

@media screen and (min-width: 768px) {
  .p-news__pager-button {
    width: 32px;
    height: 32px;
  }
}

@media screen and (max-width: 767px) {
  .p-news__pager-button {
    width: 8.53333vw;
    height: 8.53333vw;
  }
}

@media screen and (min-width: 768px) {
  .p-news__pager-button:hover {
    opacity: 0.4;
  }
}

.p-news__pager-button--prev {
  overflow: hidden;
  left: 0;
  text-indent: -9999px;
}

.p-news__pager-button--prev:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  margin: auto;
  border-bottom: 1px solid #000;
  border-left: 1px solid #000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: skew(-45deg, 0);
  transform: skew(-45deg, 0);
}

@media screen and (min-width: 768px) {
  .p-news__pager-button--prev:after {
    right: -4px;
    bottom: 9px;
    width: 32px;
    height: 6px;
  }
}

@media screen and (max-width: 767px) {
  .p-news__pager-button--prev:after {
    right: -1.06667vw;
    bottom: 2.4vw;
    width: 8.53333vw;
    height: 1.6vw;
  }
}

.p-news__pager-button--next {
  overflow: hidden;
  right: 0;
  text-indent: -9999px;
}

.p-news__pager-button--next:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  margin: auto;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: skew(45deg, 0);
  transform: skew(45deg, 0);
}

@media screen and (min-width: 768px) {
  .p-news__pager-button--next:after {
    bottom: 9px;
    left: -4px;
    width: 32px;
    height: 6px;
  }
}

@media screen and (max-width: 767px) {
  .p-news__pager-button--next:after {
    bottom: 2.4vw;
    left: -1.06667vw;
    width: 8.53333vw;
    height: 1.6vw;
  }
}

.p-news__pager-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.p-news__pager-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px) {
  .p-news__pager-list-item {
    padding: 0 3.5px 5px;
  }
}

@media screen and (max-width: 767px) {
  .p-news__pager-list-item {
    padding: 0 1.06667vw 1.33333vw;
  }
}

.p-news__pager-list-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid transparent;
  -webkit-transition: 0.3s opacity;
  transition: 0.3s opacity;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-news__pager-list-link {
    width: 40px;
    height: 40px;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
  }
}

@media screen and (max-width: 767px) {
  .p-news__pager-list-link {
    width: 10.66667vw;
    height: 10.66667vw;
    font-size: 3.73333vw;
    letter-spacing: 0.1em;
  }
}

.p-news__pager-list-link.is-current {
  border-color: #000;
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  .p-news__pager-list-link:hover {
    opacity: 0.4;
  }
}

.p-news-post {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-news-post {
    max-width: 100vw;
    margin: 22px 0 0;
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media screen and (min-width: 968px) {
  .p-news-post {
    padding-right: calc((100% - 800px) / 2);
    padding-left: calc((100% - 800px) / 2);
  }
}

@media screen and (max-width: 767px) {
  .p-news-post {
    margin: 5.06667vw 0 0;
    padding-right: 4vw;
    padding-left: 4vw;
  }
}

.p-news-post .p-cms {
  padding: 0;
}

@media screen and (max-width: 767px) {
  .p-news-post__head {
    padding: 6px 0 0;
  }
}

.p-news-post__head-sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-news-post__head-main {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-news-post__head-main {
    margin: 17px 0 0;
  }
}

@media screen and (max-width: 767px) {
  .p-news-post__head-main {
    margin: 1.33333vw 0 0;
  }
}

.p-news-post__body {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-news-post__body {
    margin: 64px 0 0;
  }
}

@media screen and (max-width: 767px) {
  .p-news-post__body {
    margin: 11.46667vw 0 0;
  }
}

@media screen and (min-width: 768px) {
  .p-news-post__date {
    font-size: 1.4rem;
    line-height: 1.78571;
  }
}

@media screen and (max-width: 767px) {
  .p-news-post__date {
    font-size: 2.66667vw;
    line-height: 1.5;
  }
}

.p-news-post__tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px) {
  .p-news-post__tag {
    margin-left: 35px;
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .p-news-post__tag {
    margin-left: 4.8vw;
    font-size: 2.66667vw;
  }
}

.p-news-post__tag-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 50px;
  background: #e6e6e6;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-news-post__tag-item {
    width: 79px;
    height: 19px;
  }
}

@media screen and (max-width: 767px) {
  .p-news-post__tag-item {
    width: 16.8vw;
    height: 4vw;
  }
}

.p-news-post__title {
  font-weight: 600;
}

@media screen and (min-width: 768px) {
  .p-news-post__title {
    font-size: 3.2rem;
    font-weight: 600;
    line-height: 1.71875;
  }
}

@media screen and (max-width: 767px) {
  .p-news-post__title {
    font-size: 6.4vw;
    line-height: 1.5;
  }
}

.p-news-post__pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-news-post__pager {
    margin: 83px 0 0;
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}

@media screen and (max-width: 767px) {
  .p-news-post__pager {
    margin: 16vw 0 0;
    font-size: 3.2vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}

.p-news-post__pager-in {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-news-post__pager-in {
    position: relative;
    padding: 0 51px 0;
  }
}

@media screen and (max-width: 767px) {
  .p-news-post__pager-in {
    padding: 0 10.13333vw 0;
  }
}

.p-news-post__pager-button {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  white-space: nowrap;
  -webkit-transition: 0.3s opacity;
  transition: 0.3s opacity;
}

.p-news-post__pager-button--link {
  position: static;
}

@media screen and (min-width: 768px) {
  .p-news-post__pager-button--prev {
    right: 100%;
    padding-left: 32px;
  }
}

@media screen and (max-width: 767px) {
  .p-news-post__pager-button--prev {
    left: 0;
    padding-left: 10.66667vw;
  }
}

.p-news-post__pager-button--prev:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  border-bottom: 1px solid #000;
  border-left: 1px solid #000;
  -webkit-transform: skew(-45deg, 0);
  transform: skew(-45deg, 0);
}

@media screen and (min-width: 768px) {
  .p-news-post__pager-button--prev:after {
    bottom: 3px;
    left: -4px;
    width: 32px;
    height: 6px;
  }
}

@media screen and (max-width: 767px) {
  .p-news-post__pager-button--prev:after {
    bottom: 1.33333vw;
    left: 1.06667vw;
    width: 8.53333vw;
    height: 1.6vw;
  }
}

@media screen and (min-width: 768px) {
  .p-news-post__pager-button--next {
    left: 100%;
    padding-right: 32px;
  }
}

@media screen and (max-width: 767px) {
  .p-news-post__pager-button--next {
    right: 0;
    padding-right: 10.66667vw;
  }
}

.p-news-post__pager-button--next:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  -webkit-transform: skew(45deg, 0);
  transform: skew(45deg, 0);
}

@media screen and (min-width: 768px) {
  .p-news-post__pager-button--next:after {
    right: -4px;
    bottom: 3px;
    width: 32px;
    height: 6px;
  }
}

@media screen and (max-width: 767px) {
  .p-news-post__pager-button--next:after {
    right: 1.06667vw;
    bottom: 1.33333vw;
    width: 8.53333vw;
    height: 1.6vw;
  }
}

@media screen and (min-width: 768px) {
  .p-news-post__pager-button:hover {
    opacity: 0.6;
  }
}

.p-pagetop {
  opacity: 0;
  position: fixed;
  right: 20px;
  bottom: 20px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.p-pagetop__trigger {
  font-size: 3rem;
}

.p-pagetop__trigger::before {
  min-width: 30px;
  min-height: 30px;
  margin-right: 0;
}

.p-pagetop.is-active {
  opacity: 1;
}

.p-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 98px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .p-pagination {
    margin-top: 10.66667vw;
  }
}

.p-pagination__page {
  display: block;
  width: 40px;
  height: 40px;
  margin: 0 4px;
  font-size: 1.4rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (max-width: 767px) {
  .p-pagination__page {
    width: 10.66667vw;
    height: 10.66667vw;
    margin: 0 1.06667vw;
    font-size: 3.73333vw;
  }
}

.p-pagination__page .p-pagination__page-link:hover {
  border: 1px solid #666;
}

.p-pagination__page.is-current .p-pagination__page-link {
  border: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .p-pagination__page.is-current .p-pagination__page-link:hover {
    border: 1px solid #666;
  }
}

.p-pagination__page-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-pagination__page-link:hover {
    color: #666;
  }
}

.p-pagination__prev,
.p-pagination__next {
  width: 40px;
  height: 40px;
}

@media screen and (max-width: 767px) {
  .p-pagination__prev,
  .p-pagination__next {
    width: 10.66667vw;
    height: 10.66667vw;
  }
}

.p-pagination__prev-link,
.p-pagination__next-link {
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-pagination__prev-link:before,
.p-pagination__next-link:before {
  content: "";
  position: absolute;
  bottom: 50%;
  width: 32px;
  height: 6px;
  border-bottom: 1px solid #000;
}

@media screen and (max-width: 767px) {
  .p-pagination__prev-link:before,
  .p-pagination__next-link:before {
    width: 8.53333vw;
    height: 1.6vw;
  }
}

@media screen and (min-width: 768px) {
  .p-pagination__prev-link:hover:before,
  .p-pagination__next-link:hover:before {
    border-bottom: 1px solid #666;
  }
}

.p-pagination__prev {
  margin-right: 8px;
}

@media screen and (max-width: 767px) {
  .p-pagination__prev {
    margin-right: 2.13333vw;
  }
}

.p-pagination__prev-link:before {
  right: 0;
  border-left: 1px solid #000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: skew(-45deg, 0deg);
  transform: skew(-45deg, 0deg);
}

@media screen and (min-width: 768px) {
  .p-pagination__prev-link:hover:before {
    border-left: 1px solid #666;
  }
}

.p-pagination__next {
  margin-left: 8px;
}

@media screen and (max-width: 767px) {
  .p-pagination__next {
    margin-left: 2.13333vw;
  }
}

.p-pagination__next-link:before {
  left: 0;
  border-right: 1px solid #000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: skew(45deg, 0deg);
  transform: skew(45deg, 0deg);
}

@media screen and (min-width: 768px) {
  .p-pagination__next-link:hover:before {
    border-right: 1px solid #666;
  }
}

.p-result {
  padding: 0 20px;
}

@media screen and (max-width: 767px) {
  .p-result {
    padding: 0 15px;
  }
}

.p-result__in {
  max-width: 1120px;
  margin: 0 auto;
}

.p-result__top {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .p-result__top {
    margin-top: 7.46667vw;
  }
}

.p-result__top-text {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.67;
  text-align: center;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-result__top-text {
    font-size: 4.26667vw;
    line-height: 1.75;
    text-align: left;
    letter-spacing: 0.08em;
  }
}

.p-result__list {
  margin-top: 60px;
  border-top: solid 1px #e6e6e6;
}

@media screen and (max-width: 767px) {
  .p-result__list {
    margin-top: 6.4vw;
  }
}

.p-result__item {
  overflow: hidden;
  padding: 20px 0;
  border-bottom: solid 1px #e6e6e6;
}

@media screen and (max-width: 767px) {
  .p-result__item {
    padding: 5.33333vw 0;
  }
}

.p-result__link {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-result__img {
    transform-origin: 0 0;
  }
  .p-result__link:hover .p-result__img {
    -webkit-transform: scale(1.04) translateY(-50%) translateX(-50%);
    transform: scale(1.04) translateY(-50%) translateX(-50%);
  }
  .p-result__link:hover .c-link {
    color: #4da6b1;
  }
}

.p-result__figure {
  float: right;
  overflow: hidden;
  width: 352px;
  margin-left: 32px;
  height: 240px;
  overflow: hidden;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-result__figure {
    width: 36vw;
    height: 24vw;
    margin-left: 3.46667vw;
  }
}

.p-result__img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
}

.p-result__header {
  padding-top: 28px;
}

@media screen and (max-width: 767px) {
  .p-result__header {
    padding-top: 0;
  }
}

.p-result__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 2rem;
  font-weight: 600;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-result__title {
    font-size: 3.73333vw;
  }
}

.p-result__title-label {
  display: inline-block;
  margin-left: 12px;
  padding: 2px 6px 3px;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 400;
  background-color: #999;
}

@media screen and (max-width: 767px) {
  .p-result__title-label {
    margin-left: 1.6vw;
    padding: 0.53333vw 1.33333vw 0.53333vw;
    font-size: 2.66667vw;
  }
}

.p-result__area {
  margin-top: 18px;
  font-size: 1rem;
}

@media screen and (max-width: 767px) {
  .p-result__area {
    margin-top: 2.4vw;
    font-size: 2.66667vw;
  }
}

.p-result__tags {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin: 24px -18px 0 0;
}

@media screen and (max-width: 767px) {
  .p-result__tags {
    margin-top: 2.93333vw;
  }
}

.p-result__tag {
  margin-right: 18px;
  color: #666;
  font-size: 1.1rem;
}

@media screen and (max-width: 767px) {
  .p-result__tag {
    margin-right: 3.2vw;
    font-size: 3.2vw;
  }
}

.p-result__tag:before {
  content: "#";
}

.p-result__text {
  overflow: hidden;
  margin-top: 22px;
  padding-right: 32px;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 2;
  letter-spacing: -0.04em;
}

@media screen and (max-width: 767px) {
  .p-result__text {
    clear: left;
    padding: 2.66667vw 0 0;
    font-size: 2.93333vw;
    line-height: 1.64;
    letter-spacing: -0.04em;
  }
}

.p-result + .p-search {
  margin-top: 106px;
}

@media screen and (max-width: 767px) {
  .p-result + .p-search {
    margin-top: 16vw;
  }
}

.p-search {
  position: relative;
  background: url("/files/user/image/search/bg_search_01.jpg") no-repeat center/cover;
}

@media screen and (min-width: 768px) {
  .p-search {
    margin: 0 4.08163vw;
    padding: 45px 20px 65px;
  }
}

@media screen and (max-width: 767px) {
  .p-search {
    padding: 9.33333vw 4vw 10.26667vw;
  }
}

.p-search:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

.p-search__title {
  position: relative;
  color: #fff;
}

.p-search__in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  max-width: 1120px;
  margin: 38px auto 0;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .p-search__in {
    display: block;
    margin-top: 7.2vw;
  }
}

#genre-checked,
#area-checked {
  display: none;
}

.p-search + * {
  margin-top: 87px;
}

@media screen and (max-width: 767px) {
  .p-search + * {
    margin-top: 12.26667vw;
  }
}

.p-search-box {
  width: 48%;
  padding: 8px 30px 25px;
  border: solid 1px #d4e5e5;
  -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 767px) {
  .p-search-box {
    width: 100%;
    padding: 4.8vw 5.33333vw 6.66667vw;
  }
  .p-search-box + .p-search-box {
    margin-top: 5.33333vw;
  }
}

.p-search-box__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 60px;
  color: #fff;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.36;
  text-align: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .p-search-box__title {
    display: block;
    height: auto;
    font-size: 4.26667vw;
  }
}

.p-search-box__submit {
  height: 56px;
  margin-top: 13px;
  background-color: #20909d;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff'%3E%3Cpath d='M23.753 22.562l-4.489-4.489a10.966 10.966 0 10-1.191 1.192l4.489 4.488a.842.842 0 001.191-1.191zM4.4 17.507a9.266 9.266 0 116.553 2.715A9.207 9.207 0 014.4 17.507z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 24px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (min-width: 768px) {
  .p-search-box__submit:hover {
    background-color: #4da6b1;
  }
}

@media screen and (max-width: 767px) {
  .p-search-box__submit {
    height: 14.93333vw;
    margin-top: 3.46667vw;
    background-size: 6.4vw 6.4vw;
  }
}

.p-search-box__form {
  margin-top: 12px;
}

@media screen and (max-width: 767px) {
  .p-search-box__form {
    margin-top: 4.26667vw;
  }
}

.p-search-box__form:first-child {
  margin-top: 0;
}

.p-search-box__keyword {
  height: 56px;
  padding: 0 20px;
  border-top: 2px solid #ccc;
  border-left: 2px solid #ccc;
  line-height: normal;
}

@media screen and (max-width: 767px) {
  .p-search-box__keyword {
    height: 14.93333vw;
    padding: 0 5.33333vw;
    border-top: 0.53333vw solid #ccc;
    border-left: 0.53333vw solid #ccc;
  }
}

.p-search-box__keyword::-webkit-input-placeholder {
  font-size: 1.3rem;
}

.p-search-box__keyword::-moz-placeholder {
  font-size: 1.3rem;
}

.p-search-box__keyword::-ms-input-placeholder {
  font-size: 1.3rem;
}

.p-search-box__keyword::placeholder {
  font-size: 1.3rem;
}

@media screen and (max-width: 767px) {
  .p-search-box__keyword::-webkit-input-placeholder {
    font-size: 3.46667vw;
  }
  .p-search-box__keyword::-moz-placeholder {
    font-size: 3.46667vw;
  }
  .p-search-box__keyword::-ms-input-placeholder {
    font-size: 3.46667vw;
  }
  .p-search-box__keyword::placeholder {
    font-size: 3.46667vw;
  }
}

.p-search-box__toggle {
  width: 50%;
}

.p-search-box__toggle:first-child {
  padding-right: 6px;
}

@media screen and (max-width: 767px) {
  .p-search-box__toggle:first-child {
    padding-right: 1.6vw;
  }
}

.p-search-box__toggle:last-child {
  padding-left: 6px;
}

@media screen and (max-width: 767px) {
  .p-search-box__toggle:last-child {
    padding-left: 1.6vw;
  }
}

.p-search-box__toggle-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.p-search-box__toggle-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  height: 56px;
  padding-left: 20px;
  background-color: #fff;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-search-box__toggle-header {
    height: 14.93333vw;
    padding-left: 4.26667vw;
    font-size: 4.26667vw;
  }
}

.p-search-box__toggle-header.is-active {
  padding-top: 3px;
  border-bottom: 3px solid #20909d;
}

@media screen and (max-width: 767px) {
  .p-search-box__toggle-header.is-active {
    padding-top: 0.8vw;
    border-bottom: 0.8vw solid #20909d;
  }
}

.p-search-box__toggle-header:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 8%;
  width: 8px;
  height: 8px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  -webkit-transform: translateY(-50%) rotateZ(45deg);
  transform: translateY(-50%) rotateZ(45deg);
}

.p-search-box__toggle-body {
  overflow: hidden;
  position: absolute;
  z-index: 1;
  top: 146px;
  left: 30px;
  width: calc(100% - 60px);
  max-height: 0;
  background-color: #d4e5e5;
  -webkit-transition: max-height 0.3s;
  transition: max-height 0.3s;
  -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 767px) {
  .p-search-box__toggle-body {
    top: 29.86667vw;
    left: -2.66667vw;
    width: calc(100vw - 10px);
    -webkit-box-shadow: 0 0 1.33333vw 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 1.33333vw 0 rgba(0, 0, 0, 0.2);
  }
}

.p-search-box__toggle-body-in {
  padding: 27px 15px 34px;
}

@media screen and (max-width: 767px) {
  .p-search-box__toggle-body-in {
    padding: 6.29333vw 4vw 11.62667vw;
  }
}

.p-search-box__toggle-close {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 197px;
  height: 36px;
  margin: 42px auto 0;
  padding-top: 7px;
  border: 1px solid #20909d;
  border-radius: 18px;
  font-size: 1.8rem;
  font-weight: 600;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-search-box__toggle-close:hover {
    color: #fff;
    background-color: #20909d;
  }
}

@media screen and (max-width: 767px) {
  .p-search-box__toggle-close {
    width: 100%;
    height: 9.6vw;
    margin-top: 13.06667vw;
    border-radius: 4.8vw;
    font-size: 4.8vw;
  }
}

.p-search-box__list {
  overflow: hidden;
}

.p-search-box__list-header {
  float: left;
  clear: left;
  position: relative;
  top: -3px;
  width: 21.6%;
  padding: 0 2.5% 0 10px;
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1.76;
}

@media screen and (max-width: 767px) {
  .p-search-box__list-header {
    float: none;
    top: 0;
    width: auto;
    padding: 0 0 0 0.90667vw;
    font-size: 5.06667vw;
    line-height: 1;
  }
}

.p-search-box__list-detail {
  margin-bottom: 24px;
  padding: 0 0 24px 21.6%;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

@media screen and (max-width: 767px) {
  .p-search-box__list-detail {
    margin-bottom: 6.4vw;
    padding: 0 0 6.4vw 0;
  }
}

.p-search-box__list-detail:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.p-search-box__list-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -10px -10px 0;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .p-search-box__list-group {
    margin-top: 4.26667vw;
  }
}

.p-search-box__list-item {
  padding: 0 10px 10px 0;
}

.p-search-box__list-label {
  display: inline-block;
  min-width: 51px;
  height: 24px;
  padding: 4px 16px 0;
  border-radius: 12px;
  font-size: 1.4rem;
  font-weight: 600;
  text-align: center;
  background-color: #fff;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (min-width: 768px) {
  .p-search-box__list-label:hover {
    color: #fff;
    background-color: #20909d;
  }
}

@media screen and (max-width: 767px) {
  .p-search-box__list-label {
    height: 7.2vw;
    padding: 1.33333vw 4.26667vw 0;
    border-radius: 3.6vw;
    font-size: 4.26667vw;
  }
}

.p-search-box__list-label.is-active {
  color: #fff;
  background-color: #20909d;
}

.p-search-box__list-checkbox {
  opacity: 0;
  position: absolute;
  width: 0;
  height: 0;
}

.p-search-box--standalone {
  position: relative;
  border: none;
  background: #d4e5e5;
  -webkit-box-shadow: none;
  box-shadow: none;
}

@media screen and (min-width: 768px) {
  .p-search-box--standalone {
    width: 100%;
    max-width: 544px;
    margin: 60px auto 0;
    padding: 36px 33px 35px;
  }
}

@media screen and (max-width: 767px) {
  .p-search-box--standalone {
    width: auto;
    margin: 10.13333vw 4vw 0;
    padding: 6.93333vw 5.33333vw 6.66667vw;
  }
}

@media screen and (min-width: 768px) {
  .p-travel-guide + .p-search-box--standalone {
    margin-top: 69px;
  }
}

@media screen and (max-width: 767px) {
  .p-travel-guide + .p-search-box--standalone {
    margin-top: 26.93333vw;
  }
}

@media screen and (min-width: 768px) {
  .p-search-box--standalone + * {
    margin-top: 60px;
  }
}

@media screen and (max-width: 767px) {
  .p-search-box--standalone + * {
    margin-top: 10.13333vw;
  }
}

@media screen and (min-width: 768px) {
  .p-search-box--standalone .p-search-box__toggle-wrap {
    margin-right: -6px;
    margin-left: -6px;
  }
}

@media screen and (max-width: 767px) {
  .p-search-box--standalone .p-search-box__toggle-wrap {
    margin-right: -1.6vw;
    margin-left: -1.6vw;
  }
}

.p-search-box--standalone .p-search-box__toggle {
  width: auto;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1 1;
}

@media screen and (min-width: 768px) {
  .p-search-box--standalone .p-search-box__toggle-header {
    padding: 0 30px 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

@media screen and (max-width: 767px) {
  .p-search-box--standalone .p-search-box__toggle-header {
    padding: 0 8vw 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

@media screen and (min-width: 768px) {
  .p-search-box--standalone .p-search-box__toggle-header:before {
    right: 20px;
  }
}

@media screen and (max-width: 767px) {
  .p-search-box--standalone .p-search-box__toggle-header:before {
    right: 5.33333vw;
  }
}

@media screen and (min-width: 768px) {
  .p-search-box--standalone .p-search-box__toggle-body {
    top: 104px;
    right: -2000px;
    left: -2000px;
    width: 1053px;
    margin: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-search-box--standalone .p-search-box__toggle-body {
    top: 21.86667vw;
  }
}

@media screen and (min-width: 768px) {
  .p-search-box--standalone .p-search-box__toggle-body-in {
    padding-top: 76px;
    padding-bottom: 54px;
  }
}

@media screen and (max-width: 767px) {
  .p-search-box--standalone .p-search-box__toggle-body-in {
    padding: 7.46667vw 4.8vw 11.46667vw;
  }
}

@media screen and (min-width: 768px) {
  .p-search-box--standalone .p-search-box__toggle-close {
    margin-top: 44px;
  }
}

@media screen and (max-width: 767px) {
  .p-search-box--standalone .p-search-box__toggle-close {
    margin-top: 11.46667vw;
  }
}

@media screen and (min-width: 768px) {
  .p-search-box--standalone .p-search-box__submit {
    margin-top: 16px;
  }
}

@media screen and (min-width: 768px) {
  .p-search-box--standalone .p-search-box__list-header {
    padding-left: 12px;
  }
}

@media screen and (max-width: 767px) {
  .p-search-box--standalone .p-search-box__list-header {
    padding-left: 0;
  }
}

.p-search-box--standalone .p-search-box__list-detail {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

@media screen and (min-width: 768px) {
  .p-search-box--standalone .p-search-box__list-detail {
    margin-bottom: 19px;
    padding: 0 0 12px 21.6%;
  }
}

@media screen and (max-width: 767px) {
  .p-search-box--standalone .p-search-box__list-detail {
    margin-bottom: 6.4vw;
    padding-bottom: 6.4vw;
  }
}

.p-search-box--standalone .p-search-box__list-detail:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .p-search-box--standalone .p-search-box__list-item {
    padding: 0 13px 11px 0;
  }
}

@media screen and (max-width: 767px) {
  .p-search-box--standalone .p-search-box__list-item {
    padding: 0 2.66667vw 3.2vw 0;
  }
}

@media screen and (max-width: 767px) {
  .p-search-box--standalone .p-search-box__list-group {
    margin-top: 4vw;
  }
}

.p-search-box--standalone .p-search-box__list-label {
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .p-search-box--standalone .p-search-box__list-label {
    padding: 4px 15px 0 14px;
  }
}

@media screen and (max-width: 767px) {
  .p-search-box--standalone .p-search-box__list-label {
    padding: 1.33333vw 6.93333vw 0;
  }
}

@media screen and (min-width: 768px) {
  .p-search-box--standalone .p-search-box__list-header .p-search-box__list-label {
    width: 171px;
  }
}

@media screen and (max-width: 767px) {
  .p-search-box--standalone .p-search-box__list-header .p-search-box__list-label {
    width: 100%;
  }
}

.p-search-theme {
  padding: 0 20px 56px;
}

@media screen and (max-width: 767px) {
  .p-search-theme {
    padding: 0;
  }
}

.p-search-theme__in {
  max-width: 1120px;
  margin: 47px auto 0;
}

@media screen and (max-width: 1119px) {
  .p-search-theme__in {
    max-width: 840px;
  }
}

@media screen and (max-width: 767px) {
  .p-search-theme__in {
    max-width: none;
    margin-top: 9.33333vw;
  }
}

.p-search-theme__link {
  display: block;
  height: 100%;
  color: inherit;
}

@media screen and (min-width: 768px) {
  .p-search-theme__link:hover {
    color: #666;
  }
  .p-search-theme__link:hover .p-search-theme__img {
    -webkit-transform: scale(1.04);
    transform: scale(1.04);
  }
}

.p-search-theme__hero {
  overflow: hidden;
}

.p-search-theme__img {
  width: 100%;
  height: auto;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-search-theme__text {
  padding: 16px 18px 26px;
  border-right: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .p-search-theme__text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 16.8vw;
    padding: 0 4vw;
    font-size: 3.73333vw;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

@media screen and (min-width: 768px) {
  .p-search-theme .l-row > div:nth-child(3n + 1) .p-search-theme__text {
    border-left: 1px solid #e6e6e6;
  }
}

@media screen and (min-width: 1120px) {
  .p-search-theme .l-row > div:nth-child(3n + 1) .p-search-theme__text {
    border-left: none;
  }
  .p-search-theme .l-row > div:nth-child(4n + 1) .p-search-theme__text {
    border-left: 1px solid #e6e6e6;
  }
}

@media screen and (max-width: 767px) {
  .p-search-theme .l-row > div:nth-child(even) .p-search-theme__text {
    border-right: none;
  }
}

@media screen and (min-width: 768px) {
  .p-slider {
    padding: 0;
  }
}

.p-slider .slick-arrow {
  display: inline-block;
  overflow: hidden;
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  width: 40px;
  height: 40px;
  margin: auto;
  white-space: nowrap;
  text-indent: 100%;
  background-repeat: no-repeat;
  background-size: contain;
}

@media screen and (min-width: 1120px) {
  .p-slider .slick-arrow {
    width: 80px;
    height: 80px;
  }
}

.p-slider .slick-prev {
  left: 10px;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg aria-hidden='true' data-prefix='fas' data-icon='chevron-left' class='svg-inline--fa fa-chevron-left fa-w-10' xmlns='http://www.w3.org/2000/svg' width='320' height='512' fill='%23e39600'%3E%3Cpath d='M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z'/%3E%3C/svg%3E");
  background-position: left center;
}

@media screen and (min-width: 1120px) {
  .p-slider .slick-prev {
    left: -80px;
  }
}

.p-slider .slick-next {
  right: 10px;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg aria-hidden='true' data-prefix='fas' data-icon='chevron-right' class='svg-inline--fa fa-chevron-right fa-w-10' xmlns='http://www.w3.org/2000/svg' width='320' height='512' fill='%23e39600'%3E%3Cpath d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'/%3E%3C/svg%3E");
  background-position: right center;
}

@media screen and (min-width: 1120px) {
  .p-slider .slick-next {
    right: -80px;
  }
}

.p-sns {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .p-sns {
    margin: 12.53333vw -1.66667vw 0;
  }
}

.p-sns__title {
  font-size: 1.9rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-sns__title {
    font-size: 5.06667vw;
  }
}

.p-sns__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 768px;
  margin: 28px auto 0;
}

@media screen and (max-width: 767px) {
  .p-sns__group {
    margin-top: 7.33333vw;
  }
}

.p-sns__item {
  width: 33.3333%;
  padding: 0 16px;
}

@media screen and (max-width: 767px) {
  .p-sns__item {
    padding: 0 1.66667vw;
  }
}

.p-sns__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 66px;
  border: 1px solid #fff;
  background-color: #fff;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-sns__button:hover {
    border: 1px solid #ccc;
  }
}

@media screen and (max-width: 767px) {
  .p-sns__button {
    height: 17.6vw;
  }
}

.p-sns__img {
  width: 34px;
  height: auto;
}

@media screen and (max-width: 767px) {
  .p-sns__img {
    width: 9.06667vw;
  }
}

.p-sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}

.p-tab__navi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: -1px;
}

.p-tab__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1 1;
}

.p-tab__item + .p-tab__item {
  padding-left: 10px;
}

.p-tab__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  padding: 10px;
  border: 1px solid #248b9a;
  border-bottom: none;
  color: #fff;
  text-align: center;
  background-color: #248b9a;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1 1;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-tab__body {
  padding: 10px;
  border: 1px solid #248b9a;
  background-color: #fff;
}

.p-tab__block {
  display: none;
}

.p-tab__link:hover,
.p-tab__link.is-active {
  opacity: 1;
  color: #248b9a;
  background-color: #fff;
}

.p-tab__link:hover::after,
.p-tab__link.is-active::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
}

.p-tab__block.is-active {
  display: block;
}

* + .p-tab {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  * + .p-tab {
    margin-top: 20px;
  }
}

.p-tile {
  display: block;
  height: 100%;
  color: inherit;
}

@media screen and (min-width: 768px) {
  .p-tile:hover {
    color: #666;
  }
  .p-tile:hover .p-tile__img {
    -webkit-transform: scale(1.04);
    transform: scale(1.04);
  }
}

.p-tile__wrap {
  overflow: hidden;
}

.p-tile__wrap + .l-block--large-padding {
  margin-top: 58px;
}

@media screen and (max-width: 767px) {
  .p-tile__wrap + .l-block--large-padding {
    margin-top: 7.2vw;
  }
}

.p-tile__hero {
  overflow: hidden;
  position: relative;
  padding-bottom: 58.6%;
}

.p-tile__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: 0.6s;
  transition: 0.6s;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-tile__body {
  padding: 16px 20px 26px;
  border-right: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
}

@media screen and (max-width: 767px) {
  .p-tile__body {
    padding: 3.2vw 4vw 4vw;
  }
}

@media screen and (min-width: 768px) {
  .p-tile__item:nth-child(3n + 1) .p-tile__body {
    border-left: 1px solid #e6e6e6;
  }
}

@media screen and (min-width: 1120px) {
  .p-tile__item:nth-child(3n + 1) .p-tile__body {
    border-left: none;
  }
  .p-tile__item:nth-child(4n + 1) .p-tile__body {
    border-left: 1px solid #e6e6e6;
  }
}

@media screen and (max-width: 767px) {
  .p-tile__item:nth-child(even) .p-tile__body {
    border-right: none;
  }
}

.p-tile__title {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .p-tile__title {
    font-size: 2.93333vw;
    letter-spacing: 0.1em;
  }
}

.p-tile__title-tag {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  top: -2px;
  width: 30px;
  height: 18px;
  margin-left: 4px;
  color: #fff;
  font-size: 1.4rem;
  background-color: #999;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .p-tile__title-tag {
    top: 0;
    width: 5.33333vw;
    height: 3.2vw;
    font-size: 2.66667vw;
  }
}

.p-tile__text {
  margin-top: 8px;
  font-size: 1.4rem;
  line-height: 1.79;
}

@media screen and (max-width: 767px) {
  .p-tile__text {
    margin-top: 1.33333vw;
    font-size: 2.66667vw;
    line-height: 1.6;
    letter-spacing: 0.1em;
  }
}

.p-tile__category {
  margin-top: 12px;
  font-size: 1.2rem;
}

.p-tile__category + p {
  margin-top: 12px;
}

.p-tile__area {
  margin-top: 18px;
  padding-bottom: 24px;
  font-size: 1rem;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-tile__area {
    margin-top: 2.13333vw;
    padding-bottom: 2.66667vw;
    font-size: 2.66667vw;
  }
}

.p-toggle::before {
  content: "OFF";
}

.p-toggle.is-active::before {
  content: "ON";
}

.p-top-slider {
  margin-top: 80px;
  overflow: hidden;
  position: relative;
  padding-bottom: 160px;
}

@media screen and (max-width: 767px) {
  .p-top-slider {
    padding-bottom: 35vw
  }
}

.p-top-slider .slick-slider:not(.slick-initialized) {
  display: none;
}

/* .p-top-slider__list-item { position: relative; } */
.p-top-slider__list-item {
  width: 100%;
  padding-top: 42%;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-top-slider__list-item {
    width: 100%;
    padding-top: 67%;
    position: relative;
  }
}

.p-top-slider__list-text {
  position: absolute;
  top: 35vw;
  left: 4.08163vw;
}

.p-top-slider__list-text-sub small {
  display: inline-block;
  background-color: #20909d;
  color: #ffffff;
  font-size: 1.4rem;
  padding: 5px 10px;
  letter-spacing: 0.1em;
}

.p-top-slider__list-text-main {
  background-color: #ffffff;
  color: #000000;
  font-size: 2.6rem;
  margin: 0 20px 0 0;
  padding: 20px;
  line-height: 140%;
  font-weight: 600;
  letter-spacing: 0.1em;
  display: inline-block;
  box-shadow: 5px 5px #e8e8e8;
}

@media screen and (max-width: 767px) {
  .p-top-slider {
    margin-top: 0;
  }
  .p-top-slider__list-text {
    top: 53vw;
    left: 15px;
  }
  .p-top-slider__list-text-sub small {
    font-size: 2vw;
    padding: 5px;
  }
  .p-top-slider__list-text-main {
    font-size: 4.3vw;
    margin: 0 15px 0 0;
    padding: 10px;
    line-height: 170%;
  }
}

.p-top-slider .slick-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  right: 0;
  left: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .p-top-slider .slick-navigation {
    bottom: 230px;
    margin: 0 -12px 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

@media screen and (max-width: 767px) {
  .p-top-slider .slick-navigation {
    bottom: 70vw;
    margin: 0 0 -15px 0;
    padding: 0;
    justify-content: space-between;
  }
}

.p-top-slider .slick-navigation .slick-arrow {
  overflow: hidden;
  position: relative;
  z-index: 2;
  text-indent: -9999px;
  background: url("/files/user/image/ico/ico_arrow_slider.svg") center center no-repeat;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

.p-top-slider .slick-navigation .slick-arrow.slick-disabled {
  opacity: 0;
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  .p-top-slider .slick-navigation .slick-arrow {
    width: 30px;
    height: 30px;
    margin: 0 12px 0;
  }
}

@media screen and (max-width: 767px) {
  .p-top-slider .slick-navigation .slick-arrow {
    width: 8vw;
    height: 8vw;
    margin: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-top-slider .slick-navigation .slick-arrow:hover {
    opacity: 0.6;
  }
}

.p-top-slider .slick-navigation .slick-prev {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

.p-top-slider .slick-navigation .slick-next {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
}

.p-top-slider .slick-navigation .slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -13px;
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-top-slider .slick-navigation .slick-dots li {
  margin: 0 13px;
}

.p-top-slider .slick-navigation .slick-dots button {
  opacity: 0.4;
  display: block;
  overflow: hidden;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  text-indent: -9999px;
  background: #fff;
  cursor: pointer;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

@media screen and (min-width: 768px) {
  .p-top-slider .slick-navigation .slick-dots button:hover {
    opacity: 1;
  }
}

.p-top-slider .slick-navigation .slick-dots .slick-active button {
  opacity: 1;
}

/* .p-top-slider__thumb-image { display: block; width: 100%; height: auto; } */
.p-top-slider__thumb-image {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .p-top-slider__thumb-image {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.p-top-slider .slick-list {
  overflow: visible;
}

.p-top-post {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-top-post {
    margin: 0;
    height: 430px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-post {
    margin: 0;
    height: 360px;
  }
}

@media screen and (min-width: 768px) {
  .p-top-post + .p-top-post {
    margin-top: 0px;
    height: 430px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-post + .p-top-post {
    margin-top: 0;
    height: 360px;
  }
}

.p-top-post .js-slider-post-scroller-wrap {
  padding: 0;
}

.p-top-post .js-slider-post-scroller {
  position: relative;
  padding: 0;
}

.p-top-post .js-slider-post-scroller-in {
  overflow-y: hidden;
  overflow-x: scroll;
  width: 100%;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.p-top-post .js-slider-post-scroller-in::-webkit-scrollbar {
  display: none;
  height: 0;
  -webkit-appearance: none;
}

@media screen and (min-width: 768px) {
  .p-top-post .js-slider-post-scroller-in {
    padding: 0 0 0;
  }
}

@media screen and (max-width: 767px) {
  .p-top-post .js-slider-post-scroller-in {
    padding: 0 0 10px;
    margin-bottom: -10px;
  }
}

.p-top-post .p-top-post__list,
.p-top-post .js-slider-post-list {
  font-size: 0;
  white-space: nowrap;
}

.p-top-post .p-top-post__list-item,
.p-top-post .js-slider-post-list-item {
  position: relative;
  display: inline-block;
  white-space: normal;
  vertical-align: top;
  padding: 0;
}

@media screen and (min-width: 768px) {
  .p-top-post .p-top-post__list-item,
  .p-top-post .js-slider-post-list-item {
    width: calc((246 / 768) * 100vw - 32px);
    margin-right: 32px;
  }
}

@media screen and (min-width: 1121px) {
  .p-top-post .p-top-post__list-item,
  .p-top-post .js-slider-post-list-item {
    width: calc((266 / 1121) * 100vw - 32px);
    margin-right: 32px;
  }
}

@media screen and (min-width: 1416px) {
  .p-top-post .p-top-post__list-item,
  .p-top-post .js-slider-post-list-item {
    width: calc((334 / 1416) * 100vw - 32px);
    margin-right: 32px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-post .p-top-post__list-item,
  .p-top-post .js-slider-post-list-item {
    width: 56.53333vw;
    margin-right: 5.86667vw;
  }
}

@media screen and (min-width: 768px) {
  .p-top-post .js-slider-post-list-item:first-child {
    margin-left: 4.08163vw;
  }
}

@media screen and (min-width: 1416px) {
  .p-top-post .js-slider-post-list-item:first-child {
    margin-left: 4.08163vw;
  }
}

@media screen and (max-width: 767px) {
  .p-top-post .js-slider-post-list-item:first-child {
    margin-left: 4vw;
  }
}

@media screen and (min-width: 768px) {
  .p-top-post .js-slider-post-list-item:last-child {
    margin-right: 4.08163vw;
  }
}

@media screen and (min-width: 1416px) {
  .p-top-post .js-slider-post-list-item:last-child {
    margin-right: 4.08163vw;
  }
}

@media screen and (max-width: 767px) {
  .p-top-post .js-slider-post-list-item:last-child {
    margin-right: 4vw;
  }
}

.p-top-post .js-slider-post-button {
  position: absolute;
  text-indent: -9999px;
  overflow: hidden;
  background: url("/files/user/image/ico/ico_arrow_slider.svg") center center no-repeat;
  z-index: 100;
}

.p-top-post .js-slider-post-button.is-disabled {
  opacity: 0;
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  .p-top-post .js-slider-post-button {
    top: 4.14541vw;
    width: 3.18878vw;
    height: 3.18878vw;
    background-size: 1.46684vw auto;
  }
}

@media screen and (min-width: 768px) and (max-width: 1119px) {
  .p-top-post .js-slider-post-button {
    top: 6.42857vw;
    width: 4.46429vw;
    height: 4.46429vw;
    background-size: 2.05357vw auto;
  }
}

@media screen and (min-width: 768px) and (min-width: 1416px) {
  .p-top-post .js-slider-post-button {
    top: 65px;
    width: 50px;
    height: 50px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-post .js-slider-post-button {
    display: none;
  }
}

.p-top-post .js-slider-post-button--prev {
  left: 20px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

@media screen and (min-width: 1416px) {
  .p-top-post .js-slider-post-button--prev {
    left: calc((100% - 1376px) / 2);
  }
}

@media screen and (min-width: 1568px) {
  .p-top-post .js-slider-post-button--prev {
    left: calc((100% - 1568px) / 2);
  }
}

.p-top-post .js-slider-post-button--next {
  right: 20px;
}

@media screen and (min-width: 1416px) {
  .p-top-post .js-slider-post-button--next {
    right: calc((100% - 1376px) / 2);
  }
}

@media screen and (min-width: 1568px) {
  .p-top-post .js-slider-post-button--next {
    right: calc((100% - 1568px) / 2);
  }
}

.p-top-post .slick-slider:not(.slick-initialized) {
  display: none;
}

.p-top-post .slick-list {
  overflow: visible;
}

.p-top-post .slick-arrow {
  overflow: hidden;
  position: absolute;
  z-index: 100;
  text-indent: -9999px;
  background: url("/files/user/image/ico/ico_arrow_slider.svg") center center no-repeat;
}

.p-top-post .slick-arrow.slick-disabled {
  opacity: 0;
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  .p-top-post .slick-arrow {
    top: 4.14541vw;
    width: 3.18878vw;
    height: 3.18878vw;
    background-size: 1.46684vw auto;
  }
}

@media screen and (min-width: 768px) and (max-width: 1119px) {
  .p-top-post .slick-arrow {
    top: 6.42857vw;
    width: 4.46429vw;
    height: 4.46429vw;
    background-size: 2.05357vw auto;
  }
}

@media screen and (min-width: 768px) and (min-width: 1416px) {
  .p-top-post .slick-arrow {
    top: 65px;
    width: 50px;
    height: 50px;
  }
}

.p-top-post .slick-prev {
  left: 20px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

@media screen and (min-width: 1416px) {
  .p-top-post .slick-prev {
    left: calc((100% - 1376px) / 2);
  }
}

@media screen and (min-width: 1568px) {
  .p-top-post .slick-prev {
    left: calc((100% - 1568px) / 2);
  }
}

.p-top-post .slick-next {
  right: 20px;
}

@media screen and (min-width: 1416px) {
  .p-top-post .slick-next {
    right: calc((100% - 1376px) / 2);
  }
}

@media screen and (min-width: 1568px) {
  .p-top-post .slick-next {
    right: calc((100% - 1568px) / 2);
  }
}

.p-top-post__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

@media screen and (min-width: 768px) {
  .p-top-post__head {
    max-width: 100vw;
    padding-right: 4.08163vw;
    padding-left: 4.08163vw;
  }
}

@media screen and (min-width: 1416px) {
  .p-top-post__head {
    padding-right: 4.08163vw;
    padding-left: 4.08163vw;
  }
}

@media screen and (max-width: 767px) {
  .p-top-post__head {
    max-width: 100vw;
    padding-right: 4vw;
    padding-left: 4vw;
  }
}

.p-top-post__body {
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-top-post__body {
    max-width: 100vw;
    margin: 22px 0 0;
    padding-right: 4.08163vw;
    padding-left: 4.08163vw;
  }
}

@media screen and (min-width: 1416px) {
  .p-top-post__body {
    padding-right: 4.08163vw;
    padding-left: 4.08163vw;
  }
}

@media screen and (max-width: 767px) {
  .p-top-post__body {
    max-width: 100vw;
    margin: 5.06667vw 0 0;
    padding-right: 39.46667vw;
    padding-left: 4vw;
  }
}

.p-top-post__title {
  display: block;
  font-weight: 600;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 768px) {
  .p-top-post__title {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 767px) {
  .p-top-post__title {
    font-size: 4.3vw;
  }
}

.p-top-post__title2 {
  display: block;
  font-weight: 600;
  letter-spacing: 0.1em;
  border-left: 5px solid #20909d;
  padding: 10px 0 10px 20px;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-top-post__title2 {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 767px) {
  .p-top-post__title2 {
    font-size: 4.3vw;
  }
}

.p-top-post .c-top-more-link {
  display: block;
  margin-left: auto;
}

.p-top-post__list {
  position: static;
}

@media screen and (min-width: 768px) {
  .p-top-post__list {
    margin-right: -32px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-post__list {
    margin-right: -5.86667vw;
  }
}

.p-top-post__list-item {
  outline: none;
}

@media screen and (min-width: 768px) {
  .p-top-post__list-item {
    padding-right: 32px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-post__list-item {
    padding-right: 5.86667vw;
  }
}

@media screen and (max-width: 767px) {
  .p-top-post .p-card__body {
    padding-right: 0;
    padding-left: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-top-post .p-card__text {
    margin-top: 1.6vw;
    font-size: 3.2vw;
    line-height: 1.66667;
  }
}

@media screen and (max-width: 767px) {
  .p-top-post .p-card__tags {
    margin-top: 1.6vw;
    margin-bottom: -11px;
  }
}

@media screen and (min-width: 768px) {
  .p-top-spot {
    max-width: 100vw;
    margin: 0 0 95px;
    padding-right: 4.08163vw;
    padding-left: 4.08163vw;
  }
}

@media screen and (min-width: 1416px) {
  .p-top-spot {
    padding-right: 4.08163vw;
    padding-left: 4.08163vw;
  }
}

@media screen and (max-width: 767px) {
  .p-top-spot {
    margin: 0 0 11.73333vw ;
  }
}

.p-top-spot__in {
  position: relative;
  background: #d4e5e5;
}

@media screen and (min-width: 768px) {
  .p-top-spot__in {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width: 767px) {
  .p-top-spot__in {
    display: block;
  }
}

.p-top-spot__block-link {
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .p-top-spot__block-link {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .p-top-spot__thumb:hover .p-top-spot__thumb-image,
  .p-top-spot__block-link:hover ~ * .p-top-spot__thumb-image {
    -webkit-transform: scale(1.02);
    transform: scale(1.02);
  }
}

.p-top-spot__title a:hover,
.p-top-spot__block-link:hover ~ * .p-top-spot__title,
.p-top-spot__block-link:hover ~ * .p-top-spot__detail,
.p-top-spot__block-link:hover ~ * .p-top-spot__text {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (min-width: 768px) {
  .p-top-spot__title a:hover,
  .p-top-spot__block-link:hover ~ * .p-top-spot__title,
  .p-top-spot__block-link:hover ~ * .p-top-spot__detail,
  .p-top-spot__block-link:hover ~ * .p-top-spot__text {
    color: #666;
  }
}

@media screen and (min-width: 768px) {
  .p-top-spot__head {
    width: 50%;
    padding: 0 16px 0 0;
  }
}

@media screen and (min-width: 768px) {
  .p-top-spot__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 50%;
    padding: 32px 32px 32px 16px;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
  }
}

@media screen and (min-width: 1160px) {
  .p-top-spot__body {
    padding: 32px 64px 32px 48px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-spot__body {
    display: block;
    padding: 4.8vw 4vw 6.66667vw;
  }
}

.p-top-spot__thumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  position: relative;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-top-spot__thumb-image {
  display: block;
  width: 100%;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-top-spot__title {
  font-weight: 600;
  letter-spacing: 0.08em;
}

@media screen and (min-width: 768px) {
  .p-top-spot__title {
    font-size: 2.4rem;
    line-height: 1.45833;
  }
}

@media screen and (max-width: 767px) {
  .p-top-spot__title {
    font-size: 3.2vw;
    line-height: 1.66667;
  }
}

@media screen and (min-width: 768px) {
  .p-top-spot__detail {
    margin: 24px 0 0;
    font-size: 1.6rem;
    line-height: 1.75;
  }
}

@media screen and (max-width: 767px) {
  .p-top-spot__detail {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .p-top-spot .p-card__tags {
    margin-top: 1.06667vw;
  }
}

.p-top-spot .c-top-more {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

@media screen and (min-width: 768px) {
  .p-top-spot .c-top-more {
    margin-top: 24px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-spot .c-top-more {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .p-top-nagano {
    max-width: 100vw;
    margin: 100px 0 0;
    padding-right: 4.08163vw;
    padding-left: 4.08163vw;
  }
}

@media screen and (min-width: 1352px) {
  .p-top-nagano {
    padding-right: 4.08163vw;
    padding-left: 4.08163vw;
  }
}

@media screen and (max-width: 767px) {
  .p-top-nagano {
    max-width: 100vw;
    margin: 11.46667vw 0 0;
    padding-right: 4vw;
    padding-left: 4vw;
  }
}

.p-top-nagano__in {
  background: #f2f2f2;
}

@media screen and (min-width: 768px) {
  .p-top-nagano__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
  }
}

.p-top-nagano .p-map {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 37px 96px 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 1119px) {
  .p-top-nagano .p-map {
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-nagano .p-map {
    display: block;
    padding: 2.93333vw 5.33333vw 0;
  }
}

.p-top-nagano .p-map__in {
  position: relative;
  min-width: 400px;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

@media screen and (max-width: 767px) {
  .p-top-nagano .p-map__in {
    min-width: auto;
  }
}

.p-top-nagano .p-map__name {
  height: auto;
  padding: 3px 10px 6px 10px;
  border-radius: 13px;
  font-size: 16px;
  white-space: nowrap;
}

@media screen and (max-width: 1119px) {
  .p-top-nagano .p-map__name {
    white-space: inherit;
  }
}

@media screen and (max-width: 767px) {
  .p-top-nagano .p-map__name {
    padding: 1.33333vw 4.26667vw 2vw 4.26667vw;
    border-radius: 3.73333vw;
    font-size: 4.18667vw;
    white-space: inherit;
  }
}

.p-top-nagano .p-map__text {
  width: 48.52%;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .p-top-nagano .p-map__text {
    width: 100%;
    margin-top: 6.13333vw;
    line-height: 1.79;
  }
}

.p-top-nagano .p-map .p-map-main {
  width: 306px;
  height: 490px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-top-nagano .p-map .p-map-main {
    overflow: hidden;
    width: 63.60267vw;
    height: 102.06667vw;
  }
}

.p-top-nagano .p-map .p-map-main [class^="area-"] {
  stroke: #fff;
}

.p-top-nagano .p-map .p-map-main .area-01 {
  fill: #eeffac;
}

.p-top-nagano .p-map .p-map-main .area-02 {
  fill: #e6cde5;
}

.p-top-nagano .p-map .p-map-main .area-03 {
  fill: #a3dbf3;
}

.p-top-nagano .p-map .p-map-main .area-04 {
  fill: #abeab7;
}

.p-top-nagano .p-map .p-map-main .area-05 {
  fill: #e9d9c7;
}

.p-top-nagano .p-map .p-map-main .area-06 {
  fill: #fbdbc7;
}

.p-top-nagano .p-map .p-map-main__front {
  width: 306px;
  height: 490px;
}

@media screen and (max-width: 767px) {
  .p-top-nagano .p-map .p-map-main__front {
    width: 63.60267vw;
    height: 102.06667vw;
  }
}

@media screen and (min-width: 768px) {
  .p-top-nagano .p-map .p-map-text-01 {
    top: 62px;
    margin-left: 25px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-nagano .p-map .p-map-text-01 {
    top: 13.06667vw;
    margin-left: 6.4vw;
  }
}

.p-top-nagano .p-map .p-map-text-02 {
  right: 50%;
  left: auto;
}

@media screen and (min-width: 768px) {
  .p-top-nagano .p-map .p-map-text-02 {
    top: 165px;
    margin-right: 18px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-nagano .p-map .p-map-text-02 {
    top: 30.66667vw;
    margin-right: -10.13333vw;
  }
}

@media screen and (min-width: 768px) {
  .p-top-nagano .p-map .p-map-text-03 {
    top: 186px;
    margin-left: 52px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-nagano .p-map .p-map-text-03 {
    top: 40vw;
    margin-left: 7.2vw;
  }
}

@media screen and (min-width: 768px) {
  .p-top-nagano .p-map .p-map-text-04 {
    top: 260px;
    margin-left: 25px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-nagano .p-map .p-map-text-04 {
    top: 55.2vw;
    margin-left: 7.2vw;
  }
}

.p-top-nagano .p-map .p-map-text-05 {
  right: 50%;
  left: auto;
}

@media screen and (min-width: 768px) {
  .p-top-nagano .p-map .p-map-text-05 {
    top: 315px;
    margin-right: 65px;
    text-align: right;
  }
}

@media screen and (max-width: 767px) {
  .p-top-nagano .p-map .p-map-text-05 {
    top: 60.8vw;
    margin-right: 2.4vw;
  }
}

@media screen and (min-width: 768px) {
  .p-top-nagano .p-map .p-map-text-06 {
    top: 360px;
    margin-left: -12px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-nagano .p-map .p-map-text-06 {
    top: 76.26667vw;
    margin-left: -7.2vw;
  }
}

@media screen and (min-width: 768px) {
  .p-top-nagano__headline {
    padding: 130px 0 0 40px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-nagano__headline {
    padding: 8.53333vw 5.33333vw 2.66667vw;
  }
}

.p-top-nagano__title {
  font-weight: 600;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 768px) {
  .p-top-nagano__title {
    font-size: 3.1rem;
    line-height: 1.45161;
  }
}

@media screen and (max-width: 767px) {
  .p-top-nagano__title {
    font-size: 4.8vw;
    line-height: 1.44444;
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .p-top-nagano__text {
    margin: 39px 0 0;
    font-size: 1.4rem;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  .p-top-nagano__text {
    margin: 6.4vw 0 0;
    font-size: 3.73333vw;
    line-height: 1.85714;
  }
}

@media screen and (min-width: 768px) {
  .p-top-nagano__body {
    margin: 34px 0 0;
    padding: 0 6.12245vw 65px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-nagano__body {
    margin: 5.86667vw 0 0;
    padding: 0 5.33333vw 4.53333vw;
  }
}

.p-top-nagano__area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .p-top-nagano__area {
    margin: 0 -16px -49px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-nagano__area {
    margin: 0 -4.26667vw -8.53333vw;
  }
}

.p-top-nagano__area-item {
  display: block;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-top-nagano__area-item {
    width: 33.33333%;
    padding: 0 16px 49px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-nagano__area-item {
    width: 100%;
    padding: 0 4.26667vw 8.53333vw;
  }
}

.p-top-nagano__area-link {
  display: block;
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .p-top-nagano__area-link:hover ~ .p-top-nagano__area-thumb .p-top-nagano__area-thumb-image {
    -webkit-transform: scale(1.04);
    transform: scale(1.04);
  }
}

.p-top-nagano__area-link:hover ~ .p-top-nagano__area-title,
.p-top-nagano__area-link:hover ~ .p-top-nagano__area-text {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (min-width: 768px) {
  .p-top-nagano__area-link:hover ~ .p-top-nagano__area-title,
  .p-top-nagano__area-link:hover ~ .p-top-nagano__area-text {
    color: #666;
  }
}

.p-top-nagano__area-title {
  font-weight: 600;
}

@media screen and (min-width: 768px) {
  .p-top-nagano__area-title {
    font-size: 2rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .p-top-nagano__area-title {
    font-size: 4.26667vw;
    line-height: 1.625;
  }
}

.p-top-nagano__area-thumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin: 12px auto 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-top-nagano__area-thumb-image {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-top-nagano__area-text {
    margin: 14px 0 0;
    font-size: 1.4rem;
    line-height: 1.85714;
  }
}

@media screen and (max-width: 767px) {
  .p-top-nagano__area-text {
    margin: 4px 0 0;
    font-size: 3.46667vw;
    line-height: 1.84615;
  }
}

.c-top-more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 10;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

@media screen and (min-width: 768px) {
  .c-top-more {
    margin: 40px 0 0;
  }
}

@media screen and (max-width: 767px) {
  .c-top-more {
    margin: 4.8vw 0 0;
  }
}

@media screen and (max-width: 767px) {
  .l-block--large .c-top-more {
    padding: 0 4vw 0;
  }
}

.c-top-more-link {
  position: relative;
  font-size: 1.3rem;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) and (min-width: 768px) {
  .c-top-more-link:hover {
    color: #666;
  }
  .c-top-more-link:hover:after {
    border-right: 1px solid #666;
    border-bottom: 1px solid #666;
  }
}

@media screen and (max-width: 767px) {
  .c-top-more-link {
    margin-left: 2.93333vw;
    font-size: 2.93333vw;
  }
}

.c-top-more-link:after {
  content: "";
  display: inline-block;
  position: relative;
  bottom: 2px;
  width: 18px;
  height: 6px;
  margin-right: 3px;
  margin-left: 3px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: skew(45deg, 0);
  transform: skew(45deg, 0);
}

@media screen and (min-width: 768px) {
  .c-top-more-link:hover:after {
    width: 24px;
  }
}

@media screen and (max-width: 767px) {
  .c-top-more-link:after {
    bottom: 0.26667vw;
    width: 3.2vw;
    height: 1.6vw;
    margin-left: 0.53333vw;
  }
}

.p-travel-guide {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-travel-guide {
    max-width: 100vw;
    margin: 75px 0 0;
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media screen and (min-width: 1160px) {
  .p-travel-guide {
    padding-right: calc((100% - 1120px) / 2);
    padding-left: calc((100% - 1120px) / 2);
  }
}

@media screen and (max-width: 767px) {
  .p-travel-guide {
    margin: 10.93333vw 0 0;
    padding-right: 4vw;
    padding-left: 4vw;
  }
}

.p-travel-guide__title {
  font-weight: 600;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-travel-guide__title {
    font-size: 2.4rem;
    line-height: 1.25;
    letter-spacing: 0.1em;
  }
}

@media screen and (max-width: 767px) {
  .p-travel-guide__title {
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}

@media screen and (min-width: 768px) {
  .p-travel-guide__post {
    margin: 56px 0 0;
  }
}

@media screen and (max-width: 767px) {
  .p-travel-guide__post {
    margin: 7.73333vw 0 0;
  }
}

.p-travel-guide__post-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .p-travel-guide__post-list {
    margin: 0 -16px -60px;
  }
}

@media screen and (max-width: 767px) {
  .p-travel-guide__post-list {
    margin: 0 -4.26667vw -7.2vw;
  }
}

.p-travel-guide__post-list-item {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-travel-guide__post-list-item {
    width: 50%;
    padding: 0 16px 60px;
  }
}

@media screen and (max-width: 767px) {
  .p-travel-guide__post-list-item {
    width: 100%;
    padding: 0 4.26667vw 7.2vw;
  }
}

.p-travel-guide__post-list-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px) {
  .p-travel-guide__post-list-link:hover .p-travel-guide__post-list-thumb-image {
    -webkit-transform: scale(1.04);
    transform: scale(1.04);
  }
}

@media screen and (min-width: 768px) {
  .p-travel-guide__post-list-link:hover {
    color: #666;
  }
}

.p-travel-guide__post-list-head {
  display: block;
  width: 15vw;
}

@media screen and (max-width: 767px) {
  .p-travel-guide__post-list-head {
    width: 36vw;
  }
}

.p-travel-guide__post-list-body {
  display: block;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1 1;
}

@media screen and (min-width: 768px) {
  .p-travel-guide__post-list-body {
    padding-left: 20px;
  }
}

@media screen and (max-width: 767px) {
  .p-travel-guide__post-list-body {
    padding-left: 4vw;
  }
}

.p-travel-guide__post-list-thumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  position: relative;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: flex-end;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 10vw;
}

@media screen and (max-width: 767px) {
  .p-travel-guide__post-list-thumb {
    height: 20vw;
  }
}

.p-travel-guide__post-list-thumb-image {
  display: block;
  width: 100%;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-travel-guide__post-list-title {
    font-size: 2rem;
    line-height: 1.4;
    letter-spacing: 0.1em;
  }
}

@media screen and (max-width: 767px) {
  .p-travel-guide__post-list-title {
    font-size: 3.2vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}

@media screen and (min-width: 768px) {
  .p-travel-guide__post-list-title:first-child {
    margin-top: -0.15em;
  }
}

@media screen and (max-width: 767px) {
  .p-travel-guide__post-list-title:first-child {
    margin-top: -0.2em;
  }
}

@media screen and (min-width: 768px) {
  .p-travel-guide__post-list-table {
    margin: 12px 0 -6px;
  }
}

@media screen and (max-width: 767px) {
  .p-travel-guide__post-list-table {
    margin: 2.13333vw 0 -1.6vw;
  }
}

.p-travel-guide__post-list-table th,
.p-travel-guide__post-list-table td {
  text-align: left;
}

@media screen and (min-width: 768px) {
  .p-travel-guide__post-list-table th,
  .p-travel-guide__post-list-table td {
    padding: 0 0 6px;
    font-size: 1.4rem;
    line-height: 1.78571;
  }
}

@media screen and (max-width: 767px) {
  .p-travel-guide__post-list-table th,
  .p-travel-guide__post-list-table td {
    padding: 0 0 0.8vw 0;
    font-size: 2.66667vw;
    line-height: 1.5;
    vertical-align: top;
    text-align: left;
  }
}

@media screen and (min-width: 768px) {
  .p-travel-guide__post-list-table th {
    width: 76px;
    white-space: nowrap;
  }
}

@media screen and (max-width: 767px) {
  .p-travel-guide__post-list-table th {
    width: 56px;
  }
}

.p-travel-guide__post-list-table td {
  width: auto;
}

@media screen and (min-width: 768px) {
  .p-travel-guide__post-list-table:last-child {
    margin-bottom: -9px;
  }
}

/* ==========================================================================//
//
// [汎用]
//
// ========================================================================== */
@media screen and (max-width: 767px) {
  .u-left-md--down {
    text-align: left !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-left-lg--down {
    text-align: left !important;
  }
}

@media screen and (max-width: 899px) {
  .u-left-hd--down {
    text-align: left !important;
  }
}

@media screen and (max-width: 767px) {
  .u-center-md--down {
    text-align: center !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-center-lg--down {
    text-align: center !important;
  }
}

@media screen and (max-width: 899px) {
  .u-center-hd--down {
    text-align: center !important;
  }
}

@media screen and (max-width: 767px) {
  .u-right-md--down {
    text-align: right !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-right-lg--down {
    text-align: right !important;
  }
}

@media screen and (max-width: 899px) {
  .u-right-hd--down {
    text-align: right !important;
  }
}

.u-left {
  text-align: left !important;
}

@media screen and (min-width: 768px) {
  .u-left-md {
    text-align: left !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-left-lg {
    text-align: left !important;
  }
}

@media screen and (min-width: 900px) {
  .u-left-hd {
    text-align: left !important;
  }
}

.u-center {
  text-align: center !important;
}

@media screen and (min-width: 768px) {
  .u-center-md {
    text-align: center !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-center-lg {
    text-align: center !important;
  }
}

@media screen and (min-width: 900px) {
  .u-center-hd {
    text-align: center !important;
  }
}

.u-right {
  text-align: right !important;
}

@media screen and (min-width: 768px) {
  .u-right-md {
    text-align: right !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-right-lg {
    text-align: right !important;
  }
}

@media screen and (min-width: 900px) {
  .u-right-hd {
    text-align: right !important;
  }
}

@media screen and (max-width: 767px) {
  .u-bd-none-md--down {
    border: none !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-bd-none-lg--down {
    border: none !important;
  }
}

@media screen and (max-width: 899px) {
  .u-bd-none-hd--down {
    border: none !important;
  }
}

@media screen and (max-width: 767px) {
  .u-bdt-none-md--down {
    border-top: none !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-bdt-none-lg--down {
    border-top: none !important;
  }
}

@media screen and (max-width: 899px) {
  .u-bdt-none-hd--down {
    border-top: none !important;
  }
}

@media screen and (max-width: 767px) {
  .u-bdb-none-md--down {
    border-bottom: none !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-bdb-none-lg--down {
    border-bottom: none !important;
  }
}

@media screen and (max-width: 899px) {
  .u-bdb-none-hd--down {
    border-bottom: none !important;
  }
}

@media screen and (max-width: 767px) {
  .u-bdl-none-md--down {
    border-left: none !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-bdl-none-lg--down {
    border-left: none !important;
  }
}

@media screen and (max-width: 899px) {
  .u-bdl-none-hd--down {
    border-left: none !important;
  }
}

@media screen and (max-width: 767px) {
  .u-bdr-none-md--down {
    border-right: none !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-bdr-none-lg--down {
    border-right: none !important;
  }
}

@media screen and (max-width: 899px) {
  .u-bdr-none-hd--down {
    border-right: none !important;
  }
}

.u-bd-none {
  border: none !important;
}

@media screen and (min-width: 768px) {
  .u-bd-none-md {
    border: none !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-bd-none-lg {
    border: none !important;
  }
}

@media screen and (min-width: 900px) {
  .u-bd-none-hd {
    border: none !important;
  }
}

.u-bdt-none {
  border-top: none !important;
}

@media screen and (min-width: 768px) {
  .u-bdt-none-md {
    border-top: none !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-bdt-none-lg {
    border-top: none !important;
  }
}

@media screen and (min-width: 900px) {
  .u-bdt-none-hd {
    border-top: none !important;
  }
}

.u-bdb-none {
  border-bottom: none !important;
}

@media screen and (min-width: 768px) {
  .u-bdb-none-md {
    border-bottom: none !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-bdb-none-lg {
    border-bottom: none !important;
  }
}

@media screen and (min-width: 900px) {
  .u-bdb-none-hd {
    border-bottom: none !important;
  }
}

.u-bdl-none {
  border-left: none !important;
}

@media screen and (min-width: 768px) {
  .u-bdl-none-md {
    border-left: none !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-bdl-none-lg {
    border-left: none !important;
  }
}

@media screen and (min-width: 900px) {
  .u-bdl-none-hd {
    border-left: none !important;
  }
}

.u-bdr-none {
  border-right: none !important;
}

@media screen and (min-width: 768px) {
  .u-bdr-none-md {
    border-right: none !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-bdr-none-lg {
    border-right: none !important;
  }
}

@media screen and (min-width: 900px) {
  .u-bdr-none-hd {
    border-right: none !important;
  }
}

.u-color-white {
  color: #fff !important;
}

.u-bgcolor-white {
  background-color: #fff !important;
}

.u-color-black {
  color: #000 !important;
}

.u-bgcolor-black {
  background-color: #000 !important;
}

.u-color-mine-shaft {
  color: #333 !important;
}

.u-bgcolor-mine-shaft {
  background-color: #333 !important;
}

.u-color-dusty-gray {
  color: #999 !important;
}

.u-bgcolor-dusty-gray {
  background-color: #999 !important;
}

.u-color-cararra {
  color: #e7e6e1 !important;
}

.u-bgcolor-cararra {
  background-color: #e7e6e1 !important;
}

.u-color-quill-gray {
  color: #dbdad6 !important;
}

.u-bgcolor-quill-gray {
  background-color: #dbdad6 !important;
}

.u-color-red {
  color: #e00100 !important;
}

.u-bgcolor-red {
  background-color: #e00100 !important;
}

.u-color-pippin {
  color: #ffe4e1 !important;
}

.u-bgcolor-pippin {
  background-color: #ffe4e1 !important;
}

.u-color-jelly-bean {
  color: #248b9a !important;
}

.u-bgcolor-jelly-bean {
  background-color: #248b9a !important;
}

.u-color-genoa {
  color: #136e7b !important;
}

.u-bgcolor-genoa {
  background-color: #136e7b !important;
}

.u-color-hippie-blue {
  color: #50a2ae !important;
}

.u-bgcolor-hippie-blue {
  background-color: #50a2ae !important;
}

.u-color-tangerine {
  color: #e39600 !important;
}

.u-bgcolor-tangerine {
  background-color: #e39600 !important;
}

.u-bgcolor-transparent {
  background-color: transparent !important;
}

.u-bgcolor-current {
  background-color: currentColor !important;
}

.u-bg-none {
  background: none !important;
}

@media screen and (max-width: 767px) {
  .u-dn-md--down {
    display: none !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-dn-lg--down {
    display: none !important;
  }
}

@media screen and (max-width: 899px) {
  .u-dn-hd--down {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .u-db-md--down {
    display: block !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-db-lg--down {
    display: block !important;
  }
}

@media screen and (max-width: 899px) {
  .u-db-hd--down {
    display: block !important;
  }
}

@media screen and (max-width: 767px) {
  .u-di-md--down {
    display: inline !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-di-lg--down {
    display: inline !important;
  }
}

@media screen and (max-width: 899px) {
  .u-di-hd--down {
    display: inline !important;
  }
}

@media screen and (max-width: 767px) {
  .u-dib-md--down {
    display: inline-block !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-dib-lg--down {
    display: inline-block !important;
  }
}

@media screen and (max-width: 899px) {
  .u-dib-hd--down {
    display: inline-block !important;
  }
}

.u-dn {
  display: none !important;
}

@media screen and (min-width: 768px) {
  .u-dn-md {
    display: none !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-dn-lg {
    display: none !important;
  }
}

@media screen and (min-width: 900px) {
  .u-dn-hd {
    display: none !important;
  }
}

.u-db {
  display: block !important;
}

@media screen and (min-width: 768px) {
  .u-db-md {
    display: block !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-db-lg {
    display: block !important;
  }
}

@media screen and (min-width: 900px) {
  .u-db-hd {
    display: block !important;
  }
}

.u-di {
  display: inline !important;
}

@media screen and (min-width: 768px) {
  .u-di-md {
    display: inline !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-di-lg {
    display: inline !important;
  }
}

@media screen and (min-width: 900px) {
  .u-di-hd {
    display: inline !important;
  }
}

.u-dib {
  display: inline-block !important;
}

@media screen and (min-width: 768px) {
  .u-dib-md {
    display: inline-block !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-dib-lg {
    display: inline-block !important;
  }
}

@media screen and (min-width: 900px) {
  .u-dib-hd {
    display: inline-block !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-10-md--down {
    font-size: 1rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-10-lg--down {
    font-size: 1rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-10-hd--down {
    font-size: 1rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-11-md--down {
    font-size: 1.1rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-11-lg--down {
    font-size: 1.1rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-11-hd--down {
    font-size: 1.1rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-12-md--down {
    font-size: 1.2rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-12-lg--down {
    font-size: 1.2rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-12-hd--down {
    font-size: 1.2rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-13-md--down {
    font-size: 1.3rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-13-lg--down {
    font-size: 1.3rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-13-hd--down {
    font-size: 1.3rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-14-md--down {
    font-size: 1.4rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-14-lg--down {
    font-size: 1.4rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-14-hd--down {
    font-size: 1.4rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-15-md--down {
    font-size: 1.5rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-15-lg--down {
    font-size: 1.5rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-15-hd--down {
    font-size: 1.5rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-16-md--down {
    font-size: 1.6rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-16-lg--down {
    font-size: 1.6rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-16-hd--down {
    font-size: 1.6rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-17-md--down {
    font-size: 1.7rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-17-lg--down {
    font-size: 1.7rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-17-hd--down {
    font-size: 1.7rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-18-md--down {
    font-size: 1.8rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-18-lg--down {
    font-size: 1.8rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-18-hd--down {
    font-size: 1.8rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-19-md--down {
    font-size: 1.9rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-19-lg--down {
    font-size: 1.9rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-19-hd--down {
    font-size: 1.9rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-20-md--down {
    font-size: 2rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-20-lg--down {
    font-size: 2rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-20-hd--down {
    font-size: 2rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-21-md--down {
    font-size: 2.1rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-21-lg--down {
    font-size: 2.1rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-21-hd--down {
    font-size: 2.1rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-22-md--down {
    font-size: 2.2rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-22-lg--down {
    font-size: 2.2rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-22-hd--down {
    font-size: 2.2rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-23-md--down {
    font-size: 2.3rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-23-lg--down {
    font-size: 2.3rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-23-hd--down {
    font-size: 2.3rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-24-md--down {
    font-size: 2.4rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-24-lg--down {
    font-size: 2.4rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-24-hd--down {
    font-size: 2.4rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-25-md--down {
    font-size: 2.5rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-25-lg--down {
    font-size: 2.5rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-25-hd--down {
    font-size: 2.5rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-26-md--down {
    font-size: 2.6rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-26-lg--down {
    font-size: 2.6rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-26-hd--down {
    font-size: 2.6rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-27-md--down {
    font-size: 2.7rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-27-lg--down {
    font-size: 2.7rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-27-hd--down {
    font-size: 2.7rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-28-md--down {
    font-size: 2.8rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-28-lg--down {
    font-size: 2.8rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-28-hd--down {
    font-size: 2.8rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-29-md--down {
    font-size: 2.9rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-29-lg--down {
    font-size: 2.9rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-29-hd--down {
    font-size: 2.9rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-30-md--down {
    font-size: 3rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-30-lg--down {
    font-size: 3rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-30-hd--down {
    font-size: 3rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-31-md--down {
    font-size: 3.1rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-31-lg--down {
    font-size: 3.1rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-31-hd--down {
    font-size: 3.1rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-32-md--down {
    font-size: 3.2rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-32-lg--down {
    font-size: 3.2rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-32-hd--down {
    font-size: 3.2rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-33-md--down {
    font-size: 3.3rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-33-lg--down {
    font-size: 3.3rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-33-hd--down {
    font-size: 3.3rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-34-md--down {
    font-size: 3.4rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-34-lg--down {
    font-size: 3.4rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-34-hd--down {
    font-size: 3.4rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-35-md--down {
    font-size: 3.5rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-35-lg--down {
    font-size: 3.5rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-35-hd--down {
    font-size: 3.5rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-36-md--down {
    font-size: 3.6rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-36-lg--down {
    font-size: 3.6rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-36-hd--down {
    font-size: 3.6rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-37-md--down {
    font-size: 3.7rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-37-lg--down {
    font-size: 3.7rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-37-hd--down {
    font-size: 3.7rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-38-md--down {
    font-size: 3.8rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-38-lg--down {
    font-size: 3.8rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-38-hd--down {
    font-size: 3.8rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-39-md--down {
    font-size: 3.9rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-39-lg--down {
    font-size: 3.9rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-39-hd--down {
    font-size: 3.9rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz-40-md--down {
    font-size: 4rem !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-fz-40-lg--down {
    font-size: 4rem !important;
  }
}

@media screen and (max-width: 899px) {
  .u-fz-40-hd--down {
    font-size: 4rem !important;
  }
}

.u-fz-10 {
  font-size: 1rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-10-md {
    font-size: 1rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-10-lg {
    font-size: 1rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-10-hd {
    font-size: 1rem !important;
  }
}

.u-fz-11 {
  font-size: 1.1rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-11-md {
    font-size: 1.1rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-11-lg {
    font-size: 1.1rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-11-hd {
    font-size: 1.1rem !important;
  }
}

.u-fz-12 {
  font-size: 1.2rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-12-md {
    font-size: 1.2rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-12-lg {
    font-size: 1.2rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-12-hd {
    font-size: 1.2rem !important;
  }
}

.u-fz-13 {
  font-size: 1.3rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-13-md {
    font-size: 1.3rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-13-lg {
    font-size: 1.3rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-13-hd {
    font-size: 1.3rem !important;
  }
}

.u-fz-14 {
  font-size: 1.4rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-14-md {
    font-size: 1.4rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-14-lg {
    font-size: 1.4rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-14-hd {
    font-size: 1.4rem !important;
  }
}

.u-fz-15 {
  font-size: 1.5rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-15-md {
    font-size: 1.5rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-15-lg {
    font-size: 1.5rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-15-hd {
    font-size: 1.5rem !important;
  }
}

.u-fz-16 {
  font-size: 1.6rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-16-md {
    font-size: 1.6rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-16-lg {
    font-size: 1.6rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-16-hd {
    font-size: 1.6rem !important;
  }
}

.u-fz-17 {
  font-size: 1.7rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-17-md {
    font-size: 1.7rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-17-lg {
    font-size: 1.7rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-17-hd {
    font-size: 1.7rem !important;
  }
}

.u-fz-18 {
  font-size: 1.8rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-18-md {
    font-size: 1.8rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-18-lg {
    font-size: 1.8rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-18-hd {
    font-size: 1.8rem !important;
  }
}

.u-fz-19 {
  font-size: 1.9rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-19-md {
    font-size: 1.9rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-19-lg {
    font-size: 1.9rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-19-hd {
    font-size: 1.9rem !important;
  }
}

.u-fz-20 {
  font-size: 2rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-20-md {
    font-size: 2rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-20-lg {
    font-size: 2rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-20-hd {
    font-size: 2rem !important;
  }
}

.u-fz-21 {
  font-size: 2.1rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-21-md {
    font-size: 2.1rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-21-lg {
    font-size: 2.1rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-21-hd {
    font-size: 2.1rem !important;
  }
}

.u-fz-22 {
  font-size: 2.2rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-22-md {
    font-size: 2.2rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-22-lg {
    font-size: 2.2rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-22-hd {
    font-size: 2.2rem !important;
  }
}

.u-fz-23 {
  font-size: 2.3rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-23-md {
    font-size: 2.3rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-23-lg {
    font-size: 2.3rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-23-hd {
    font-size: 2.3rem !important;
  }
}

.u-fz-24 {
  font-size: 2.4rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-24-md {
    font-size: 2.4rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-24-lg {
    font-size: 2.4rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-24-hd {
    font-size: 2.4rem !important;
  }
}

.u-fz-25 {
  font-size: 2.5rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-25-md {
    font-size: 2.5rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-25-lg {
    font-size: 2.5rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-25-hd {
    font-size: 2.5rem !important;
  }
}

.u-fz-26 {
  font-size: 2.6rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-26-md {
    font-size: 2.6rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-26-lg {
    font-size: 2.6rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-26-hd {
    font-size: 2.6rem !important;
  }
}

.u-fz-27 {
  font-size: 2.7rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-27-md {
    font-size: 2.7rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-27-lg {
    font-size: 2.7rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-27-hd {
    font-size: 2.7rem !important;
  }
}

.u-fz-28 {
  font-size: 2.8rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-28-md {
    font-size: 2.8rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-28-lg {
    font-size: 2.8rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-28-hd {
    font-size: 2.8rem !important;
  }
}

.u-fz-29 {
  font-size: 2.9rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-29-md {
    font-size: 2.9rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-29-lg {
    font-size: 2.9rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-29-hd {
    font-size: 2.9rem !important;
  }
}

.u-fz-30 {
  font-size: 3rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-30-md {
    font-size: 3rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-30-lg {
    font-size: 3rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-30-hd {
    font-size: 3rem !important;
  }
}

.u-fz-31 {
  font-size: 3.1rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-31-md {
    font-size: 3.1rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-31-lg {
    font-size: 3.1rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-31-hd {
    font-size: 3.1rem !important;
  }
}

.u-fz-32 {
  font-size: 3.2rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-32-md {
    font-size: 3.2rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-32-lg {
    font-size: 3.2rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-32-hd {
    font-size: 3.2rem !important;
  }
}

.u-fz-33 {
  font-size: 3.3rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-33-md {
    font-size: 3.3rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-33-lg {
    font-size: 3.3rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-33-hd {
    font-size: 3.3rem !important;
  }
}

.u-fz-34 {
  font-size: 3.4rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-34-md {
    font-size: 3.4rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-34-lg {
    font-size: 3.4rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-34-hd {
    font-size: 3.4rem !important;
  }
}

.u-fz-35 {
  font-size: 3.5rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-35-md {
    font-size: 3.5rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-35-lg {
    font-size: 3.5rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-35-hd {
    font-size: 3.5rem !important;
  }
}

.u-fz-36 {
  font-size: 3.6rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-36-md {
    font-size: 3.6rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-36-lg {
    font-size: 3.6rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-36-hd {
    font-size: 3.6rem !important;
  }
}

.u-fz-37 {
  font-size: 3.7rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-37-md {
    font-size: 3.7rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-37-lg {
    font-size: 3.7rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-37-hd {
    font-size: 3.7rem !important;
  }
}

.u-fz-38 {
  font-size: 3.8rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-38-md {
    font-size: 3.8rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-38-lg {
    font-size: 3.8rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-38-hd {
    font-size: 3.8rem !important;
  }
}

.u-fz-39 {
  font-size: 3.9rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-39-md {
    font-size: 3.9rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-39-lg {
    font-size: 3.9rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-39-hd {
    font-size: 3.9rem !important;
  }
}

.u-fz-40 {
  font-size: 4rem !important;
}

@media screen and (min-width: 768px) {
  .u-fz-40-md {
    font-size: 4rem !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-fz-40-lg {
    font-size: 4rem !important;
  }
}

@media screen and (min-width: 900px) {
  .u-fz-40-hd {
    font-size: 4rem !important;
  }
}

.u-fw-nomral {
  font-weight: normal !important;
}

.u-fw-bold {
  font-weight: bold !important;
}

.u-hidden {
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}

.u-jc-center {
  -webkit-box-pack: center !important;
  -ms-flex-pack: center !important;
  justify-content: center !important;
}

@media screen and (max-width: 767px) {
  .u-lh-1-0-md--down {
    line-height: 10 !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-lh-1-0-lg--down {
    line-height: 10 !important;
  }
}

@media screen and (max-width: 899px) {
  .u-lh-1-0-hd--down {
    line-height: 10 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-lh-1-1-md--down {
    line-height: 11 !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-lh-1-1-lg--down {
    line-height: 11 !important;
  }
}

@media screen and (max-width: 899px) {
  .u-lh-1-1-hd--down {
    line-height: 11 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-lh-1-2-md--down {
    line-height: 12 !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-lh-1-2-lg--down {
    line-height: 12 !important;
  }
}

@media screen and (max-width: 899px) {
  .u-lh-1-2-hd--down {
    line-height: 12 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-lh-1-3-md--down {
    line-height: 13 !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-lh-1-3-lg--down {
    line-height: 13 !important;
  }
}

@media screen and (max-width: 899px) {
  .u-lh-1-3-hd--down {
    line-height: 13 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-lh-1-4-md--down {
    line-height: 14 !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-lh-1-4-lg--down {
    line-height: 14 !important;
  }
}

@media screen and (max-width: 899px) {
  .u-lh-1-4-hd--down {
    line-height: 14 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-lh-1-5-md--down {
    line-height: 15 !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-lh-1-5-lg--down {
    line-height: 15 !important;
  }
}

@media screen and (max-width: 899px) {
  .u-lh-1-5-hd--down {
    line-height: 15 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-lh-1-6-md--down {
    line-height: 16 !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-lh-1-6-lg--down {
    line-height: 16 !important;
  }
}

@media screen and (max-width: 899px) {
  .u-lh-1-6-hd--down {
    line-height: 16 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-lh-1-7-md--down {
    line-height: 17 !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-lh-1-7-lg--down {
    line-height: 17 !important;
  }
}

@media screen and (max-width: 899px) {
  .u-lh-1-7-hd--down {
    line-height: 17 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-lh-1-8-md--down {
    line-height: 18 !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-lh-1-8-lg--down {
    line-height: 18 !important;
  }
}

@media screen and (max-width: 899px) {
  .u-lh-1-8-hd--down {
    line-height: 18 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-lh-1-9-md--down {
    line-height: 19 !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-lh-1-9-lg--down {
    line-height: 19 !important;
  }
}

@media screen and (max-width: 899px) {
  .u-lh-1-9-hd--down {
    line-height: 19 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-lh-2-0-md--down {
    line-height: 20 !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-lh-2-0-lg--down {
    line-height: 20 !important;
  }
}

@media screen and (max-width: 899px) {
  .u-lh-2-0-hd--down {
    line-height: 20 !important;
  }
}

.u-lh-1-0 {
  line-height: 10 !important;
}

@media screen and (min-width: 768px) {
  .u-lh-1-0-md {
    line-height: 10 !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-lh-1-0-lg {
    line-height: 10 !important;
  }
}

@media screen and (min-width: 900px) {
  .u-lh-1-0-hd {
    line-height: 10 !important;
  }
}

.u-lh-1-1 {
  line-height: 11 !important;
}

@media screen and (min-width: 768px) {
  .u-lh-1-1-md {
    line-height: 11 !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-lh-1-1-lg {
    line-height: 11 !important;
  }
}

@media screen and (min-width: 900px) {
  .u-lh-1-1-hd {
    line-height: 11 !important;
  }
}

.u-lh-1-2 {
  line-height: 12 !important;
}

@media screen and (min-width: 768px) {
  .u-lh-1-2-md {
    line-height: 12 !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-lh-1-2-lg {
    line-height: 12 !important;
  }
}

@media screen and (min-width: 900px) {
  .u-lh-1-2-hd {
    line-height: 12 !important;
  }
}

.u-lh-1-3 {
  line-height: 13 !important;
}

@media screen and (min-width: 768px) {
  .u-lh-1-3-md {
    line-height: 13 !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-lh-1-3-lg {
    line-height: 13 !important;
  }
}

@media screen and (min-width: 900px) {
  .u-lh-1-3-hd {
    line-height: 13 !important;
  }
}

.u-lh-1-4 {
  line-height: 14 !important;
}

@media screen and (min-width: 768px) {
  .u-lh-1-4-md {
    line-height: 14 !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-lh-1-4-lg {
    line-height: 14 !important;
  }
}

@media screen and (min-width: 900px) {
  .u-lh-1-4-hd {
    line-height: 14 !important;
  }
}

.u-lh-1-5 {
  line-height: 15 !important;
}

@media screen and (min-width: 768px) {
  .u-lh-1-5-md {
    line-height: 15 !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-lh-1-5-lg {
    line-height: 15 !important;
  }
}

@media screen and (min-width: 900px) {
  .u-lh-1-5-hd {
    line-height: 15 !important;
  }
}

.u-lh-1-6 {
  line-height: 16 !important;
}

@media screen and (min-width: 768px) {
  .u-lh-1-6-md {
    line-height: 16 !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-lh-1-6-lg {
    line-height: 16 !important;
  }
}

@media screen and (min-width: 900px) {
  .u-lh-1-6-hd {
    line-height: 16 !important;
  }
}

.u-lh-1-7 {
  line-height: 17 !important;
}

@media screen and (min-width: 768px) {
  .u-lh-1-7-md {
    line-height: 17 !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-lh-1-7-lg {
    line-height: 17 !important;
  }
}

@media screen and (min-width: 900px) {
  .u-lh-1-7-hd {
    line-height: 17 !important;
  }
}

.u-lh-1-8 {
  line-height: 18 !important;
}

@media screen and (min-width: 768px) {
  .u-lh-1-8-md {
    line-height: 18 !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-lh-1-8-lg {
    line-height: 18 !important;
  }
}

@media screen and (min-width: 900px) {
  .u-lh-1-8-hd {
    line-height: 18 !important;
  }
}

.u-lh-1-9 {
  line-height: 19 !important;
}

@media screen and (min-width: 768px) {
  .u-lh-1-9-md {
    line-height: 19 !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-lh-1-9-lg {
    line-height: 19 !important;
  }
}

@media screen and (min-width: 900px) {
  .u-lh-1-9-hd {
    line-height: 19 !important;
  }
}

.u-lh-2-0 {
  line-height: 20 !important;
}

@media screen and (min-width: 768px) {
  .u-lh-2-0-md {
    line-height: 20 !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-lh-2-0-lg {
    line-height: 20 !important;
  }
}

@media screen and (min-width: 900px) {
  .u-lh-2-0-hd {
    line-height: 20 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-m-0-md--down {
    margin: 0 !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-m-0-lg--down {
    margin: 0 !important;
  }
}

@media screen and (max-width: 899px) {
  .u-m-0-hd--down {
    margin: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb-0-md--down {
    margin-bottom: 0 !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mb-0-lg--down {
    margin-bottom: 0 !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mb-0-hd--down {
    margin-bottom: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-ml-0-md--down {
    margin-left: 0 !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-ml-0-lg--down {
    margin-left: 0 !important;
  }
}

@media screen and (max-width: 899px) {
  .u-ml-0-hd--down {
    margin-left: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr-0-md--down {
    margin-right: 0 !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mr-0-lg--down {
    margin-right: 0 !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mr-0-hd--down {
    margin-right: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-0-md--down {
    margin-top: 0 !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-0-lg--down {
    margin-top: 0 !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-0-hd--down {
    margin-top: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-5-md--down {
    margin-top: 5px !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-5-lg--down {
    margin-top: 5px !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-5-hd--down {
    margin-top: 5px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-10-md--down {
    margin-top: 10px !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-10-lg--down {
    margin-top: 10px !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-10-hd--down {
    margin-top: 10px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-15-md--down {
    margin-top: 15px !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-15-lg--down {
    margin-top: 15px !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-15-hd--down {
    margin-top: 15px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-20-md--down {
    margin-top: 20px !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-20-lg--down {
    margin-top: 20px !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-20-hd--down {
    margin-top: 20px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-25-md--down {
    margin-top: 25px !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-25-lg--down {
    margin-top: 25px !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-25-hd--down {
    margin-top: 25px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-30-md--down {
    margin-top: 30px !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-30-lg--down {
    margin-top: 30px !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-30-hd--down {
    margin-top: 30px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-35-md--down {
    margin-top: 35px !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-35-lg--down {
    margin-top: 35px !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-35-hd--down {
    margin-top: 35px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-40-md--down {
    margin-top: 40px !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-40-lg--down {
    margin-top: 40px !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-40-hd--down {
    margin-top: 40px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-45-md--down {
    margin-top: 45px !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-45-lg--down {
    margin-top: 45px !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-45-hd--down {
    margin-top: 45px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-50-md--down {
    margin-top: 50px !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-50-lg--down {
    margin-top: 50px !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-50-hd--down {
    margin-top: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-55-md--down {
    margin-top: 55px !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-55-lg--down {
    margin-top: 55px !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-55-hd--down {
    margin-top: 55px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-60-md--down {
    margin-top: 60px !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-60-lg--down {
    margin-top: 60px !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-60-hd--down {
    margin-top: 60px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-65-md--down {
    margin-top: 65px !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-65-lg--down {
    margin-top: 65px !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-65-hd--down {
    margin-top: 65px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-70-md--down {
    margin-top: 70px !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-70-lg--down {
    margin-top: 70px !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-70-hd--down {
    margin-top: 70px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-75-md--down {
    margin-top: 75px !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-75-lg--down {
    margin-top: 75px !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-75-hd--down {
    margin-top: 75px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-80-md--down {
    margin-top: 80px !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-80-lg--down {
    margin-top: 80px !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-80-hd--down {
    margin-top: 80px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-85-md--down {
    margin-top: 85px !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-85-lg--down {
    margin-top: 85px !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-85-hd--down {
    margin-top: 85px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-90-md--down {
    margin-top: 90px !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-90-lg--down {
    margin-top: 90px !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-90-hd--down {
    margin-top: 90px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-95-md--down {
    margin-top: 95px !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-95-lg--down {
    margin-top: 95px !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-95-hd--down {
    margin-top: 95px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt-100-md--down {
    margin-top: 100px !important;
  }
}

@media screen and (max-width: 1119px) {
  .u-mt-100-lg--down {
    margin-top: 100px !important;
  }
}

@media screen and (max-width: 899px) {
  .u-mt-100-hd--down {
    margin-top: 100px !important;
  }
}

.u-m-0 {
  margin: 0 !important;
}

@media screen and (min-width: 768px) {
  .u-m-0-md {
    margin: 0 !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-m-0-lg {
    margin: 0 !important;
  }
}

@media screen and (min-width: 900px) {
  .u-m-0-hd {
    margin: 0 !important;
  }
}

.u-mb-0 {
  margin-bottom: 0 !important;
}

@media screen and (min-width: 768px) {
  .u-mb-0-md {
    margin-bottom: 0 !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-mb-0-lg {
    margin-bottom: 0 !important;
  }
}

@media screen and (min-width: 900px) {
  .u-mb-0-hd {
    margin-bottom: 0 !important;
  }
}

.u-ml-0 {
  margin-left: 0 !important;
}

@media screen and (min-width: 768px) {
  .u-ml-0-md {
    margin-left: 0 !important;
  }
}

@media screen and (min-width: 1120px) {
  .u-ml-0-lg {
    margin-left: 0 !important;
  }
}

/*翻訳エリア制御*/
.header-translation {
  top: 0;
}

.l-translation {
  display: flex;
  align-items: center;
  background: #d4e5e5;
  box-sizing: border-box;
  width: 100%;
  justify-content: center;
}

.translated-mt,
.translated-ltr {
  margin-top: 49px;
}

#powered_by_welltool {
  display: none;
}

#google_translate_element {
  margin-left: 10px;
}

/*長野県ドローンショートフィルムコンテスト*/
.drone-video {
  position: relative;
}

.drone-video-logo {
  position: absolute;
  top: 50%;
  left: 80px;
  margin-top: -170px;
}

.drone-video-pc {
  width: 100%;
  height: auto;
}

.drone-video-sp {
  display: none;
}

@media screen and (max-width: 900px) {
  .drone-video-logo {
    left: 40px;
    margin-top: -85px;
  }
  .drone-video-logo img {
    width: 209px;
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  .drone-video-pc {
    display: none;
  }
  .drone-video-sp {
    display: block;
  }
  .drone-video-logo {
    left: 20px;
    margin-top: -42px;
  }
  .drone-video-logo img {
    width: 104px;
  }
}

.drone-header {
  text-align: center;
  margin: 0 0 60px 0;
}

.drone-header h1 {
  font-size: 41px;
  line-height: 120%;
  margin: 0 0 35px 0;
}

.drone-header-period {
  margin: 0 0 10px 0;
  font-size: 20px;
  font-weight: bold;
}

.drone-header-period__big {
  font-size: 28px;
}

.drone-header-period__circle {
  font-size: 14px;
  font-weight: normal;
  display: inline-block;
  background-color: #fadb14;
  border-radius: 50%;
  padding: 5px;
}

.drone-header-caption {
  font-size: 14px;
  font-weight: bold;
  line-height: 130%;
}

.drone-header-caption br {
  display: none;
}

@media screen and (max-width: 900px) {
  .drone-header h1 {
    font-size: 30px;
    margin: 0 0 25px 0;
  }
  .drone-header-period {
    margin: 0 0 10px 0;
    font-size: 18px;
    font-weight: bold;
  }
  .drone-header-period__big {
    font-size: 22px;
  }
  .drone-header-period__circle {
    font-size: 13px;
  }
}

@media screen and (max-width: 767px) {
  .drone-header h1 {
    font-size: 22px;
    margin: 0 0 20px 0;
  }
  .drone-header-period {
    margin: 0 0 10px 0;
    font-size: 14px;
    font-weight: bold;
  }
  .drone-header-period__big {
    font-size: 18px;
  }
  .drone-header-caption br {
    display: block;
  }
}

.drone-section {
  margin-top: 50px;
}

.drone-tit-big {
  font-size: 36px;
  font-weight: bold;
  line-height: 120%;
  margin-bottom: 30px;
}

.anchor-target {
  margin-top: -30px;
  padding-top: 80px;
}

.drone-p {
  font-size: 18px;
  line-height: 200%;
  margin: 0 0 40px 0;
}

.drone-p a {
  text-decoration: underline;
}

.drone-p a:hover {
  text-decoration: none;
}

.drone-p.drone-p__center {
  text-align: center;
}

.drone-tit-border {
  font-size: 26px;
  font-weight: bold;
  line-height: 130%;
  border-width: 0 0 0 6px;
  border-style: solid;
  border-color: #333333;
  margin: 0 0 40px 0;
  padding: 15px 0 15px 20px;
}

.drone-iframe {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin: 0 0 20px 0;
}

.drone-iframe iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

@media screen and (max-width: 900px) {
  .drone-tit-big {
    font-size: 22px;
    margin-bottom: 20px;
  }
  .drone-p {
    font-size: 14px;
  }
  .drone-tit-border {
    font-size: 20px;
    border-width: 0 0 0 3px;
    margin: 0 0 20px 0;
    padding: 10px 0 10px 15px;
  }
}

.drone-box-bg {
  margin: 100px 0;
  background-color: #f5f5f5;
  padding: 40px 0 80px 0;
}

.drone-box-bg.withC-box-bg {
  background-color: #d6d6d6;
}

@media screen and (max-width: 900px) {
  .drone-box-bg {
    margin: 50px 0;
    padding: 10px 0 60px 0;
  }
}

@media screen and (max-width: 767px) {
  .drone-box-bg {
    padding: 10px 0 20px 0;
  }
}

.drone-table-prize {
  font-size: 18px;
  line-height: 200%;
  margin: 0 0 40px 0;
}

.drone-table-prize td {
  text-align: left;
  border-width: 0 0 1px 0;
  border-style: solid;
  border-color: #bfbfbf;
  padding: 15px 0;
}

@media screen and (max-width: 900px) {
  .drone-table-prize {
    font-size: 14px;
  }
  .drone-table-prize td {
    padding: 12px 0;
  }
}

@media screen and (max-width: 767px) {
  .drone-table-prize {
    display: block;
  }
  .drone-table-prize tbody,
  .drone-table-prize tr,
  .drone-table-prize td {
    display: block;
  }
  .drone-table-prize td:first-child,
  .drone-table-prize td:nth-child(2) {
    display: inline-block;
    border-width: 0;
    padding: 15px 0 0 0;
  }
}

.drone-column2 {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}

.drone-column2-pic {
  width: 48%;
}

.drone-column2-pic img {
  width: 100%;
  height: auto;
}

.drone-column2-text {
  width: 48%;
}

.drone-column2-text i {
  display: inline-block;
  margin: 0 0 0 5px;
}

.drone-column2-text i img {
  display: inline-block;
  margin: 10px 0 0 0;
}

@media screen and (max-width: 767px) {
  .drone-column2 {
    flex-direction: column;
  }
  .drone-column2-pic {
    width: 100%;
    margin: 0 0 20px 0;
  }
  .drone-column2-text {
    width: 100%;
  }
  .drone-column2-text i img {
    margin: 8px 0 0 0;
  }
}

.drone-list-disc {
  font-size: 18px;
  line-height: 200%;
}

.drone-list-disc li {
  list-style-type: disc;
  margin: 0 0 0 1.2em;
}

@media screen and (max-width: 900px) {
  .drone-list-disc {
    font-size: 14px;
  }
}

.drone-mb-15 {
  margin-bottom: 15px !important;
}

.drone-list-area {
  font-size: 18px;
  margin: 0 0 30px 0;
}

.drone-list-area li img {
  vertical-align: middle;
}

.drone-list-area li img:first-child {
  display: inline-block;
  margin: 0 5px 0 0;
}

.drone-list-area li a {
  text-decoration: underline;
}

.drone-list-area li a:hover {
  text-decoration: none;
}

@media screen and (max-width: 900px) {
  .drone-list-area {
    font-size: 14px;
  }
  .drone-list-area li img {
    width: auto;
    max-height: 16px;
  }
}

.drone-table-area {
  border-width: 1px 1px 0 0;
  border-style: solid;
  border-color: #e7e7e7;
}

.drone-table-area th {
  background-color: #f5f5f5;
  border-width: 0 0 1px 1px;
  border-style: solid;
  border-color: #e7e7e7;
  border-bottom-color: #707070;
  padding: 18px;
  line-height: 200%;
  font-size: 18px;
}

.drone-table-area td {
  border-width: 0 0 1px 1px;
  border-style: solid;
  border-color: #e7e7e7;
  padding: 18px;
  font-size: 16px;
  line-height: 200%;
  text-align: left;
}

.drone-table-area td:first-child {
  text-align: center;
}

.drone-table-area td a.anchor {
  text-decoration: underline;
}

.drone-table-area td a.anchor:hover {
  text-decoration: none;
}

.drone-table-area td strong {
  font-weight: bold;
}

.drone-table-area td img {
  vertical-align: middle;
}

@media screen and (max-width: 900px) {
  .drone-table-area th {
    padding: 16px;
    font-size: 16px;
  }
  .drone-table-area td {
    padding: 16px;
    font-size: 14px;
  }
}

@media screen and (max-width: 727px) {
  .drone-table-area th {
    white-space: nowrap;
  }
}

.drone-table-wrapper {
  overflow-x: scroll;
}

.drone-schedule p {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #fffb8f;
  font-size: 30px;
  font-weight: bold;
  line-height: 130%;
  position: relative;
  height: 130px;
}

.drone-schedule p::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 16px 0 16px;
  border-color: #fffb8f transparent transparent transparent;
  position: absolute;
  left: 50%;
  top: 0;
  margin: 0 0 0 -16px;
  display: none;
}

.drone-schedule p:nth-child(2) {
  background-color: #ffec3d;
}

.drone-schedule p:nth-child(2)::after {
  display: block;
  border-color: #fffb8f transparent transparent transparent;
}

.drone-schedule p:nth-child(3) {
  background-color: #fadb14;
}

.drone-schedule p:nth-child(3)::after {
  display: block;
  border-color: #ffec3d transparent transparent transparent;
}

.drone-schedule p small {
  display: block;
  font-size: 20px;
  font-weight: normal;
  margin: 5px 0 0 0;
}

@media screen and (max-width: 900px) {
  .drone-schedule p {
    font-size: 20px;
    height: 90px;
  }
  .drone-schedule p::after {
    border-width: 15px 12px 0 12px;
    margin: 0 0 0 -12px;
    display: none;
  }
  .drone-schedule p small {
    font-size: 14px;
    margin: 0;
  }
}

.drone-list-decimal {
  font-size: 18px;
  line-height: 200%;
}

.drone-list-decimal li {
  list-style-type: decimal;
  margin: 0 0 0 1.2em;
}

@media screen and (max-width: 900px) {
  .drone-list-decimal {
    font-size: 14px;
  }
}

.drone-list-link {
  font-size: 18px;
  line-height: 180%;
  margin: 15px 0 0 0;
}

.drone-list-link li {
  position: relative;
  margin: 0 0 5px 0;
  padding: 0 0 0 20px;
}

.drone-list-link li::before {
  content: "";
  background-image: url("/files/user/image/campaign/drone/ico_arrow.svg");
  position: absolute;
  width: 6px;
  height: 12px;
  top: 10px;
  left: 0;
}

.drone-list-link li a {
  text-decoration: underline;
}

.drone-list-link li a:hover {
  text-decoration: none;
}

.drone-list-link li i {
  display: inline-block;
  margin: 0 0 0 5px;
}

.drone-list-link li i img {
  vertical-align: middle;
}

@media screen and (max-width: 900px) {
  .drone-list-link {
    font-size: 14px;
  }
  .drone-list-link::before {
    top: 8px;
  }
}

.drone-btn {
  max-width: 340px;
  height: 70px;
  background-color: #fadb14;
  display: flex;
  margin: 0 auto;
  font-size: 20px;
  justify-content: center;
  align-items: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.drone-btn::after {
  content: "";
  position: relative;
  top: 0;
  right: 0;
  left: 0;
  width: 12.8px;
  height: 6px;
  margin-left: 4px;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  border-left: none;
  -webkit-transform: skew(45deg, 0);
  transform: skew(45deg, 0);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (max-width: 767px) {
  .drone-btn::after {
    top: 0;
    right: 0;
    width: 3.41333vw;
    height: 1.6vw;
    margin-right: 0;
    margin-left: 0;
  }
}

@media screen and (max-width: 900px) {
  .drone-btn {
    max-width: 340px;
    height: 50px;
    font-size: 16px;
  }
}

@media screen and (min-width: 768px) {
  .drone-btn:hover::after {
    width: 18px;
    height: 6px;
  }
}

/*トップYouTube*/
.top-youtube-wrap {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .top-youtube-wrap {
    margin-top: 11.46667vw;
  }
}

.top-youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.top-youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/*冬の宿泊キャンペーン*/
.img-middle {
  vertical-align: middle;
  margin-right: 10px;
}

/*インスタグラム リンク*/
.instagramLink {
  position: relative;
}

.instagramLink a {
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
}

/*台湾ページ*/
.tw_table th,
.tw_table td {
  padding: 10px 15px;
}

.name {
  width: 320px !important;
}

.time {
  width: 120px !important;
}

.lesson {
  width: 120px !important;
}

.price {
  width: 120px !important;
}

.language {
  width: 120px !important;
}

/*インスタグラム 長野の雪遊びバナー*/
.social-media-box {
  text-align: center;
}

.social-media-title-box {
  position: relative;
  display: inline-block;
  margin-top: 105px;
  margin-bottom: 32px;
  padding-left: 50px;
  padding-right: 50px;
}

.social-media-title-box:before,
.social-media-title-box:after {
  position: absolute;
  top: -6px;
  display: block;
  content: "";
  width: 5px;
  height: 80px;
  background-color: #222222;
}

.social-media-title-box:before {
  transform: rotate(-25deg);
  left: 0;
}

.social-media-title-box:after {
  transform: rotate(25deg);
  right: 0;
}

.social-media-title {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: normal;
}

.social-media-box p {
  margin: 20px auto;
}

.social-media-title:after {
  display: none;
}

/*観光DB詳細ページ 動画調整*/
.c-mod-youtube {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}

.c-mod-youtube iframe {
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
}

.p-topics_type {
  width: 120px;
  text-align: center;
  font-size: 1.2rem;
  background-color: #aaa;
  padding: 3px 5px;
  margin-left: 0px;
  margin-bottom: 10px;
  color: #fff;
  border-radius: 5px;
}

/*ボックス全体*/
.accbox {
  margin: 2em 0;
  padding: 0;
  max-width: 100%;
}

/*ラベル*/
.accbox label {
  display: block;
  margin: 1.5px 0;
  padding: 13px 12px;
  color: #fff;
  font-weight: bold;
  background: #aaa;
  /* cursor: pointer; */
  transition: all 0.5s;
}

/*アイコンを表示*/
.accbox label:before {
  content: "▼";
  font-family: "FontAwesome";
  padding-right: 8px;
}

/*ラベルホバー時*/
.accbox label:hover {
  background: #aaa;
}

/*チェックは隠す*/
.accbox input {
  display: none;
}

/*中身を非表示にしておく*/
.accbox .accshow {
  height: auto;
  padding: 5px;
  background: #fff;
  opacity: 1;
  overflow: visible;
}

/*クリックで中身表示*/
.cssacc:checked + label + .accshow {
  height: auto;
  padding: 5px;
  background: #fff;
  opacity: 1;
  overflow: visible;
}

.accbox .accshow p {
  margin: 15px 10px;
}

/*アイコンを入れ替える*/
.cssacc:checked + label:before {
  content: "▼";
}

.p-serach_re {
  margin-top: 30px;
  display: block;
}

.p_top-topics_type {
  width: 120px;
  text-align: center;
  font-size: 1.2rem;
  background-color: #aaa;
  padding: 3px 5px;
  margin-top: 10px;
  color: #fff;
  border-radius: 5px;
}

.universal_lists {
  margin-top: 15px;
}

.universal_icons {
  margin: 2px;
}

.universal_lists img {
  width: 60px;
}

.tooltip5 {
  position: relative;
  cursor: pointer;
  display: inline-block;
}

.tooltip5 img {
  width: 60px;
}

.description5 {
  display: none;
  position: absolute;
  padding: 10px;
  font-size: 12px;
  line-height: 1.6em;
  color: #fff;
  border-radius: 5px;
  background: #000;
  width: 100px;
}

.description5:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  border: 15px solid transparent;
  border-top: 15px solid #000;
  margin-left: -15px;
}

.tooltip5:hover .description5 {
  display: inline-block;
  top: -75px;
  left: -10px;
}

.p-search_n {
  position: relative;
  margin-top: 20px;
  margin-bottom: 50px;
}

.p-search__in_n {
  margin: 15px;
}

.p-search-box_n {
  padding: 0xpx;
}

.p-search-box__title_n {
  font-size: 24px;
  font-weight: bold;
  margin: 20px 10px;
}

.p-search-box__form {
  padding: 0px;
}

.p-search-box__form_n {
  margin: 10px 0;
}
.p-search-box__keyword_n {
  border: #ccc solid 1px;
  width: 400px !important;
  height: 56px;
  margin-top: 13px !important;
  margin-right: 23px;
  bottom: 0px;
  vertical-align: middle;
}

.p-search-box__submit_n {
  width: 400px !important;
  height: 56px;
  margin-top: 13px !important;
  vertical-align: middle;
  background-color: #20909d;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff'%3E%3Cpath d='M23.753 22.562l-4.489-4.489a10.966 10.966 0 10-1.191 1.192l4.489 4.488a.842.842 0 001.191-1.191zM4.4 17.507a9.266 9.266 0 116.553 2.715A9.207 9.207 0 014.4 17.507z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 24px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.serach_resluts_title {
  font-size: 20px;
  margin-top: 20px;
}

.modal {
  position: fixed;
  display: none;
  z-index: 9999;
  top: 30%;
  left: 15%;
  width: 70%; /* height:400px; */
  margin: auto;
  padding: 20px;
  text-align: center;
  background-color: #fff;
}

.mclose {
  width: 100%;
  text-align: right;
  margin-bottom: 10px;
  margin-right: 0px;
}

.mclose a {
  background-color: #fff !important;
  color: #20909e !important;
  font-size: 24px !important;
  margin-right: 0px !important;
  padding-right: 0px !important;
}

.close_message {
  font-size: 40px;
}

.close_message2 {
  text-align: left;
  font-size: 14px;
  line-height: 2;
  margin: 30px auto 10px auto;
  width: 70%;
}

.clm_right {
  text-align: right;
  font-size: 14px;
  line-height: 2;
  margin: 0 auto;
  width: 70%;
}

.modal_button {
  margin: 40px auto;
  width: 60%;
}

.modal a {
  cursor: pointer;
  width: 416px;
  height: 50px;
  padding: 10px 40px;
  background: #20909e 0% 0% no-repeat padding-box;
  font-size: 18px;
  color: #fff;
  white-space: nowrap;
}

.popup_mess_link {
  cursor: pointer !important;
  width: initial !important;
  height: initial !important;
  padding: initial !important;
  background: initial !important;
  white-space: initial !important;
  color: #000 !important;
  text-decoration: underline !important;
  font-size: 14px !important;
}

@media screen and (max-width: 767px) {
  .modal {
    top: 10%;
    left: 10%;
    width: 80%;
    margin: auto;
    padding: 20px;
  }
  .close_message {
    font-size: 18px;
  }
  .close_message2 {
    text-align: left;
    font-size: 12px;
    line-height: 2;
    margin: 20px auto 10px auto;
    width: 90%;
  }
  .clm_right {
    text-align: right;
    font-size: 12px;
    line-height: 2;
    margin: 0 auto 10px auto;
    width: 90%;
  }
  .modal_button {
    margin: 30px 10px;
    width: 80%;
  }
  .modal a {
    cursor: pointer;
    width: 380px;
    height: 50px;
    padding: 10px 15px;
    background: #20909e 0% 0% no-repeat padding-box;
    font-size: 12px;
    color: #fff;
    white-space: nowrap;
  }
}

/*おうちでながのを楽しもう*/
.ouchidenagano-header {
  text-align: center;
  margin: 0 0 60px 0;
}

.ouchidenagano-header h1 {
  font-size: 60px;
  line-height: 120%;
  margin: 0 0 35px 0;
}

.ouchidenagano-header-catchcopy__big {
  font-size: 30px;
}

.ouchidenagano-text-color {
  color: #00acba;
}

.ouchidenagano-header-caption {
  font-size: 16px;
  font-weight: normal;
  line-height: 200%;
}

.ouchidenagano-header-caption br {
  display: block;
}

@media screen and (max-width: 900px) {
  .ouchidenagano-header h1 {
    font-size: 50px;
    margin: 0 0 15px 0;
  }
  .ouchidenagano-header-catchcopy__big {
    font-size: 25px;
  }
}

@media screen and (max-width: 767px) {
  .ouchidenagano-header h1 {
    font-size: 34px;
    margin: 0 0 10px 0;
  }
  .ouchidenagano-header-catchcopy__big {
    font-size: 20px;
  }
  .ouchidenagano-header-caption br {
    display: none;
  }
}

.ouchidenagano-tit-big {
  font-size: 30px;
  font-weight: bold;
  line-height: 140%;
  margin-bottom: 30px;
}

.ouchidenagano-color-tag {
  background-color: #d4e5e5;
  border-radius: 20px;
  text-align: center;
  padding: 3px 18px;
  display: inline-block;
  margin-bottom: 20px;
}

.ouchidenagano-p {
  font-size: 18px;
  line-height: 200%;
  margin: 0 0 5px 0;
}

.ouchidenagano-p a {
  text-decoration: underline;
}

.ouchidenagano-p a:hover {
  text-decoration: none;
}

.ouchidenagano__thumb-tit {
  font-weight: bold;
  font-size: 20px;
  margin: 0 0 10px 0;
}

.ouchidenagano-box-bg__margin-bottom-0 {
  margin-bottom: 0 !important;
}

.ouchidenagano-box-grid__margin-bottom-20 {
  margin-bottom: 20px !important;
}

.ouchidenagano-box-grid__margin-bottom-20_sp {
  margin-bottom: 0;
}

@media screen and (max-width: 900px) {
  .ouchidenagano-color-tag {
    margin-bottom: 20px !important;
    font-size: 14px;
  }
  .ouchidenagano-tit-big {
    font-size: 22px;
    margin-bottom: 20px;
  }
  .ouchidenagano-p {
    font-size: 14px;
  }
}

@media screen and (max-width: 767px) {
  .ouchidenagano-box-grid__margin-bottom-20_sp {
    margin-bottom: 10.13333vw !important;
  }
}

/*withコロナの時代を考える*/
.withC-lead p {
  text-align: center;
  line-height: 200%;
  font-size: 18px;
  margin: 0 0 40px 0;
}

@media screen and (max-width: 767px) {
  .withC-lead p {
    font-size: 16px;
    text-align: left;
  }
  .withC-lead p br {
    display: none;
  }
}

.withC-lead p.withC-lead--bold {
  font-weight: bold;
}

.withC-PickUp {
  margin: 100px auto 0 auto;
  max-width: 1100px;
}

@media screen and (max-width: 1100px) {
  .withC-PickUp {
    margin: 100px 20px 0 20px;
  }
}

.withC-PickUp .withC-PickUp__title {
  margin: 0 0 50px 0;
  position: relative;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .withC-PickUp .withC-PickUp__title {
    margin: 0 0 30px 0;
  }
}

.withC-PickUp .withC-PickUp__title::after {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background-color: #eaeaea;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
}

.withC-PickUp .withC-PickUp__title span {
  font-size: 36px;
  font-weight: bold;
  display: inline-block;
  background-color: #ffffff;
  padding: 0 20px;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .withC-PickUp .withC-PickUp__title span {
    font-size: 20px;
    padding: 0 10px;
  }
}

.withC-PickUp .withC-PickUp__link {
  margin: 0 0 100px 0;
  display: flex;
  flex-direction: column;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
}

.withC-PickUp .withC-PickUp__link:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  .withC-PickUp .withC-PickUp__link {
    margin: 0 0 50px 0;
  }
}

.withC-PickUp .withC-PickUp__link figure {
  margin: 0 0 20px 0;
  overflow: hidden;
}

.withC-PickUp .withC-PickUp__link figure img {
  max-width: 100%;
  height: auto;
}

.withC-PickUp .withC-PickUp__link p {
  font-size: 26px;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .withC-PickUp .withC-PickUp__link p {
    font-size: 16px;
  }
}

.withC-detail-hero {
  position: relative;
}

.withC-detail-hero::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background: -moz-linear-gradient(top, transparent 60%, rgba(0, 0, 0, 0.5) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, transparent 60%, rgba(0, 0, 0, 0.5) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(
    to bottom,
    transparent 60%,
    rgba(0, 0, 0, 0.5) 100%
  ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#80000000',GradientType=0 ); /* IE6-9 */
}

.withC-detail-hero::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 200px 200px 0 0;
  border-color: #ffffff transparent transparent transparent;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .withC-detail-hero::after {
    border-width: 100px 100px 0 0;
  }
}

.withC-detail-model {
  position: absolute;
  top: 0;
  left: 20px;
  font-size: 48px;
  font-weight: bold;
  color: #000000;
  z-index: 3;
  border-color: #ffffff transparent transparent transparent;
}

@media screen and (max-width: 767px) {
  .withC-detail-model {
    left: 10px;
    font-size: 24px;
  }
}

.withC-detail-model small {
  font-size: 30px;
}

@media screen and (max-width: 767px) {
  .withC-detail-model small {
    font-size: 15px;
  }
}

.withC-detail-title {
  font-size: 26px;
  font-weight: bold;
  color: #ffffff;
  line-height: 130%;
  position: absolute;
  bottom: 30px;
  left: 40px;
  z-index: 2;
  padding: 0 40px 0 0;
}

.withC-detail-title time {
  font-size: 18px;
  display: inline-block;
  margin: 0 0 20px 40px;
}

@media screen and (max-width: 767px) {
  .withC-detail-title time {
    font-size: 12px;
    margin: 0 0 10px 20px;
  }
}

@media screen and (max-width: 1100px) {
  .withC-detail-title {
    left: 20px;
    padding: 0 20px 0 0;
  }
}

@media screen and (max-width: 767px) {
  .withC-detail-title {
    font-size: 18px;
  }
  .withC-detail-title .sp-none {
    display: none;
  }
}

.withC-video {
  position: relative;
}

.withC-video-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -150px 0 0 -418px;
}

.withC-video-pc {
  width: 100%;
  height: auto;
}

.withC-video-sp {
  display: none;
}

@media screen and (max-width: 900px) {
  .withC-video-logo {
    margin: -90px 0 0 -250px;
  }
  .withC-video-logo img {
    width: 500px;
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  .withC-video-pc {
    display: none;
  }
  .withC-video-sp {
    display: block;
  }
  .withC-video-sp img {
    width: 100%;
    height: auto;
  }
  .withC-video-logo {
    display: none;
  }
}

.withC-q {
  display: block;
  background-color: #d4e5e5;
  margin: 0 0 10px 0;
  padding: 10px;
  font-style: italic;
}

.link {
  margin-top: -80px;
  padding-top: 80px;
}

.ankrlink {
  margin-top: -80px;
  padding-top: 80px;
}

.p-hero-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
}

@media screen and (max-width: 767px) {
  .p-hero-inner {
    flex-direction: column;
    padding-left: 4vw;
    padding-right: 4vw;
    margin: 30px auto 10px;
  }
}

.p-hero-sns {
  display: flex;
  margin-bottom: 92px;
  width: 18%;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .p-hero-sns {
    margin-bottom: 0;
    width: 40%;
  }
}

.p-sns__button2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 34px;
  border: 1px solid #fff;
  background-color: #fff;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-sns__button2:hover {
    border: 1px solid #ccc;
  }
}

@media screen and (max-width: 767px) {
  .p-sns__button2 {
    height: 17.6vw;
  }
}

.p-hero-box {
  width: 70%;
}

@media screen and (max-width: 767px) {
  .p-hero-box {
    width: 100%;
  }
}

.p-hero-theme .p-hero__title2 {
  width: auto;
  max-width: auto;
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 767px) {
  .p-hero-theme .p-hero__title2 {
    height: auto;
    margin-bottom: 30px;
    padding: 0;
    display: block;
  }
}

.p-hero-theme .p-hero__text2 {
  width: auto;
  max-width: auto;
  margin: 30px 0 0;
  padding: 0;
}

@media screen and (max-width: 767px) {
  .p-hero-theme .p-hero__text2 {
    padding: 0;
    background-color: transparent;
  }
}

.p-article__update2 {
  margin: 30px 0 50px;
  font-weight: normal;
  text-align: left;
  color: #888;
}

@media screen and (max-width: 767px) {
  .p-article__update2 {
    margin: 15px 0 0;
  }
}

.p-hero__in2 {
  height: 790px;
}

@media screen and (max-width: 767px) {
  .p-hero__in2 {
    display: block;
    height: auto;
  }
}

.p-hero__figure2 {
  overflow: hidden;
  position: absolute;
  z-index: -2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .p-hero__figure2 {
    position: relative;
  }
}

.p-hero__figure2:before {
  background-color: transparent;
}

.l-block2 .p-cms-h2 {
  font-weight: 600;
}

@media screen and (min-width: 768px) {
  .l-block2 .p-cms-h2 {
    font-size: 3rem;
    line-height: 1.2;
    letter-spacing: 0.1em;
  }
}

@media screen and (max-width: 767px) {
  .l-block2 .p-cms-h2 {
    font-size: 5.33333vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}

@media screen and (min-width: 768px) {
  .l-block2 .p-cms-h2 {
    margin-top: 70px;
  }
  .l-block2 .p-cms-h2:nth-child(n) + * {
    margin-top: 20px;
  }
  .l-block2 .p-cms-h2:nth-child(2)  {
    margin-top: 35px;
    }
}

@media screen and (max-width: 767px) {
  .l-block2 .p-cms-h2 {
    margin-top: 12vw;
  }
  .l-block2 .p-cms-h2:nth-child(n) + * {
    margin-top: 5.06667vw;
  }
}

.l-block2 .p-cms-h2:first-child {
  margin-top: 0;
}
.l-block2 .p-cms-h2:nth-child(2)  {
  margin-top: 35px;
}

.l-block2 .p-cms-h3 {
  font-weight: 600;
  background: #f2f2f2;
}

@media screen and (min-width: 768px) {
  .l-block2 .p-cms-h3 {
    padding: 12px 17px 10px;
    font-size: 2.4rem;
    line-height: 1.33333;
    letter-spacing: 0.1em;
  }
}

@media screen and (max-width: 767px) {
  .l-block2 .p-cms-h3 {
    padding: 2.13333vw 3.2vw 3.73333vw;
    font-size: 4.8vw;
    line-height: 1.33333;
    letter-spacing: 0.1em;
  }
}

@media screen and (min-width: 768px) {
  .l-block2 .p-cms-h3 {
    margin-top: 40px;
  }
  .l-block2 .p-cms-h3:nth-child(n) + * {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .l-block2 .p-cms-h3 {
    margin-top: 10.66667vw;
  }
  .l-block2 .p-cms-h3:nth-child(n) + * {
    margin-top: 10.93333vw;
  }
}

.l-block2 .p-cms-h3:first-child {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .l-block2 .p-cms-p {
    font-size: 1.6rem;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  .l-block2 .p-cms-p {
    font-size: 3.73333vw;
    line-height: 1.92857;
  }
}

.l-block2 .p-cms-p a {
  color: #20909d;
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  .l-block2 .p-cms-p a:hover {
    text-decoration: underline;
  }
}

@media screen and (min-width: 768px) {
  .l-block2 .p-cms-p {
    margin-top: 35px;
  }
  .l-block2 .p-cms-p + .p-cms-p {
    margin-top: 8px;
  }
  .l-block2 .p-cms-p:first-child {
    margin-top: -0.5em;
  }
  .l-block2 .p-cms-p:last-child {
    margin-bottom: -0.5em;
  }
}

@media screen and (max-width: 767px) {
  .l-block2 .p-cms-p {
    margin-top: 6.13333vw;
  }
  .l-block2 .p-cms-p + .p-cms-p {
    margin-top: 1.06667vw;
  }
  .l-block2 .p-cms-p:first-child {
    margin-top: -0.46429em;
  }
  .l-block2 .p-cms-p:last-child {
    margin-bottom: -0.46429em;
  }
}

.l-block2 .p-cms-img__caption {
  color: #4d4d4d;
  text-align: left;
}

.p-cms-img__caption a {
  color: #20909d;
  text-decoration: none;
}
.p-cms-img__caption a:hover {
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .l-block2 .p-cms-img__caption {
    margin-top: 15px;
    font-size: 1.4rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .l-block2 .p-cms-img__caption {
    margin-top: 2.5vw;
    font-size: 2.66667vw;
    line-height: 1.5;
  }
}

.blog-card {
  display: flex;
  margin: 40px 0;
  border-width: 1px;
  border-style: solid;
  border-color: #cccccc;
  transition: all 0.5s ease 0s;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
}

.blog-card:hover {
  opacity: 0.7;
}

.blog-card__title {
  padding: 20px;
  line-height: 180%;
  box-sizing: border-box;
  width: 65%;
  font-weight: bold;
  font-size: 18px;
}

.blog-card__img {
  width: 35%;
}

.blog-card__img img {
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .blog-card {
    flex-direction: column-reverse;
  }

  .blog-card__title {
    width: 100%;
  }

  .blog-card__img {
    width:100%;
  }
}


/* TOP Spot スライダー */
.p-top-spot-slider {
  overflow: hidden;
  margin: 0 0 95px 0;
}

.p-top-spot-slider .p-top-spot {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .p-top-spot-slider {
    margin: 0 0 11.73333vw ;
  }
}

.p-top-spot-slider .slick-arrow {
  position: absolute;
  text-indent: -9999px;
  overflow: hidden;
  background: url("/files/user/image/ico/ico_arrow_slider.svg") center center no-repeat;
  z-index: 100;
}

.p-top-spot-slider .slick-arrow.slick-disabled {
  opacity: 0;
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  .p-top-spot-slider .slick-arrow {
    top: 50%;
    width: 3.18878vw;
    height: 3.18878vw;
    background-size: 1.46684vw auto;
    right: 4.08163vw;
    margin: -3.18878vw 0 0 0;
  }
  .p-top-spot-slider .slick-arrow.slick-prev {
    right: inherit;
    left: 4.08163vw;
  }
}

@media screen and (min-width: 768px) and (max-width: 1119px) {
  .p-top-spot-slider .slick-arrow {
    width: 4.46429vw;
    height: 4.46429vw;
    background-size: 2.05357vw auto;
    margin: -4.46429vw 0 0 0;
    right: 3.08163vw;
  }
  .p-top-spot-slider .slick-arrow.slick-prev {
    left: 3.08163vw;
  }
}

@media screen and (max-width: 767px) {
  .p-top-spot-slider .slick-arrow {
    width: 8vw;
    height: 8vw;
    top: 50%;
    margin: -18vw 0 0 0;
    right: 0;
  }
  .p-top-spot-slider .slick-arrow.slick-prev {
    right: inherit;
    left: 0;
  }
}

.p-top-spot-slider .slick-arrow.slick-prev {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.p-top-spot-slider .slick-dots {
  display: flex;
  justify-content: center;
  margin: 20px 0 0 0;
}

.p-top-spot-slider .slick-dots li {
  margin: 0 10px;
}

.p-top-spot-slider .slick-dots li button {
  text-indent: -9999px;
  width:20px;
  height: 20px;
  border-radius: 10px;
  background-color: #f2f2f2;
  display: block;
}

.p-top-spot-slider .slick-dots li.slick-active button {
  background-color: #448e9b;
}

/* 吹き出し */

.sb-type-fb {
  overflow: hidden;
  padding: 5px 20px;
  margin: 0;
  line-height: 1.5;
  color: #333;
}

.sb-type-fb>.sb-subtype-a:after, .sb-type-fb>.sb-subtype-b:after {
  display: block;
  clear: both;
  content: "";
}

.sb-type-fb>.sb-subtype-a>.sb-speaker {
  float: left;
  margin-right: -70px;
  width: 70px;
}

.sb-type-fb>.sb-subtype-a>.sb-speaker>.sb-icon, .sb-type-fb>.sb-subtype-b>.sb-speaker>.sb-icon {
  text-align: center;
  height: 60px;
}

.sb-type-fb>.sb-subtype-a>.sb-speaker>.sb-icon>img.sb-icon, .sb-type-fb>.sb-subtype-b>.sb-speaker>.sb-icon>img.sb-icon {
  height: 59px;
  width: 59px;
  border-style: solid;
  border-width: 1px;
  border-color: #CCC;
  border-radius: 50%;
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);
}

.sb-type-fb>.sb-subtype-a>.sb-speaker>.sb-name, .sb-type-fb>.sb-subtype-b>.sb-speaker>.sb-name {
  overflow: hidden;
  font-size: 12px;
  text-align: center;
  text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);
}


.sb-type-fb>.sb-subtype-a>.sb-content {
  float: left;
  position: relative;
  padding-top: 14px;
  margin-left: 80px;
  margin-right: 80px;
}

@media screen and (max-width: 767px){
  .sb-type-fb>.sb-subtype-a>.sb-content {
    float: left;
    position: relative;
    padding-top: 14px;
    margin-left: 80px;
    margin-right: 0;
  }
}



.sb-type-fb>.sb-subtype-b>.sb-content {
  padding-top: 14px;
  margin-left: 80px;
  margin-right: 80px;
  float: right;
  position: relative;
}

@media screen and (max-width: 767px){
  .sb-type-fb>.sb-subtype-b>.sb-content {
    padding-top: 14px;
    margin-left: 0;
    margin-right: 80px;
    float: right;
    position: relative;
  }
}


.sb-type-fb>.sb-subtype-a>.sb-content:before {
  position: absolute;
  top: 23px;
  left: -6px;
  z-index: 1;
  height: 0;
  width: 0;
  border-style: solid solid solid none;
  border-width: 6px;
  border-color: transparent #CCC;
  content: "";
}

.sb-type-fb>.sb-subtype-a>.sb-content>.sb-speech-bubble, .sb-type-fb>.sb-subtype-b>.sb-content>.sb-speech-bubble {
  position: relative;
  z-index: 2;
  padding: 5px 10px;
  background-color: #FFF;
  background: linear-gradient(#FFFFFF, #F2F2F2);
  border-style: solid;
  border-width: 1px;
  border-color: #CCC;
  border-radius: 4px;
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);
  color: #333;
  text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.5);
}

.sb-type-fb>.sb-subtype-a>.sb-content:after {
  position: absolute;
  top: 23px;
  left: -5px;
  z-index: 3;
  height: 0;
  width: 0;
  border-style: solid solid solid none;
  border-width: 6px;
  border-color: transparent #FCFCFC;
  content: "";
}

.sb-type-fb>.sb-subtype-a:after, .sb-type-fb>.sb-subtype-b:after, .sb-type-fb>.sb-subtype-c:after, .sb-type-fb>.sb-subtype-d:after {
  display: block;
  clear: both;
  content: "";
}

.sb-type-fb>.sb-subtype-b>.sb-content:before {
  position: absolute;
  top: 23px;
  right: -6px;
  z-index: 1;
  height: 0;
  width: 0;
  border-style: solid none solid solid;
  border-width: 6px;
  border-color: transparent #A8BFDF;
  content: "";
}

.sb-type-fb>.sb-subtype-b>.sb-content>.sb-speech-bubble {
  background-color: #E8F0FF;
  background: linear-gradient(#E8F0FF, #C8DFFF);
  border-color: #A8BFDF;
}

.sb-type-fb>.sb-subtype-b>.sb-speaker, .sb-type-fb>.sb-subtype-d>.sb-speaker {
  float: right;
  margin-left: -70px;
  width: 70px;
}

/*--------------------------------
BtoB
---------------------------------*/

.BtoBfooter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    margin: 100px 0 50px 0;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    color: #fff;
}

.Side_gb {
    width: calc(50%);
    display: flex;
}

.Side_bb {
    width: calc(50%);
    display: flex;
}

@media screen and (max-width: 767px){
    .Side_gb,
    .Side_bb{
        width: 100%;
    }
}

.Vertical_gb {
    width: 100%;
    display: flex;
}

.Vertical_bb {
    width: 100%;
    display: flex;
}

.gb {
    background-color: #3A8B00;
    width: 100%;
    text-align: center;
    padding: 50px;
}

.bb {
    background-color: #00528B;
    width: 100%;
    text-align: center;
    padding: 50px;
}

.pb {
    background-color: #00ACBA;
    width: 100%;
    text-align: center;
    padding: 50px;
}

.BtoBfooter img{
    margin: 0 auto 15px;
}

.BtoBfooter h1{
    text-align: center;
    font-size: 22px;
    line-height: 23px;
    font-weight: bold;
    margin-bottom: 10px;
}

.gb p{
    text-align: center;
    font-size: 11px;
    line-height: 20px;
    margin-bottom: 20px;
}

.bb p{
    text-align: center;
    font-size: 11px;
    line-height: 20px;
    margin-bottom: 20px;
}

.pb p{
    text-align: center;
    font-size: 11px;
    line-height: 20px;
    margin-bottom: 20px;
}

.BtoBlinkbtn{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    max-width: 350px;
    padding: 10px 25px;
    box-sizing: border-box;
    border: solid 1px rgba(255,255,255,0.5);;
    margin: 0 auto;
    border-radius: 51px;
}
.movie-wrap {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
 
.movie-wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
.map-wrap {
     position: relative;
     padding-bottom: 75%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
.map-wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
.business_pagetitle{
  margin:50px 100px 50px 100px;
}
.business_toplink {
  margin-bottom:50px;
}
.business_toplink a {
  color:#20909d;
}
.p-cms-list {
    line-height: 1.8em;
    margin-top: 10px;
    padding-left: 1em;
}

.p-cms-h2-small {
    display: block;
    font-size: .7em;
    margin-bottom: 10px;
}
.p-cms-h4-small {
    margin: 30px 0 20px;
}
.p-cms-p-small {
    font-size: .7em;
}
.p-cms-intro {
    font-size: .8em;
    color: #4d4d4d;
    margin-bottom: 10px;
    line-height: 1.8em;
}
.p-cms-intro .link-color {
color: #20909d;
}
p.p-cms-profile-head {
    line-height: 1.8em;
    font-size: .8em;
}
.writer-profile {
    margin-top: 40px;
    padding: 20px;
    border: 1px solid #ddd;
line-height: 1.8em;
}
.writer-profile span {
    display: block;
    margin-bottom: 10px;
    font-size: .8em;
}
.writer-profile dl {
    margin-bottom: 10px;
    line-height: 1.4em;
}
.writer-profile dl.profile-name dd {
    font-size: .7em;
}
.writer-profile .profile-description {
        font-size: .8em;
    margin-bottom: 20px;
}
.writer-profile p {
    font-size: .8em;
    line-height: 1.8em;
}
.p-single-caption {
    margin-top: 15px;
    font-size: 1.4rem;
    line-height: 1.5;
    color: #4d4d4d;
    text-align: left;
}
.contents-table {
    margin-top: 40px;
}
.inner-column-box {
    margin-top: 40px;
}
.inner-column-box h2 {
    margin-bottom: 30px;
}
.column-3-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 47px -16px -36px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.column-3-box .column-box-01 {
    width: 33.33333%;
    padding: 0 16px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
padding-bottom: 36px;
}
.column-3-box .column-box-01 figure {
    overflow: hidden;
}
.column-3-box .column-box-01 figure img {
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.column-3-box .column-box-01 a {
    display: block;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.column-3-box .column-box-01 p {
    margin-top: 14px;
    line-height: 1.75;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.column-3-box .column-box-01 a:hover img {
    -webkit-transform: scale(1.04);
    transform: scale(1.04);
}
@media screen and (max-width: 767px){
.column-3-box .column-box-01 {
    width: 100%;
}
}
.entry_btn {
    padding: 20px;
}
.theme-icons {
  width:100%!important;
  margin-top:5px!important;
  display:block!important;
}

.theme-icon {
  width:90px!important;
  margin-top:5px!important;
  margin-right:5px!important;
}
.pickup-icons {
  width:100%!important;
  margin-top:5px!important;
  margin-bottom:10px!important;
  display:block!important;
}

.pickup-icon {
  width:90px!important;
  margin-top:5px!important;
  margin-right:5px!important;
  float:left;
}

.page-icons {
  width:800px!important;
  margin: 10px auto!important;
  display:block!important;
}

.page-icon {
  width:90px!important;
  margin-top:5px!important;
  margin-right:5px!important;
  float:left;
}

@media screen and (max-width: 767px){
.page-icons {
  margin: 10px 20px!important;
  display:block!important;
}
}

.p-top-slider__list-text-sub {
  width:100%x;
}
.p-top-slider__list-text-sub img{
  width:100px;
  float:left;
  margin:0px!important;
}
.ad_border {
  background-color: #555!important;
  margin:10px 55px 40px 55px!important;
  border: none!important;
  height: 1px!important;
  display:block;
}
@media screen and (max-width: 767px){
.ad_border {
  background-color: #555!important;
  margin:0 15px 60px 15px!important;
  border: none!important;
  height: 1px!important;
  display:block;
}
}

.btn_width_half {
    width: 50%;
}

@media screen and (max-width: 767px){
.btn_width_half {
    width: 100%;
        margin-right: 0;
    margin-left: 0;
}
.btn_width_half a {
    margin: 0;
}
}

.p-cms-box_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 30px;
}

.p-cms-box_flex .img_box, .p-cms-box_flex .text_box {
    width: 50%;
    padding: 0 16px 0;
}

.p-cms-box_flex .text_box h3 {
    margin-bottom: 20px;
}
.p-cms-box_flex .text_box p {
    line-height: 1.4em;
    font-size: .8em;
}

@media screen and (max-width: 767px){
.p-cms-box_flex .img_box, .p-cms-box_flex .text_box {
    width: 100%;
}
.p-cms-box_flex .text_box {
   margin-top: 20px;
}
}
.p_caption {
    margin-bottom: 30px;
    padding: 0 16px 0;
    color: #4d4d4d;
    text-align: left;
    font-size: 1.4rem;
    line-height: 1.5;
}
.caption_grid .p-cms-grid__col {
    padding: 0 16px 15px;
}

.caption_name {
    margin-top: 40px;
}
.p-cms-img__caption__single figcaption {
    padding: 0 16px;
}

@media screen and (max-width: 767px){
.caption_grid .p-cms-grid__col {
    padding: 0 2vw;
}
.p-cms-img__caption__single figcaption {
    padding: 0 2vw;
}
.caption_grid_sp {
    margin-top: 4vw!important;
}
}

.l-block2 .p-cms-ul__li a {
  color: #20909d;
  text-decoration: none;
  font-size: 80%;
}

@media screen and (min-width: 768px) {
  .l-block2 .p-cms-ul__li {
    margin-top: 35px;
  }
  .l-block2 .p-cms-ul__li + .p-cms-ul__li {
    margin-top: 8px;
  }
  .l-block2 .p-cms-ul__li:first-child {
    margin-top: -0.5em;
  }
  .l-block2 .p-cms-ul__li:last-child {
    margin-bottom: -0.5em;
  }
}

@media screen and (min-width: 768px) {
  .p-theme-spot {
    max-width: 100vw;
    margin: 0 0 90px;
  }
}

@media screen and (max-width: 767px) {
  .p-theme-spot {
    margin: 0 0 11.73333vw;
  }
}

.p-theme-spot__in {
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-theme-spot__in {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width: 767px) {
  .p-theme-spot__in {
    display: block;
  }
}

.p-theme-spot__block-link {
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .p-theme-spot__block-link {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .p-theme-spot__thumb:hover .p-theme-spot__thumb-image,
  .p-theme-spot__block-link:hover ~ * .p-theme-spot__thumb-image {
    -webkit-transform: scale(1.02);
    transform: scale(1.02);
  }
}

.p-theme-spot__title a:hover,
.p-theme-spot__block-link:hover ~ * .p-theme-spot__title,
.p-theme-spot__block-link:hover ~ * .p-theme-spot__detail,
.p-theme-spot__block-link:hover ~ * .p-theme-spot__text {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (min-width: 768px) {
  .p-theme-spot__title a:hover,
  .p-theme-spot__block-link:hover ~ * .p-theme-spot__title,
  .p-theme-spot__block-link:hover ~ * .p-theme-spot__detail,
  .p-theme-spot__block-link:hover ~ * .p-theme-spot__text {
    color: #666;
  }
}

@media screen and (min-width: 768px) {
  .p-theme-spot__head {
    width: 50%;
    display:flex;
    align-items: center;
  }
}

@media screen and (min-width: 768px) {
  .p-theme-spot__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 50%;
    padding: 0px 32px 32px 16px;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
  }
}

@media screen and (min-width: 1160px) {
  .p-theme-spot__body {
    padding: 0px 30px 32px 30px;
  }
}

@media screen and (max-width: 767px) {
  .p-theme-spot__body {
    display: block;
    padding: 0vw 4vw 6.66667vw;
  }
}

.p-theme-spot__thumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  position: relative;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-theme-spot__thumb-image {
  display: block;
  width: 100%;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-theme-spot__title {
  font-weight: 600;
  letter-spacing: 0.08em;
}

@media screen and (min-width: 768px) {
  .p-theme-spot__title {
    font-size: 2.4rem;
    line-height: 1.45833;
  }
}

@media screen and (max-width: 767px) {
  .p-theme-spot__title {
    font-size: 3.2vw;
    line-height: 1.66667;
  }
}

@media screen and (min-width: 768px) {
  .p-theme-spot__detail {
    margin: 24px 0 0;
    font-size: 1.6rem;
    line-height: 1.75;
  }
}

@media screen and (max-width: 767px) {
  .p-theme-spot__detail {
    line-height: 1.75;
    padding-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .p-theme-spot .p-card__tags {
    margin-top: 1.06667vw;
  }
}

.p-theme-spot .c-theme-more {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

@media screen and (min-width: 768px) {
  .p-theme-spot .c-theme-more {
    margin-top: 24px;
  }
}

.p-theme-post .c-theme-more-link {
  display: block;
  margin-left: auto;
}

.p-theme-spot .c-theme-more {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

@media screen and (min-width: 768px) {
  .p-theme-spot .c-theme-more {
    margin-top: 24px;
  }
}

.c-theme-more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 10;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

@media screen and (min-width: 768px) {
  .c-theme-more {
    margin: 40px 0 0;
  }
}

@media screen and (max-width: 767px) {
  .c-theme-more {
    margin: 4.8vw 0 0;
  }
}

@media screen and (max-width: 767px) {
  .l-block--large .c-theme-more {
    padding: 0 4vw 0;
  }
}

.c-theme-more-link {
  position: relative;
  font-size: 1.3rem;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) and (min-width: 768px) {
  .c-theme-more-link:hover {
    color: #666;
  }
  .c-theme-more-link:hover:after {
    border-right: 1px solid #666;
    border-bottom: 1px solid #666;
  }
}

@media screen and (max-width: 767px) {
  .c-theme-more-link {
    margin-left: 0vw;
    font-size: 1.93333vw;
  }
}

.c-theme-more-link:after {
  content: "";
  display: inline-block;
  position: relative;
  bottom: 2px;
  width: 18px;
  height: 6px;
  margin-right: 3px;
  margin-left: 3px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: skew(45deg, 0);
  transform: skew(45deg, 0);
}

@media screen and (min-width: 768px) {
  .c-theme-more-link:hover:after {
    width: 24px;
  }
}

@media screen and (max-width: 767px) {
  .c-theme-more-link:after {
    bottom: 0.26667vw;
    width: 3.2vw;
    height: 1.6vw;
    margin-left: 0.53333vw;
  }
}