@charset 'utf-8';

/* Reset
--------------------------------------------------- */

/* sanitize.css@11.0.1 */
*, ::before, ::after { box-sizing: border-box; }
::before, ::after { text-decoration: inherit; vertical-align: inherit; }
html { cursor: default; line-height: 1.5; -moz-tab-size: 4; -o-tab-size: 4; tab-size: 4; -webkit-tap-highlight-color: transparent; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; word-break: break-word; }
body { margin: 0; }
h1 { font-size: 2em; margin: 0.67em 0; }
dl dl, dl ol, dl ul, ol dl, ul dl { margin: 0; }
ol ol, ol ul, ul ol, ul ul { margin: 0; }
hr { height: 0; overflow: visible; }
main { display: block; }
nav ol, nav ul { list-style: none; padding: 0; }
pre { font-family: monospace, monospace; font-size: 1em; }
a { background-color: transparent; }
abbr[title] { text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted; }
b, strong { font-weight: bolder; }
code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }
small { font-size: 80%; }
audio, canvas, iframe, img, svg, video { vertical-align: middle; }
audio, video { display: inline-block; }
audio:not([controls]) { display: none; height: 0; }
iframe { border-style: none; }
img { border-style: none; }
svg:not([fill]) { fill: currentColor; }
svg:not(:root) { overflow: hidden; }
table { border-collapse: collapse; }
details { display: block; }
dialog { background-color: white; border: solid; color: black; display: block; height: -moz-fit-content; height: -webkit-fit-content; height: fit-content; left: 0; margin: auto; padding: 1em; position: absolute; right: 0; width: -moz-fit-content; width: -webkit-fit-content; width: fit-content; }
dialog:not([open]) { display: none; }
summary { display: list-item; }
canvas { display: inline-block; }
template { display: none; }
a, area, button, input, label, select, summary, textarea, [tabindex] { touch-action: manipulation; }
[hidden] { display: none; }
button, input, select { margin: 0; }
button { overflow: visible; text-transform: none; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
fieldset { border: 1px solid #a0a0a0; padding: 0.35em 0.75em 0.625em; }
input { overflow: visible; }
legend { color: inherit; display: table; max-width: 100%; white-space: normal; }
progress { display: inline-block; vertical-align: baseline; }
select { text-transform: none; }
textarea { margin: 0; overflow: auto; resize: vertical; }
[type="checkbox"], [type="radio"] { padding: 0; }
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; }
::-webkit-input-placeholder { color: inherit; opacity: 0.54; }
::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
::-moz-focus-inner { border-style: none; padding: 0; }
:-moz-focusring { outline: 1px dotted ButtonText; }
:-moz-ui-invalid { box-shadow: none; }

/* base */
@media screen and (max-width:23.4275em), screen and (min-width:64em) and (max-width:79.99em) {
  html { font-size: 56.25%; }
}
@media screen and (min-width:23.4375em) and (max-width:63.99em), screen and (min-width:80em) {
  html { font-size: 62.5%; }
}
body { background-color: #fff; font-family: adobe-caslon-pro, yu-mincho-pr6, serif; font-size: 1.6rem; letter-spacing: 0.06em; line-height: 1; font-feature-settings: "palt" 1; }
@media (-webkit-min-device-pixel-ratio:2) {
  body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
}
::-moz-selection { background: #161616; color: #fff; text-shadow: none; }
::selection { background: #161616; color: #fff; text-shadow: none; }
a { color: #161616; transition: all 0.2s ease-in-out; }
.menu-tag a { color: #898989; }
a:link, a:visited { color: #161616; text-decoration: none; }
.menu-tag a:link, .menu-tag a:visited { color: #898989; text-decoration: none; }
@media screen and (min-width:48em) {
  a:hover, a:active { color: #898989; }
  .menu-tag a:hover, .menu-tag a:active { color: #161616; }
  a:hover img, a:active img { opacity: 0.8; transition: opacity 0.2s ease-in-out; }
}
svg path { transition: fill 0.2s ease-in-out; }
img, input, select, textarea { max-width: 100%; height: auto; }
img[src$=".svg"], svg { width: 100%; height: auto; }
h1, h2, h3, h4, h5, h6 { margin: 0; font-size: 100%; font-weight: normal; }
blockquote, figure, p { margin: 0; }
dl, dd, ol, ul { margin: 0; padding: 0; }
ul, ol { list-style: none; }
i, em { font-style: normal; }

/* Layouts
--------------------------------------------------- */

/* frame */
.frame { width: 100%; min-height: 100vh; display: flex; flex-direction: column; overflow-x: hidden; }
.frame__header, .frame__footer { flex-grow: 0; width: 100%; }
.frame__content { flex-grow: 1; width: 100%; overflow: hidden; }
@media screen and (max-width:47.999em) {
  .frame__content { min-height: 48rem; padding-top: 6rem; }
  .frame__content.-home { padding-top: 0.8rem; }
}
@media screen and (min-width:48em) {
  .frame__header, .frame__footer, .frame__content { min-width: 1024px; }
  .frame__content { min-height: 80rem; padding-top: 8.4rem; }
}

/* column */
.grid, .cols { display: flex; flex-wrap: wrap; }
@media screen and (max-width:47.999em) {
  .grid, .cols { margin: 0 -0.4rem; }
  .grid__item, .cols__item { width: 100%; padding: 0 0.4rem; }
  .grid.-g24 .grid__item:not(:first-child) { margin-top: 3.2rem; }
  .grid.-g32 .grid__item:not(:first-child) { margin-top: 3.2rem; }
  .grid.-g40 .grid__item { margin-top: 0.8rem; }
  .grid.-g80 .grid__item:not(:first-child) { margin-top: 4.8rem; }
}
@media screen and (min-width:48em) {
  .grid__item.-c2, .cols__item.-c2 { width: 50%; }
  .grid__item.-c3, .cols__item.-c3 { width: 33.3333%; }
  .grid__item.-c4, .cols__item.-c4 { width: 25%; }
  .grid__item.-c5, .cols__item.-c5 { width: 20%; }
  .grid.-g24 { margin: -1.2rem; }
  .grid.-g24 .grid__item { padding: 1.2rem; }
  .grid.-g32 { margin: -3.8rem; }
  .grid.-g32 .grid__item { padding: 2rem 3.8rem; }
  .grid.-g40 { margin: -2rem; }
  .grid.-g40 .grid__item { padding: 1.2rem; }
  .grid.-g80 { margin: -4rem; }
  .grid.-g80 .grid__item { padding: 4rem; }
  .cols.-g40 { margin: 0 -2rem; }
  .cols.-g40 .cols__item { padding: 0 2rem; }
}

/* Components
--------------------------------------------------- */

/**
 * global
 */
.sns { display: flex; justify-content: center; font-size: 1.4rem; text-transform: uppercase; }
.sns__item a, .sns__item a:link, .sns__item a:visited { display: inline-block; color: #161616; }
.sns__item:not(:first-child)::before { content: '|'; margin: 0 1.2rem; }
@media screen and (min-width:48em) {
  .sns__item a:hover, .sns__item a:active { color: #898989; }
}

/* header */
.header { position: fixed; top: 0; left: 0; z-index: 999; background-color: #fff; }
@media screen and (max-width:47.999em) {
  .header { padding: 2rem 4.27% 1.2rem; }
  .header__logo { width: 13.2rem; height: auto; }
  .header__sns { margin-top: 6.4rem; }
}
@media screen and (min-width:48em) {
  .header { padding-top: 3.2rem; padding-bottom: 0.8rem; }
  .header__inner { display: flex; margin: auto; width: 92.19%; max-width: 1344px; }
  .header__logo { margin-right: auto; width: 20rem; height: auto; }
  .header__logo a:hover img, .header__logo a:active img { opacity: 0.5; }
  .header__menu { padding-top: 0.8rem; }
  .header__sns { display: none; }
}
.header-menu { letter-spacing: 0.07em; text-transform: uppercase; }
@media screen and (max-width:47.999em) {
  .header-menu { font-size: 1.8rem; text-align: center; }
  .header-menu__item:not(:first-child) { margin-top: 4rem; }
  .header-menu__item a, .header-menu__item a:link, .header-menu__item a:visited { display: block; color: #161616; }
}
@media screen and (min-width:48em) {
  .header-menu { display: flex; }
  .header-menu__item { font-size: 1.4rem; }
  .header-menu__item:not(:first-child) { margin-left: 4.2rem; }
  .header-menu__item.-current > a { color: #898989; }
}
@media screen and (max-width:47.999em) {
  .nav { position: fixed; top: 0; left: 0; z-index: 999; width: 100%; }
  .nav__wrap { position: absolute; top: 0; right: 0; bottom: 0; left: 0; min-height: 0; opacity: 0; padding: 12rem 4.27% 4rem; background-color: rgba(255, 255, 255, 0); visibility: hidden; transform: translateY(-2rem); transition: opacity 0.2s ease-in-out, transform 0.1s ease-in-out; }
  .nav__button { position: fixed; top: 0; right: 4.27%; z-index: 999; display: block; width: 3.2rem; height: 6rem; cursor: pointer; }
  .nav__button-icon { display: block; position: absolute; top: 50%; left: 50%; width: 3.2rem; height: 1px; background-color: #161616; margin-left: -1.6rem; }
  .nav__button-icon::before, .nav__button-icon::after { content: ''; display: block; position: absolute; top: 0; left: 0; width: 3.2rem; height: 1px; background-color: #161616; transition: all 0.1s ease-in-out; }
  .nav__button-icon::before { transform: translateY(-0.7rem); }
  .nav__button-icon::after { transform: translateY(0.7rem); }
  .nav.is-open .nav__wrap { width: 100%; min-height: 100vh; opacity: 1; visibility: visible; background-color: rgba(255, 255, 255, 0.98); transform: translateY(0); transition: opacity 0.2s ease-in-out, transform 0.4s ease-in-out; overflow: scroll; }
  .nav.is-open .nav__button::after { display: none; }
  .nav.is-open .nav__button-icon { background-color: transparent; color: transparent; }
  .nav.is-open .nav__button-icon::before, .nav.is-open .nav__button-icon::after { width: 3.2rem; background-color: #161616; }
  .nav.is-open .nav__button-icon::before { transform: rotate(30deg); }
  .nav.is-open .nav__button-icon::after { transform: rotate(-30deg); }
}

/* footer */
.footer__contact { margin: 0 auto 8rem; width: 20.8rem; }
.footer__copyright { margin-top: 8rem; font-size: 1rem; text-align: center; }
@media screen and (max-width:47.999em) {
  .footer { padding: 6rem 4.27%; }
}
@media screen and (min-width:48em) {
  .footer { padding: 10rem 0; }
}

/**
 * common
 */
.page-content { line-height: 2; }
.page-content strong { font-weight: bolder; }
.page-content em { font-style: italic; }
.page-content small { font-size: 0.8em; }
.page-content .has-red-color { color: #e74c3c; }
.page-content .has-gold-color { color: #aa8534; }
.page-content .has-large-font-size { font-size: 1.8rem; }
.page-content .has-small-font-size { font-size: 1.4rem; }
.page-content h2:not([class|="h"]), .page-content h3:not([class|="h"]), .page-content h4:not([class|="h"]) { margin-bottom: 0.5em; line-height: 1.33; }
.page-content h2:not([class|="h"]) { font-size: 2.1rem; }
.page-content h3:not([class|="h"]) { font-size: 1.8rem; }
.page-content ul:not([class]) li, .page-content ol:not([class]) li { position: relative; padding-left: 2.4rem; }
.page-content ul:not([class]) li:nth-child(n+2), .page-content ol:not([class]) li:nth-child(n+2) { margin-top: 0.25em; }
.page-content ul:not([class]) li::before, .page-content ol:not([class]) li::before { display: inline-block; position: absolute; }
.page-content ul:not([class]) li ul, .page-content ol:not([class]) li ul, .page-content ul:not([class]) li ol, .page-content ol:not([class]) li ol { margin: 0.5em 0 !important; }
.page-content ul:not([class]) li::before { content: ''; top: 0.6em; left: 0.6em; width: 0.6rem; height: 0.6rem; border-radius: 50%; background-color: #161616; }
.page-content ol:not([class]) { counter-reset: num; }
.page-content ol:not([class]) li::before { content: ''counter(num) '.'; counter-increment: num; left: 0; width: 2.4rem; text-align: center; }
.page-content .wp-block-image { margin: auto; }
.page-content .wp-block-image.-portrait { max-width: 56rem; }
.page-content .wp-block-image.-landscape { max-width: 84rem; }
.page-content .wp-block-image a, .page-content .wp-block-gallery a, .page-content .wp-block-media-text a, .page-content .wp-block-embed a, .page-content iframe a { border: 0; }
.page-content .wp-block-table table { width: 100%; border-top: 1px solid #dcdcdc; }
.page-content .wp-block-table thead, .page-content .wp-block-table th, .page-content .wp-block-table td { border: 0; }
.page-content .wp-block-table thead { font-size: 1.4rem; text-align: left; white-space: nowrap; }
.page-content .wp-block-table th, .page-content .wp-block-table td { border-bottom: 1px solid #dcdcdc; }
.page-content .wp-block-separator, .page-content hr { border: 0; border-bottom: 1px solid #dcdcdc; }
.page-content iframe { width: 100%; }
.page-content h2:not([class|="h"]):not(:first-child), .page-content h3:not([class|="h"]):not(:first-child), .page-content h4:not([class|="h"]):not(:first-child) { margin-top: 2em; }
.page-content p:not(:first-child) { margin-top: 1em; }
.page-content ul:not([class]):not(:first-child), .page-content ol:not([class]):not(:first-child), .page-content .wp-block-table:not(:first-child), .page-content ul:not([class]):not(:last-child), .page-content ol:not([class]):not(:last-child), .page-content .wp-block-table:not(:last-child) { margin-top: 2.4em; margin-bottom: 2.4em; }
.page-content .wp-block-image:not(:first-child), .page-content .wp-block-gallery:not(:first-child), .page-content .wp-block-media-text:not(:first-child), .page-content .wp-block-embed:not(:first-child), .page-content iframe:not(:first-child), .page-content .wp-block-image:not(:last-child), .page-content .wp-block-gallery:not(:last-child), .page-content .wp-block-media-text:not(:last-child), .page-content .wp-block-embed:not(:last-child), .page-content iframe:not(:last-child) { margin-top: 3em; margin-bottom: 3em; }
@media screen and (max-width:47.999em) {
  .page-content .wp-block-columns .wp-block-image { margin-top: 0; }
  .page-content .wp-block-table th, .page-content .wp-block-table td { padding: 1.2rem 1.2rem 0.4rem; }
  .page-content hr { margin: 4rem auto 3.2rem; }
}
@media screen and (min-width:48em) {
  .page-content a:hover, .page-content a:active { border-color: #a52a2a; }
  .page-content .wp-block-table th, .page-content .wp-block-table td { padding: 1.2rem 1.6rem 0.4rem; }
  .page-content hr { margin: 8rem auto 7.2rem; }
}
[class|="h"].-en { text-transform: uppercase; }
[class|="h"].-gold { color: #aa8534; }
.h-page { margin-bottom: 1em; letter-spacing: 0.02em; line-height: 1; text-align: center; }
.h-page.-hide { display: none; }
.h-post { letter-spacing: 0.02em; line-height: 1.4; text-align: center; }
.h-related { margin-bottom: 4rem; font-size: 1.8rem; line-height: 1; text-transform: uppercase; text-align: center; }
.h-tag { font-size: 1.6rem; }
.h-tag::before { content: '#'; }
.h-name { margin-bottom: 1.4rem; font-size: 1.8rem; line-height: 1; }
.h-name span { margin-left: 1em; font-size: 1.2rem; color: #898989; }
.h-section { padding-top: 0.4rem; margin-bottom: 2.4rem; overflow: hidden; font-size: 1.8rem; letter-spacing: 0.03em; line-height: 1; }
.h-section span { position: relative; display: inline-block; padding-right: 1.6rem; }
.h-section span::after { position: absolute; bottom: 50%; left: 100%; content: ''; width: 100vw; height: 1px; background-color: #dcdcdc; }
.h-section.-gold { color: #aa8534; font-size: 1.8rem; text-transform: uppercase; }
.h-section.-gold span { padding-bottom: 0.8rem; }
.h-section.-gold span::after { left: 0; bottom: 0; }
.h-large { font-size: 2.1rem; line-height: 1.52; }
.h-medium { font-size: 1.8rem; color: #aa8534; line-height: 1.33; }
.h-small { margin-bottom: 1em; font-weight: bolder; font-size: 1.4rem; line-height: 1.43; }
.txt-lead { letter-spacing: 0.04em; line-height: 1.8; }
.txt-lead.-gold { color: #aa8534; }
.txt-small { font-size: 1.4rem; }
.txt-title { margin-bottom: 1.6rem; font-size: 1.2rem; color: #898989; line-height: 1.8; }
.txt-note, .list-note > li { margin-top: 0.25em; font-size: 1.3rem; padding-left: 1em; }
.txt-note::before { content: '*'; display: inline-block; margin-left: -1em; width: 1em; text-align: center; }
.list-note > li::before { content: '※'; margin-left: -1em; }
.list-note > li:nth-child(n+2) { margin-top: 0.25em; }
@media screen and (max-width:47.999em) {
  .h-page, .h-post { font-size: 2.4rem; }
  .h-post { margin: 2.4rem auto; }
  .h-post.-lg { margin: 4rem auto; }
  .h-tag { margin-bottom: 0.8rem; }
  .h-large, .h-medium { margin-bottom: 1.6rem; }
  .h-section.-gold { margin-bottom: 3.2rem; }
  .txt-lead { font-size: 2.1rem; }
}
@media screen and (min-width:48em) {
  .h-page, .h-post { font-size: 3rem; }
  .h-page.-en, .h-post.-lg { font-size: 3rem; }
  .h-post { margin: 6.4rem auto; }
  .h-post.-lg { margin: 16rem auto 8rem; }
  .h-tag { margin-bottom: 4rem; }
  .h-large, .h-medium { margin-bottom: 2.4rem; }
  .h-section.-gold { margin-bottom: 5.6rem; }
  .txt-lead { margin-bottom: 1.2em; font-size: 2.4rem; }
}
.link-button, .link-arrow, .link-more { position: relative; }
.link-button { text-transform: uppercase; }
.link-button > a, .link-arrow > a, .link-more > a, .link-button a:link, .link-arrow a:link, .link-more a:link, .link-button a:visited, .link-arrow a:visited, .link-more a:visited { position: absolute; top: 0; right: 0; bottom: 0; left: 0; border: 0; }
@media screen and (min-width:48em) {
  .link-button:hover, .link-arrow:hover, .link-more:hover { transition: all 0.2s ease-in-out; }
}
.link-button { padding-top: 0.5rem; line-height: 4.5rem; text-align: center; border: 1px solid #3f3a3a; }
@media screen and (min-width:48em) {
  .link-button:hover { background-color: #3f3a3a; color: #fff; }
}
.link-arrow, .link-more { letter-spacing: 0.03em; line-height: 1; }
@media screen and (max-width:47.999em) {
  .link-arrow, .link-more { font-size: 1.4rem; }
}
@media screen and (min-width:48em) {
  .link-arrow:hover, .link-more:hover { color: #898989; }
  .link-arrow:hover::before, .link-more:hover::before, .link-arrow:hover::after, .link-more:hover::after { border-color: #898989; transition: all 0.2s ease-in-out; }
}
.link-arrow { display: inline-block; padding-right: 3.2rem; }
.link-arrow::before, .link-arrow::after { content: ''; position: absolute; }
.link-arrow::before { right: -1px; top: 50%; width: 2.4rem; border-bottom: 1px solid #161616; }
.link-arrow::after { right: 0; top: calc(50% - 3px); display: block; width: 0.6rem; height: 0.6rem; border-left: 1px solid #161616; transform: rotate(135deg); transform-origin: center; }
.link-more { margin: auto; width: 8rem; padding-bottom: 1.6rem; text-align: center; }
.link-more::before { position: absolute; bottom: 0.8rem; left: 50%; width: 1.6rem; height: 1.6rem; display: inline-block; content: ''; border-width: 0 0 1px 1px; border-style: solid; border-color: #161616; transform: scale(1, 0.9) rotate(-45deg) translateX(-50%); }
.breadcrumb-list { display: flex; flex-wrap: wrap; }
.breadcrumb-list > li { line-height: 1.33; letter-spacing: 0.06em; }
.breadcrumb-list > li:first-child { text-transform: uppercase; }
.breadcrumb-list > li:not(:last-child)::after { content: '/'; margin: 0 0.4rem; }
.breadcrumb-list > li a, .breadcrumb-list > li a:link, .breadcrumb-list > li a:visited { color: #161616; }
@media screen and (max-width:47.999em) {
  .breadcrumb-list > li { font-size: 1rem; }
  .block__inner.-vi .breadcrumb-list { margin-left: 4.27%; margin-right: 4.27%; }
}
@media screen and (min-width:48em) {
  .breadcrumb-list > li { font-size: 1.2rem; }
  .breadcrumb-list > li a:hover, .breadcrumb-list > li a:active { color: #898989; }
}
.menu-cat, .menu-year, .menu-tag { display: flex; flex-wrap: wrap; align-items: flex-start; }
.menu-cat__item, .menu-year__item, .menu-tag__item { white-space: nowrap; }
.menu-cat, .menu-year { justify-content: center; }
.menu-cat__item { color: #898989; font-size: 1.4rem; cursor: pointer; transition: color 0.2s ease-in-out; }
.menu-cat__item:hover, .menu-cat__item.mixitup-control-active { color: #161616; }
@media screen and (max-width:47.999em) {
  .menu-cat { margin: -0.8rem; }
  .menu-cat__item { margin: 0.8rem; }
}
@media screen and (min-width:48em) {
  .menu-cat { margin: -0.4rem; }
  .menu-cat__item { margin: 0.4rem 1.6rem; }
}
.menu-year { margin: -0.4rem; }
.menu-year__item { margin: 0.4rem 1.2rem; }
.menu-year__item.-current a { color: #161616; }
.menu-tag { margin: -0.5em -0.25em !important; line-height: 1; }
.menu-tag__item { font-size: 1.2rem; margin: 0.5em 0.25em !important; }
.menu-tag__item a::before { content: '#'; }
.block__inner .block__inner { padding: 0; }
@media screen and (max-width:47.999em) {
  .block.-md { padding: 2.4rem 0 6rem; }
  .block.-lg { padding: 6rem 0; }
  .block__inner { padding: 0 4.27%; }
  .block__inner.-vi { margin-left: -4.66%; margin-right: -4.66%; }
}
@media screen and (min-width:48em) {
  .block.-md { padding: 8rem 0 10rem; }
  .block.-lg { padding: 14rem 0; }
  .block__inner { margin: auto; width: 92.19%; max-width: 96rem; }
  .block__inner.-wd { max-width: 128rem; }
  .block__inner.-md { max-width: 88rem; }
  .block__inner.-nr { max-width: 84rem; }
  .block__inner.-xnr { max-width: 72rem; }
  .block__inner.-vi { max-width: 92rem; }
  .block__inner.-form { max-width: 48rem; }
}
.card-article, .card-related { position: relative; }
.card-article > a, .card-related > a { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.card-article__thumb, .card-related__thumb { background-position: center center; background-size: cover; }
.card-article__thumb::before, .card-related__thumb::before { content: ''; display: block; padding-top: 66%; }
.card-article__thumb { position: relative; }
.card-article__thumb::after { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-color: rgba(0, 0, 0, 0.6); }
.card-article__text { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80%; color: #fff; text-align: center; }
.card-article__text-cat { font-size: 1.3rem; line-height: 1; }
.card-article__text-title { margin-top: 0.8rem; font-size: 2rem; line-height: 1.4; letter-spacing: 0.1em; }
@media screen and (min-width:48em) {
  .card-article__thumb::after, .card-article__text { opacity: 0; transition: opacity 0.4s ease-in-out; }
  .card-article:hover .card-article__thumb::after, .card-article:hover .card-article__text { opacity: 1; }
}
.card-related__text { margin-top: 1.4rem; }
.card-related__text-cat { font-size: 1.2rem; }
.card-related__text-title { margin-top: 0.6rem; font-size: 1.6rem; line-height: 1.25; }
@media screen and (min-width:48em) {
  .card-related__thumb, .card-related__text { transition: all 0.4s ease-in-out; }
  .card-related:hover .card-related__thumb { opacity: 0.8; }
  .card-related:hover .card-related__text { color: #898989; }
}
.card-profile__text { font-size: 1.4rem; line-height: 2; }
.card-profile__text h3 { margin-top: 0.8rem; margin-bottom: 1.6rem; }
.card-profile__text p + p { margin-top: 0.5em; }
@media screen and (max-width:47.999em) {
  .card-profile__image { width: 27.99%; }
  .card-profile__text { margin-top: 3.2rem; }
}
@media screen and (min-width:48em) {
  .card-profile { display: flex; align-items: flex-start; }
  .card-profile__image { margin-right: 4.76%; width: 28.57%; }
  .card-profile__text { width: 66.67%; }
  .card-profile__text:first-child { width: 100%; }
}
.table-info { display: flex; flex-wrap: wrap; font-size: 1.4rem; line-height: 1.71; }
.table-info > dt:not(:first-of-type), .table-info > dd:not(:first-of-type) { margin-top: 0.8rem; }
.table-info > dt { width: 12rem; }
.table-info > dd { width: calc(100% - 12rem); }

/**
 * local
 */

/* home */
@media screen and (max-width:47.999em) {
  .home-intro__text { margin-top: 3.2rem; }
  .home-intro__text-copy { margin-top: 2.4rem !important; }
  .home-intro__text-link { margin-top: 3.2rem; }
}
@media screen and (min-width:48em) {
  .home-intro { display: flex; align-items: flex-start; }
  .home-intro__image { margin-right: 6.67%; width: 50%; }
  .home-intro__text { width: 43.33%; }
  .home-intro__text-copy, .home-intro__text-link { margin-top: 4rem !important; }
}

/* news */
.news-list { border-top: 1px solid #dcdcdc; }
.news-list__item { display: flex; flex-wrap: wrap; align-items: flex-start; position: relative; padding: 2rem 0 1.2rem; border-bottom: 1px solid #dcdcdc; line-height: 1.5; }
.news-list__item-date { color: #898989; }
.news-list__item > a { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
@media screen and (max-width:47.999em) {
  .news-list__item-date { width: 7.6rem; font-size: 1.2rem; }
  .news-list__item-title { display: block; width: calc(100% - 7.6rem); font-size: 1.4rem; }
}
@media screen and (min-width:48em) {
  .news-list__item-date { padding: 0 0.8rem; width: 13.8rem; }
  .news-list__item-title { width: calc(100% - 13.8rem); }
  .news-list__item:hover { color: #898989; }
}

/* about */
@media screen and (max-width:47.999em) {
  .about-intro__text { margin-top: 3.2rem; }
}
@media screen and (min-width:48em) {
  .about-intro { display: flex; align-items: center; }
  .about-intro__image { margin-right: 8.33%; width: 50%; }
  .about-intro__text { width: 41.67%; }
}
@media screen and (max-width:47.999em) {
  .about-mission__image { margin-top: 2.4rem; }
}
@media screen and (min-width:48em) {
  .about-mission { display: flex; align-items: flex-start; }
  .about-mission__text { margin-right: 2.73%; width: 60%; }
  .about-mission__image { width: 37.27%; margin-top: 1.2rem; }
}

/* contact */
textarea { font-size: inherit; }
.form__label { display: none; }
.form__field { margin-top: 0.8rem; }
.form__field input, .form__field textarea { outline: none; padding: 1.2rem 1.6rem 0.4rem; border: 1px solid #f3f3f3; background-color: #f3f3f3; font-size: inherit; font-family: inherit; line-height: 1; }
.form__field input:focus, .form__field textarea:focus { border-color: #161616; box-shadow: inset 0 0 2px 0 #f3f3f3; }
.form__field input[type="text"], .form__field input[type="email"], .form__field input[type="url"] { width: 100%; }
.form__field textarea { width: 100%; line-height: 1.5; }
.form__field input[type="checkbox"] { margin-right: 0.4rem; vertical-align: middle; }
.form__field span.error { margin-top: 0.8rem; color: #c7c5bb !important; display: block !important; width: auto !important; }
.form__field::-webkit-input-placeholder { color: #686868; }
.form__field::-moz-placeholder { color: #686868; }
.form__field:-ms-input-placeholder { color: #686868; }
.form__field.-policy { margin-top: 2.4rem; font-size: 1.2rem; text-align: center; }
.form__field.-policy a, .form__field.-policy a:link, .form__field.-policy a:visited { padding-bottom: 0.2rem; border-bottom: 1px solid #161616; color: #161616; }
.form-submit { margin: auto; width: 20.8rem; }
.form-submit input[type="submit"] { width: 100%; height: 100%; border: 1px solid #3f3a3a; outline: none; background-color: #fff; padding-top: 0.5rem; font-family: adobe-caslon-pro, yu-mincho-pr6n, serif; font-size: 1.6rem; letter-spacing: 0.06em; line-height: 4.5rem; text-align: center; text-transform: uppercase; transition: all 0.2s ease-in-out; cursor: pointer; }
.form-submit input[type="submit"]:disabled { cursor: not-allowed; color: #898989; background-color: #dcdcdc; border: 1px solid #dcdcdc; }
.mw_wp_form_confirm .form__label { display: block; margin-top: 2.4rem; font-size: 1.2rem; color: #898989; }
.mw_wp_form_confirm .form__field { line-height: 1.5; }
.mw_wp_form_confirm .form__field.-policy { display: none; }
@media screen and (min-width:48em) {
  .form__field.-policy a:hover, .form__field.-policy a:active { color: #898989; border-color: #898989; }
  .form-submit input[type="submit"]:not(:disabled):hover { background-color: #3f3a3a; color: #fff; }
}

/* Trumps
--------------------------------------------------- */

/* typo */
._center { text-align: center !important; }
._left { text-align: left !important; }
._right { text-align: right !important; }
._small { font-size: 0.8em !important; }
._large { font-size: 1.2em !important; }

/* layout */
._pull-rt { float: right !important; }
._pull-lt { float: left !important; }
._p0 { padding: 0 !important; }
._pt0 { padding-top: 0 !important; }
._pb0 { padding-bottom: 0 !important; }
._mr-auto { margin-right: auto !important; }
._ml-auto { margin-left: auto !important; }
._mx-auto { margin-left: auto !important; margin-right: auto !important; }
._m0 { margin: 0 !important; }
._mt0 { margin-top: 0 !important; }
._mb0 { margin-bottom: 0 !important; }
@media screen and (max-width:47.999em) {
  ._mt8 { margin-top: 0.4rem !important; }
  ._mb8 { margin-bottom: 0.4rem !important; }
  ._mt16 { margin-top: 0.8rem !important; }
  ._mb16 { margin-bottom: 0.8rem !important; }
  ._mt24 { margin-top: 1.2rem !important; }
  ._mb24 { margin-bottom: 1.2rem !important; }
  ._mt32 { margin-top: 1.6rem !important; }
  ._mb32 { margin-bottom: 1.6rem !important; }
  ._mt40 { margin-top: 2rem !important; }
  ._mb40 { margin-bottom: 2rem !important; }
  ._mt48 { margin-top: 2.4rem !important; }
  ._mb48 { margin-bottom: 2.4rem !important; }
  ._mt56 { margin-top: 2.8rem !important; }
  ._mb56 { margin-bottom: 2.8rem !important; }
  ._mt64 { margin-top: 3.2rem !important; }
  ._mb64 { margin-bottom: 3.2rem !important; }
  ._mt72 { margin-top: 3.6rem !important; }
  ._mb72 { margin-bottom: 3.6rem !important; }
  ._mt80 { margin-top: 4rem !important; }
  ._mb80 { margin-bottom: 4rem !important; }
  ._mt96 { margin-top: 4.8rem !important; }
  ._mb96 { margin-bottom: 4.8rem !important; }
  ._mt120 { margin-top: 6rem !important; }
  ._mb120 { margin-bottom: 6rem !important; }
  ._mt160 { margin-top: 6rem !important; }
  ._mb160 { margin-bottom: 6rem !important; }
}
@media screen and (min-width:48em) {
  ._mt8 { margin-top: 0.8rem !important; }
  ._mb8 { margin-bottom: 0.8rem !important; }
  ._mt16 { margin-top: 1.6rem !important; }
  ._mb16 { margin-bottom: 1.6rem !important; }
  ._mt24 { margin-top: 2.4rem !important; }
  ._mb24 { margin-bottom: 2.4rem !important; }
  ._mt32 { margin-top: 3.2rem !important; }
  ._mb32 { margin-bottom: 3.2rem !important; }
  ._mt40 { margin-top: 4rem !important; }
  ._mb40 { margin-bottom: 4rem !important; }
  ._mt48 { margin-top: 4.8rem !important; }
  ._mb48 { margin-bottom: 4.8rem !important; }
  ._mt56 { margin-top: 5.6rem !important; }
  ._mb56 { margin-bottom: 5.6rem !important; }
  ._mt64 { margin-top: 6.4rem !important; }
  ._mb64 { margin-bottom: 6.4rem !important; }
  ._mt72 { margin-top: 7.2rem !important; }
  ._mb72 { margin-bottom: 7.2rem !important; }
  ._mt80 { margin-top: 8rem !important; }
  ._mb80 { margin-bottom: 8rem !important; }
  ._mt96 { margin-top: 9.6rem !important; }
  ._mb96 { margin-bottom: 9.6rem !important; }
  ._mt120 { margin-top: 12rem !important; }
  ._mb120 { margin-bottom: 12rem !important; }
  ._mt160 { margin-top: 16rem !important; }
  ._mb160 { margin-bottom: 16rem !important; }
}

/* responsive */
._pc { display: none; }
@media screen and (max-width:25.624em) {
  ._sp-xs { display: none; }
}
@media screen and (min-width:48em) {
  ._pc { display: inline-block; }
  ._sp { display: none; }
}

/* f**k IE */
_:-ms-lang(x)::-ms-backdrop, .frame__header { min-height: 0%; }
_:-ms-lang(x)::-ms-backdrop, .frame__footer { min-height: 0%; }
_:-ms-lang(x)::-ms-backdrop, .frame__content { display: block; }
_:-ms-lang(x)::-ms-backdrop, .grid__item { min-height: 0%; }
_:-ms-lang(x)::-ms-backdrop, .cols__item { min-height: 0%; }

/* JS
--------------------------------------------------- */

/* fade-in animation */
body.-hide, .frame__content img.-hide, .card-article__thumb.-hide, .card-related__thumb.-hide { opacity: 0; }
body.-show, .frame__content img.-show, .card-article__thumb.-show, .card-related__thumb.-show { opacity: 1; }
body.-show { transition: opacity 0.5s ease-in; }
.frame__content img.-show, .card-article__thumb.-show, .card-related__thumb.-show { transition: opacity 0.8s ease-in 0.2s; }

/* wp login */
@media screen and (max-width:47.999em) {
  .customize-support #wpadminbar { position: fixed; }
  .customize-support .frame__header, .customize-support .nav__button { margin-top: 46px; }
}
@media screen and (min-width:48em) {
  .customize-support .frame__header { margin-top: 32px; }
}
