@charset "UTF-8";
/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
  box-sizing: border-box;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%; }

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

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit; }

* {
  padding: 0;
  margin: 0; }

audio:not([controls]) {
  display: none;
  height: 0; }

hr {
  overflow: visible; }

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

summary {
  display: list-item; }

small {
  font-size: 80%; }

[hidden], template {
  display: none; }

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none; }

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects; }

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

code, kbd, pre, samp {
  font-family: monospace,monospace; }

b, strong {
  font-weight: bolder; }

dfn {
  font-style: italic; }

mark {
  background-color: #ff0;
  color: #000; }

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

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

input {
  border-radius: 0; }

[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer; }

[disabled] {
  cursor: default; }

[type=number] {
  width: auto; }

[type=search] {
  -webkit-appearance: textfield; }

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

textarea {
  overflow: auto;
  resize: vertical; }

button, input, optgroup, select, textarea {
  font: inherit; }

optgroup {
  font-weight: 700; }

button {
  overflow: visible; }

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: 0;
  padding: 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; }

button, select {
  text-transform: none; }

button, input, select, textarea {
  background-color: transparent;
  border-style: none;
  color: inherit; }

select {
  -moz-appearance: none;
  -webkit-appearance: none; }

select::-ms-expand {
  display: none; }

select::-ms-value {
  color: currentColor; }

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal; }

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

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

img {
  border-style: none; }

progress {
  vertical-align: baseline; }

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

audio, canvas, progress, video {
  display: inline-block; }

@media screen {
  [hidden~=screen] {
    display: inherit; }
  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important; } }

[aria-busy=true] {
  cursor: progress; }

[aria-controls] {
  cursor: pointer; }

[aria-disabled] {
  cursor: default; }

::-moz-selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none; }

::selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none; }

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100; }

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200; }

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300; }

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400; }

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold; }

@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 100; }

@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 200; }

html {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", 'ヒラギノ角ゴ ProN W3', "Hiragino Kaku Gothic ProN", YuGothic, sans-serif; }

html,
body {
  font-size: 15px;
  line-height: 1.5; }

body {
  background: #fff;
  color: #3c1c1c; }

.contents__container a:not(.btn):not(.is-pane):not(.tagitem) {
  color: #bb4e4e;
  text-decoration-style: dashed;
  text-decoration-color: #e0c1c1; }
  .contents__container a:not(.btn):not(.is-pane):not(.tagitem):hover {
    color: #3c1c1c;
    text-decoration: none; }

[v-clock] {
  display: none; }

.col--g {
  color: #009f7f !important; }

.col--o {
  color: #ed7500 !important; }

.col--r {
  color: #f44e4e !important; }

.col--p {
  color: #d085cd !important; }

.col--b {
  color: #60b9d4 !important; }

.col--gray {
  color: #a0a0a0 !important; }

.col--pgray {
  color: #d49fd1 !important; }

.bgc--g {
  background-color: #009f7f !important;
  color: #fff; }

.bgc--o {
  background-color: #ed7500 !important;
  color: #fff; }

.bgc--r {
  background-color: #f44e4e !important;
  color: #fff; }

.bgc--p {
  background-color: #d085cd !important;
  color: #fff; }

.bgc--b {
  background-color: #60b9d4 !important;
  color: #fff; }

.bgc--gray {
  background-color: #a0a0a0 !important;
  color: #fff; }

.pc-only {
  display: block !important; }

.sp-only {
  display: none !important; }

.view-m-only {
  display: none !important; }

.view-l-only {
  display: block !important; }

@media only screen and (min-width: 861px) {
  .sp-only {
    display: none !important; }
  .view-m-only {
    display: none !important; }
  .view-l-only {
    display: block !important; }
  .pc-only {
    display: block !important; } }

@media only screen and (min-width: 661px) and (max-width: 860px) {
  .sp-only {
    display: none !important; }
  .view-m-only {
    display: block !important; }
  .view-l-only {
    display: none !important; }
  .pc-only {
    display: block !important; } }

@media only screen and (max-width: 660px) {
  .sp-only {
    display: block !important; }
  .view-m-only {
    display: none !important; }
  .view-l-only {
    display: none !important; }
  .pc-only {
    display: none !important; } }

h1 {
  font-size: 22px;
  font-weight: bold; }

h2 {
  font-size: 20px;
  font-weight: bold; }

h3 {
  font-size: 17px;
  font-weight: bold; }

h4 {
  font-size: 16px;
  font-weight: bold; }

h5 {
  font-size: 15px;
  font-weight: bold; }

h6 {
  font-size: 12px;
  font-weight: bold; }

/*-----------------------------*/
ul,
ol {
  list-style: none; }

.video_snsbtn,
.sns.subsns {
  display: block;
  background: #ffffff; }
  @media only screen and (min-width: 661px) {
    .video_snsbtn,
    .sns.subsns {
      position: -webkit-sticky;
      position: sticky;
      bottom: -8px;
      z-index: 90;
      box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
      text-align: center;
      width: 240px;
      margin: 0 auto;
      padding: 20px 16px 1px;
      border-radius: 4px;
      margin-bottom: 24px; } }
  @media only screen and (max-width: 660px) {
    .video_snsbtn,
    .sns.subsns {
      position: -webkit-sticky;
      position: sticky;
      bottom: -8px;
      z-index: 90;
      box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
      text-align: left;
      width: 100%;
      padding: 12px 6vw 1px; } }

.new {
  display: inline-block;
  background: url("../img/lbl_new.png") no-repeat;
  background-size: 32px 13px;
  width: 32px;
  height: 13px;
  vertical-align: top;
  margin-left: 3px; }

.new-b {
  display: inline-block;
  background: url("../img/lbl_new_b.png") no-repeat;
  background-size: 32px 13px;
  width: 32px;
  height: 13px;
  vertical-align: top;
  margin-left: 3px; }

.pickup {
  display: inline-block;
  background: url("../img/lbl_pickup.png") no-repeat;
  background-size: 46px 15px;
  width: 46px;
  height: 15px;
  vertical-align: top;
  margin-left: 3px; }

.ticker {
  background: #60b9d4;
  color: #ffffff;
  font-size: 10px;
  text-align: center;
  padding: 8px; }
  .ticker a {
    color: #ffffff;
    text-decoration: none; }

.is-with-checkit {
  position: relative;
  padding-left: 26px; }
  .is-with-checkit:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 24px;
    height: 24px;
    background: url(../img/ic_checkit.png) 0 0;
    background-size: 24px 24px; }

.btn {
  display: block;
  width: 100%;
  padding: 10px 15px;
  border-radius: 8px;
  position: relative;
  background: #ffffff;
  color: #3c1c1c;
  border: 1px solid #d0d0d0;
  font-size: 17px;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  text-decoration: none; }
  .btn span, .btn i {
    display: inline-block;
    line-height: 24px;
    padding: 0 4px; }
  .btn__lbl {
    display: table;
    margin: 0 auto; }
    .btn__lbl span, .btn__lbl i {
      display: table-cell;
      vertical-align: middle; }
  .btn__note {
    font-size: 11px;
    font-weight: normal; }
  .btn--inline {
    display: inline-block;
    width: auto; }
  .btn--o {
    background: #FFAD33;
    color: #ffffff;
    border-width: 0; }
  .btn--r {
    background: #eb2837;
    color: #ffffff;
    border-width: 0; }
  .btn--b {
    background: #60C5E5;
    color: #ffffff;
    border-width: 0; }
  .btn.is-small {
    font-size: 12px;
    font-weight: 400;
    padding: 10px 10px; }
  .btn.is-medium {
    font-size: 15px;
    font-weight: 400;
    padding: 10px 10px; }
  .btn.is-navplus {
    background: #F39FEE;
    color: #ffffff;
    border-width: 0; }
  .btn.disabled, .btn:disabled {
    background: #ffffff !important;
    color: #d0d0d0 !important;
    border: 1px solid #e9e9e9 !important; }
  .btn:not(.disabled):not(:disabled) {
    cursor: pointer; }
  .btn.disabled, .btn:disabled {
    cursor: default; }
  @media only screen and (min-width: 661px) {
    .btn:not(.disabled):not(:disabled):hover {
      filter: brightness(110%); }
    .btn:not(.disabled):not(:disabled):active {
      filter: brightness(90%); } }

.btn-list__item {
  margin: 10px 0; }

@media only screen and (min-width: 661px) {
  .btn-list.is-flow {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .btn-list.is-flow .btn-list__item {
      width: 50%; }
      .btn-list.is-flow .btn-list__item:not(:last-child) {
        padding-right: 4px; }
      .btn-list.is-flow .btn-list__item:not(:first-child) {
        padding-left: 4px; } }

.btn-banner {
  margin: 24px 0 24px; }
  @media only screen and (max-width: 660px) {
    .btn-banner {
      margin: 24px 6vw 24px; } }
  .btn-banner__item {
    box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
    display: block;
    position: relative;
    border-radius: 10px; }
    .btn-banner__item:before {
      content: '';
      display: block;
      position: absolute;
      border: 1px dashed #ffffff;
      top: 4px;
      left: 4px;
      bottom: 4px;
      right: 4px;
      border-radius: 8px;
      opacity: 0.5;
      z-index: 1; }
    .btn-banner__item img {
      display: block;
      width: 100%;
      height: auto;
      border-radius: 10px; }
    .btn-banner__item:not(.disabled):not(:disabled) {
      cursor: pointer; }
    .btn-banner__item.disabled, .btn-banner__item:disabled {
      cursor: default; }
    @media only screen and (min-width: 661px) {
      .btn-banner__item:not(.disabled):not(:disabled):hover {
        filter: brightness(110%); }
      .btn-banner__item:not(.disabled):not(:disabled):active {
        filter: brightness(90%); } }

/*-----------------------------*/
.pagenation {
  text-align: center;
  margin: 15px 0; }
  .pagenation__prev, .pagenation__next {
    display: inline-block;
    position: relative;
    vertical-align: top;
    width: 36px;
    height: 36px;
    border-radius: 15px;
    background: #009f7f;
    box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
    cursor: pointer;
    text-decoration: none;
    overflow: hidden; }
    .pagenation__prev:before, .pagenation__next:before {
      content: '';
      position: absolute;
      top: 6px;
      left: 6px; }
    .pagenation__prev:after, .pagenation__next:after {
      content: '';
      position: absolute;
      border-radius: 15px;
      width: 32px;
      height: 32px;
      top: 2px;
      left: 2px;
      border: 1px dashed #1fc1a2; }
    .pagenation__prev.disabled, .pagenation__next.disabled {
      box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
      opacity: 0.25;
      cursor: default;
      background: #fff; }
    @media only screen and (min-width: 661px) {
      .pagenation__prev:hover, .pagenation__next:hover {
        filter: brightness(105%); }
      .pagenation__prev:active, .pagenation__next:active {
        box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
        filter: brightness(90%); } }
  .pagenation__prev:before {
    display: block;
    background: url("../img/ic_prev.png") no-repeat;
    background-size: 24px 24px;
    width: 24px;
    height: 24px; }
  .pagenation__next:before {
    display: block;
    background: url("../img/ic_next.png") no-repeat;
    background-size: 24px 24px;
    width: 24px;
    height: 24px; }
  .pagenation__num {
    display: inline-block;
    vertical-align: top;
    line-height: 36px;
    padding: 0 36px; }

/*-----------------------------*/
.slide {
  position: relative; }
  .slide img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px; }
  .slide__item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    opacity: 0; }

/*-----------------------------*/
.clearfix::after {
  content: "";
  display: block;
  clear: both; }

.breakall {
  word-break: break-all; }

/*-----------------------------*/
.evl--z0 {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }

.evl--z1 {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12); }

.evl--z2 {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }

.evl--z3 {
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12); }

.evl--z4 {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }

.evl--z5 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12); }

.evl--z6 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12); }

.evl--z7 {
  box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12); }

.evl--z8 {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); }

.evl--z9 {
  box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12); }

.evl--z10 {
  box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12); }

.evl--z11 {
  box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12); }

.evl--z12 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12); }

.evl--z13 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12); }

.evl--z14 {
  box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12); }

.evl--z15 {
  box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12); }

.evl--z16 {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12); }

.evl--z17 {
  box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12); }

.evl--z18 {
  box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12); }

.evl--z19 {
  box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12); }

.evl--z20 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12); }

.evl--z21 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12); }

.evl--z22 {
  box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12); }

.evl--z23 {
  box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12); }

.evl--z24 {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12); }

.evl-transition {
  transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
  will-change: box-shadow; }

.header {
  position: relative;
  background: #fff; }
  @media only screen and (min-width: 661px) {
    .header {
      margin-top: 15px; } }

.navbar__top {
  position: relative;
  display: flex;
  align-items: center; }

.navbar__site-title {
  text-indent: -999em;
  overflow: hidden;
  text-align: left;
  direction: ltr;
  white-space: nowrap;
  display: block;
  width: 232px;
  height: 54px;
  background: url(../images/site_title_2x.png) no-repeat;
  background-size: 232px 54px; }

.navbar__top-copy {
  font-size: 11px;
  margin-left: 24px;
  color: #009f7f; }

.navbar__menu {
  position: relative; }

@media only screen and (min-width: 861px) {
  .navbar__top {
    width: 960px;
    margin: 0 auto;
    padding: 8px 20px; }
  .navbar__menu {
    width: 960px;
    margin: 0 auto;
    padding: 0 20px; } }

@media only screen and (min-width: 661px) and (max-width: 860px) {
  .navbar__top {
    width: auto;
    padding: 8px 20px; }
  .navbar__menu {
    width: auto;
    padding: 0; } }

@media only screen and (max-width: 660px) {
  .navbar__top {
    padding: 0 6vw;
    border-bottom: 1px solid #e9e9e9; } }

.back-to-top {
  display: block;
  position: relative;
  cursor: pointer; }
  .back-to-top__ico {
    display: none;
    position: absolute;
    width: 60px;
    height: 60px;
    padding: 18px;
    border-radius: 30px;
    top: -86px;
    right: 8px;
    overflow: hidden;
    background: #009f7f;
    box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
    color: #fff;
    opacity: 0.0;
    transition: opacity 0.25s ease; }
    .back-to-top__ico--on {
      display: block;
      opacity: 1.0; }
    .back-to-top__ico:before {
      display: block;
      background: url("../img/ic_arw_up.png") no-repeat;
      background-size: 24px 24px;
      width: 24px;
      height: 24px;
      content: ''; }
    .back-to-top__ico:after {
      content: '';
      position: absolute;
      border-radius: 28px;
      width: 56px;
      height: 56px;
      top: 2px;
      left: 2px;
      border: 1px dashed #1fc1a2; }
    @media only screen and (min-width: 661px) {
      .back-to-top__ico:hover {
        filter: brightness(105%); }
      .back-to-top__ico:active {
        box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
        filter: brightness(90%); } }

@media only screen and (min-width: 661px) {
  .back-to-top {
    position: -webkit-sticky;
    position: sticky;
    bottom: -16px;
    z-index: 90; } }

@media only screen and (max-width: 660px) {
  .back-to-top {
    position: -webkit-sticky;
    position: sticky;
    bottom: -16px;
    z-index: 90; } }

.navbar__top-copy span,
.ticker-copy span {
  font-feature-settings: "palt" 1;
  letter-spacing: 0.07em;
  margin: 0 0.1em; }
  .navbar__top-copy span:before,
  .ticker-copy span:before {
    content: '「'; }
  .navbar__top-copy span:after,
  .ticker-copy span:after {
    content: '」'; }

.ticker-copy {
  padding-left: 0;
  padding-right: 0; }

@media only screen and (min-width: 661px) {
  .menu__container {
    background: #009f7f;
    padding: 0 0 0 12px;
    border-radius: 4px; }
  .menu__items--sp {
    display: none; }
  .menu__items--pc {
    display: table; }
  .menu__item {
    display: table-cell;
    vertical-align: top;
    text-align: center;
    padding: 0; }
    .menu__item a {
      display: block;
      padding: 17px 16px;
      color: #fff;
      font-weight: 700;
      font-size: 14px;
      line-height: 14px;
      text-decoration: none;
      white-space: nowrap;
      text-shadow: 0 -1px 2px #185045;
      transition: color 0.1s linear; }
      .menu__item a.on {
        background-color: #02a986; }
      .menu__item a:hover {
        background-color: #02a986; }
    .menu__item--home a {
      background: url("../img/ic_home_w.png") no-repeat 50% 11px;
      background-size: 24px 24px;
      width: 48px;
      height: 48px;
      padding: 0;
      line-height: 0; }
    .menu__item--suku a, .menu__item--maisuku a {
      padding: 17px 10px;
      font-feature-settings: "palt" 1;
      letter-spacing: 0.05em;
      margin: 0 0.1em; }
      .menu__item--suku a:before, .menu__item--maisuku a:before {
        content: '「';
        margin-right: 0.1em;
        opacity: 0.75; }
      .menu__item--suku a:after, .menu__item--maisuku a:after {
        content: '」';
        margin-left: 0.1em;
        opacity: 0.75; }
  .menu__ctrl {
    display: none; } }

@media only screen and (min-width: 861px) {
  .menu__container {
    padding: 0 0 0 12px;
    border-radius: 4px; } }

@media only screen and (min-width: 661px) and (max-width: 860px) {
  .menu__container {
    padding: 0 0 0 4px;
    border-radius: 0; }
  .menu__item a {
    padding-left: 8px;
    padding-right: 8px;
    font-size: 13px;
    line-height: 13px; }
  .menu__item--home {
    display: none; } }

@keyframes show_menu {
  from {
    top: 100%; }
  to {
    top: 0; } }

@media only screen and (max-width: 660px) {
  .menu {
    background: #009f7f;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: left;
    z-index: 1000; }
    .menu.off {
      display: none; }
    .menu.on {
      display: block;
      animation: show_menu 0.25s ease 0s; }
    .menu.hide {
      top: 100%; }
    .menu__container {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      width: 100%;
      height: 100%;
      padding: 54px 0 0 0;
      margin: 0;
      border-width: 0; }
    .menu__items--pc {
      display: none; }
    .menu__items--sp {
      display: block;
      overflow: scroll;
      width: 100%;
      height: 100%; }
    .menu__item {
      position: relative;
      display: block;
      line-height: 1.25;
      border-top: 1px dashed #4bbda7; }
      .menu__item:first-child {
        border-width: 0; }
      .menu__item:after {
        display: block;
        position: absolute;
        top: 15px;
        right: 6vw;
        content: '';
        pointer-events: none;
        background: url("../img/ic_arw_w.png");
        background-size: contain;
        width: 24px;
        height: 24px; }
      .menu__item a {
        display: block;
        color: #fff;
        padding: 15px 6vw;
        font-size: 16px;
        border-width: 0;
        font-weight: bold;
        line-height: 28px;
        text-decoration: none;
        white-space: nowrap;
        text-shadow: 0 0 2px #185045; }
        .menu__item a span {
          display: inline-block;
          margin: 0 0.5em;
          color: #fdfa1e; }
    .menu__hr {
      display: block; }
    .menu__grp {
      display: block;
      padding: 1px 0;
      border: 1px dotted #25bd9f;
      border-width: 1px 0 0;
      background: #069679; }
      .menu__grp__lbl {
        font-size: 12px;
        font-weight: 400;
        padding: 15px 6vw 0;
        color: #6bd0bc; }
        .menu__grp__lbl:not(:first-child) {
          border: 1px dotted #25bd9f;
          border-width: 1px 0 0; }
      .menu__grp__item a {
        display: block;
        padding: 0 6vw;
        margin: 15px 0;
        line-height: 24px;
        color: #fff;
        text-decoration: none; }
    .menu__ctrl {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      height: 54px;
      box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
      z-index: 1100; }
      .menu__ctrl__close, .menu__ctrl__open {
        display: block;
        position: absolute;
        top: 8px;
        right: 0;
        width: 58px;
        height: 40px; }
        .menu__ctrl__close:before, .menu__ctrl__open:before {
          position: absolute;
          top: 6px;
          right: 14px;
          display: block;
          width: 27px;
          height: 29px;
          content: '';
          background: url("../img/menu_lbl_close.png") no-repeat;
          background-size: contain; }
      .menu__ctrl__home {
        display: block;
        color: #fff;
        padding: 15px 6vw;
        font-size: 16px;
        border-width: 0;
        font-weight: bold;
        line-height: 28px;
        text-decoration: none;
        white-space: nowrap;
        text-shadow: 0 0 2px #185045;
        margin-right: 60px;
        background: url("../img/ic_home_w.png") no-repeat 6vw 16px;
        background-size: 24px 24px; }
        .menu__ctrl__home__label {
          margin-left: 30px; }
      .menu__ctrl__close:before {
        content: ''; }
      .menu__ctrl__open:before {
        content: ''; } }

.header__ctrl {
  display: none; }
  @media only screen and (max-width: 660px) {
    .header__ctrl {
      position: -webkit-sticky;
      position: sticky;
      display: block;
      top: 0;
      z-index: 100; }
      .header__ctrl__menu {
        position: absolute;
        width: 58px;
        height: 40px;
        border-radius: 20px 0 0 20px;
        top: 6px;
        right: 0;
        overflow: hidden;
        background: #009f7f;
        box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }
        .header__ctrl__menu:before {
          position: absolute;
          top: 7px;
          right: 8px;
          display: block;
          width: 35px;
          height: 29px;
          content: '';
          background: url("../img/menu_lbl.png") no-repeat;
          background-size: contain; }
        .header__ctrl__menu.off {
          display: none; } }

.wrapper {
  position: relative;
  width: 100%;
  height: 100%; }

.container {
  position: relative; }

@media only screen and (min-width: 861px) {
  .contents {
    width: 960px;
    padding: 0;
    margin: 0 auto; }
    .contents.archive {
      width: 660px;
      padding-top: 36px; }
    .contents.is-2column-layout {
      display: flex;
      flex-wrap: nowrap;
      align-items: stretch;
      justify-content: space-between;
      width: 960px;
      padding: 0 20px; }
      .contents.is-2column-layout .contents-column:nth-child(1) {
        width: 620px; }
      .contents.is-2column-layout .contents-column:nth-child(2) {
        width: 260px;
        padding-top: 48px; }
      .contents.is-2column-layout .contents__container {
        padding-left: 0;
        padding-right: 0; } }

@media only screen and (min-width: 661px) and (max-width: 860px) {
  .contents {
    width: auto;
    padding: 0;
    margin: 0 auto; }
    .contents.archive {
      width: 660px;
      padding-top: 36px; }
    .contents.is-2column-layout .contents-column {
      width: auto; } }

@media only screen and (max-width: 660px) {
  .contents {
    width: 100%;
    padding: 0;
    margin: 0; }
    .contents.archive {
      width: 100%; } }

@media only screen and (min-width: 861px) {
  .contents__hero {
    margin: 10px 0 0;
    padding-left: 20px;
    padding-right: 20px; } }

@media only screen and (min-width: 661px) and (max-width: 860px) {
  .contents__hero {
    margin-top: 0;
    padding-left: 0;
    padding-right: 0; } }

@media only screen and (max-width: 660px) {
  .contents__hero {
    margin-top: 0;
    padding-left: 0;
    padding-right: 0; } }

.contents__header,
.contents__container {
  margin: 0 0;
  padding-left: 20px;
  padding-right: 20px; }
  @media only screen and (max-width: 660px) {
    .contents__header,
    .contents__container {
      padding-left: 6vw;
      padding-right: 6vw; } }

.contents__header > h1 {
  font-size: 22px;
  font-weight: normal;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.05em; }

.contents__container {
  line-height: 1.5; }
  @media only screen and (min-width: 661px) {
    .contents__container {
      padding-top: 48px;
      padding-bottom: 72px; } }
  @media only screen and (max-width: 660px) {
    .contents__container {
      padding-top: 36px;
      padding-bottom: 72px; } }
  .contents__container > section:not(:last-child) {
    margin-bottom: 36px; }
  .contents__container > section > h2 {
    margin: 0 0 24px;
    font-size: 20px;
    font-weight: normal;
    color: #4093ad;
    font-feature-settings: "palt" 1;
    letter-spacing: 0.05em; }

@media only screen and (min-width: 861px) {
  .contents__aside {
    padding-left: 0;
    padding-right: 0; } }

@media only screen and (min-width: 661px) and (max-width: 860px) {
  .contents__aside {
    padding-left: 20px;
    padding-right: 20px; } }

@media only screen and (max-width: 660px) {
  .contents__aside {
    padding-left: 6vw;
    padding-right: 6vw; } }

.contents__header {
  padding-top: 48px; }
  .contents__header__info {
    font-size: 12px;
    color: #a0a0a0;
    margin: 4px 0 15px; }
    .contents__header__info dt,
    .contents__header__info dd {
      display: inline-block; }
    .contents__header__info dt {
      width: 3.5em; }
  .contents__header__link {
    margin-top: 10px; }
  .contents__header hr.sep {
    margin-bottom: 0; }

.contents__hero img {
  display: block;
  width: 100%;
  height: auto; }
  .contents__hero img.with-border {
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.25); }
  @media only screen and (min-width: 861px) {
    .contents__hero img {
      border-radius: 4px; } }

@media only screen and (min-width: 661px) and (max-width: 860px) {
  .contents__hero + .contents__header {
    padding-top: 24px; } }

@media only screen and (max-width: 660px) {
  .contents__hero + .contents__header {
    padding-top: 24px; } }

.level {
  display: flex;
  align-items: center;
  justify-content: space-between; }
  .level.is-flow {
    justify-content: flex-start; }
  .level__grp {
    display: flex;
    align-items: center; }

.base-content p {
  line-height: 1.95;
  margin: 0 0 10px; }
  .base-content p:last-child {
    margin-bottom: 0; }

.base-content section {
  margin: 36px 0; }

.base-content .note {
  line-height: 1.95;
  margin: 15px 0; }

.txt-block h1 {
  font-size: 22px;
  font-weight: bold;
  margin: 36px 0 24px;
  line-height: 1.3; }
  .txt-block h1:first-child {
    margin-top: 0; }

.txt-block h2 {
  font-size: 20px;
  font-weight: bold;
  margin: 24px 0 15px;
  line-height: 1.3; }
  .txt-block h2:first-child {
    margin-top: 0; }

.txt-block h3 {
  font-size: 17px;
  font-weight: bold;
  margin: 24px 0 10px;
  line-height: 1.3; }

.txt-block h4 {
  font-size: 16px;
  font-weight: bold;
  margin: 24px 0 10px; }

.txt-block h5 {
  font-size: 15px;
  font-weight: bold;
  margin: 15px 0 10px; }

.txt-block h6 {
  font-size: 12px;
  font-weight: bold;
  margin: 15px 0 10px; }

.txt-block p {
  line-height: 1.85;
  margin: 0 0 10px; }
  .txt-block p:last-child {
    margin-bottom: 0; }

.txt-block ul.list {
  margin: 15px 0; }
  .txt-block ul.list li {
    list-style: circle;
    line-height: 1.95;
    margin: 0 0 10px 24px; }

.txt-block small {
  font-size: 12px; }

.txt-block .note {
  font-size: 12px;
  margin: 2px 0 0; }
  .txt-block .note li {
    margin-top: 0;
    margin-bottom: 0; }

.txt-block .attention {
  margin: 24px 0; }
  .txt-block .attention__h {
    margin-bottom: 10px; }
  .txt-block .attention__list {
    list-style: circle; }
    .txt-block .attention__list li {
      font-size: 12px;
      line-height: 1.95;
      margin: 0 0 4px 24px; }
    .txt-block .attention__list ol {
      list-style: decimal; }
      .txt-block .attention__list ol li {
        margin: 0 0 2px 16px;
        list-style: decimal; }

.txt-block .action {
  margin: 36px 0 0; }

.txt-block hr {
  margin: 24px 0;
  border-width: 1px 0 0 0;
  border-style: dotted;
  border-color: #d0d0d0; }
  .txt-block hr.is-hidden {
    border-style: dashed;
    border-color: #e9e9e9; }

.txt-block .box {
  border: 1px solid #d0d0d0;
  border-radius: 4px;
  padding: 15px;
  margin: 15px 0; }

img.fit {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto; }

.txt-em {
  color: #c82a15;
  font-weight: bold;
  font-style: normal;
  background: #ffc; }

hr.sep {
  margin: 36px 0;
  border-width: 1px 0 0 0;
  border-style: dotted;
  border-color: #d0d0d0; }

.sa {
  font-size: 15px;
  line-height: 1.5; }
  .sa__header {
    margin: 0 0 36px; }
    .sa__header__info {
      margin: 24px 0 15px;
      font-size: 12px;
      color: #a0a0a0; }
  .sa .sa__footer {
    margin: 48px 0 0;
    border-top: 1px solid #d0d0d0; }
    .sa .sa__footer h2 {
      font-size: 15px; }
  .sa .sa__banners {
    margin: 24px 0 0; }
  .sa .group-list {
    font-size: 13px; }
    .sa .group-list .group__current {
      color: #d0d0d0; }
  .sa p {
    line-height: 1.95;
    margin: 10px 0 15px; }
  .sa em {
    font-style: italic;
    word-break: break-all; }
  .sa blockquote {
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
    padding: 15px 15px 15px;
    border-radius: 8px;
    margin: 48px 0 15px 0;
    position: relative; }
    .sa blockquote p {
      margin: 0 0 15px; }
      .sa blockquote p:last-child {
        margin-bottom: 0; }
    .sa blockquote h2 {
      font-size: 17px;
      color: #338be8;
      margin: 0;
      line-height: inherit; }
  .sa h2 + blockquote {
    margin: 15px 0; }
  .sa .sa__lbl-q + blockquote {
    border-radius: 0 8px 8px 8px;
    margin: 15px 0; }
  .sa blockquote + blockquote {
    margin: 15px 0; }
  .sa h1 {
    font-size: 28px;
    line-height: 1.3;
    font-feature-settings: "palt" 1;
    letter-spacing: 0.025em; }
    .sa h1 small {
      font-size: 20px; }
  .sa h2 {
    font-size: 24px;
    margin: 48px 0 15px;
    line-height: 1.3;
    font-feature-settings: "palt" 1;
    letter-spacing: 0.025em; }
    .sa h2 small {
      font-size: 18px; }
  .sa h3 {
    font-size: 22px;
    margin: 36px 0 0;
    line-height: 1.3;
    font-feature-settings: "palt" 1;
    letter-spacing: 0.025em; }
  .sa h4 {
    font-size: 17px;
    margin: 24px 0 0; }
  .sa h5 {
    font-size: 16px;
    margin: 15px 0 0; }
  .sa h6 {
    font-size: 13px;
    margin: 15px 0 0; }
  .sa hr {
    margin: 48px 0;
    border-width: 1px 0 0 0;
    border-style: dotted;
    border-color: #d0d0d0; }
    .sa hr.is-lv2 {
      margin: 36px 0;
      border-style: dashed; }
  .sa img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 10px 0; }
    .sa img:not(.portrait) + br {
      display: none; }
  .sa p img {
    margin: 10px 0 0; }
    .sa p img:first-child {
      margin: 0; }
  .sa ul,
  .sa ol {
    margin: 10px 0 15px 24px; }
    .sa ul li,
    .sa ol li {
      margin-bottom: 4px; }
      .sa ul li:last-child,
      .sa ol li:last-child {
        margin-bottom: 0; }
  .sa h4 + ul,
  .sa h4 + ol,
  .sa h5 + ul,
  .sa h5 + ol,
  .sa h6 + ul,
  .sa h6 + ol {
    margin-top: 4px; }
  .sa ol {
    list-style-type: decimal; }
  .sa ul {
    list-style-type: disc; }
  .sa__pre {
    padding: 10px 14px;
    line-height: 1.8;
    background: #ffeeee;
    margin: 1em 0; }
  .sa__pre-guest, .sa__pre-lecturer, .sa__lecturer {
    font-size: 12px;
    margin: 36px 0 15px;
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap; }
    .sa__pre-guest::after, .sa__pre-lecturer::after, .sa__lecturer::after {
      content: "";
      display: block;
      clear: both; }
    .sa__pre-guest p, .sa__pre-lecturer p, .sa__lecturer p {
      margin: 0; }
    .sa__pre-guest img, .sa__pre-lecturer img, .sa__lecturer img {
      margin: 0 15px 0 0 !important;
      width: 60px;
      min-width: 60px;
      height: auto;
      border-radius: 16px; }
    .sa__pre-guest + .sa__pre-guest,
    .sa__pre-guest + .sa__pre-lecturer,
    .sa__pre-guest + .sa__lecturer, .sa__pre-lecturer + .sa__pre-guest,
    .sa__pre-lecturer + .sa__pre-lecturer,
    .sa__pre-lecturer + .sa__lecturer, .sa__lecturer + .sa__pre-guest,
    .sa__lecturer + .sa__pre-lecturer,
    .sa__lecturer + .sa__lecturer {
      margin-top: 15px; }
  .sa__pre-profile {
    padding: 10px 14px;
    background: #f4f4f4;
    font-size: 13px;
    margin: 15px 0;
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap; }
    .sa__pre-profile::after {
      content: "";
      display: block;
      clear: both; }
    .sa__pre-profile p {
      margin: 0; }
    .sa__pre-profile img {
      margin: 0 15px 0 0 !important;
      min-width: 60px;
      width: 60px;
      height: auto; }
  .sa__pre-note {
    font-size: 13px;
    line-height: 1.95;
    margin: 15px 0 24px; }
  .sa__main img {
    margin: 24px 0; }
  .sa__pages__ttl {
    font-size: 15px;
    font-weight: bold;
    margin-top: 36px; }
  .sa__pages {
    margin: 10px 0 0 0 !important;
    counter-reset: p_number;
    font-size: 13px; }
    .sa__pages li {
      counter-increment: p_number;
      list-style: none;
      padding: 4px 0;
      margin-bottom: 4px;
      display: flex;
      align-items: start; }
      .sa__pages li::before {
        content: counter(p_number) ".";
        display: inline-block;
        margin-right: 8px; }
    .sa__pages a {
      display: inline-block;
      font-size: 15px; }
  .sa__main hr, .sa__sec-qa hr, .sa__sec-article hr {
    width: 30%;
    border-style: dotted;
    border-width: 4px 0 0 0;
    border-color: #d0d0d0;
    margin: 36px auto; }
  .sa__lbl-q {
    font-weight: bold;
    padding-left: 30px;
    position: relative;
    color: #338be8; }
    .sa__lbl-q:before {
      content: 'Q';
      display: block;
      width: 30px;
      height: 30px;
      line-height: 30px;
      border-radius: 15px;
      font-size: 18px;
      background-color: #338be8;
      color: #ffffff;
      font-weight: bold;
      text-align: center;
      position: absolute;
      top: 0px;
      left: -8px; }
  .sa h3.sa__lbl-q:before {
    width: 26px;
    height: 26px;
    line-height: 26px;
    font-size: 16px;
    top: -1px;
    left: -2px; }
  .sa__lbl-a {
    font-weight: bold;
    padding-left: 30px;
    position: relative; }
    .sa__lbl-a:before {
      content: 'A';
      display: block;
      width: 26px;
      height: 26px;
      line-height: 26px;
      border-radius: 13px;
      font-size: 16px;
      border: 1px solid #f9acac;
      color: #f9acac;
      font-weight: bold;
      text-align: center;
      position: absolute;
      top: -1px;
      left: -2px; }
  .sa__lbl-senmon {
    font-weight: bold;
    color: #00b995; }
  .sa__box {
    padding: 1em;
    border: 1px dotted #da9966;
    margin: 1em 0; }
    .sa__box > *:first-child {
      margin-top: 0; }
    .sa__box > *:last-child {
      margin-bottom: 0; }
    .sa__box h3, .sa__box h4 {
      color: #ce6d3d; }
  .sa__message, .sa__summary, .sa__answer, .sa__voice, .sa__section {
    border-radius: 8px;
    padding: 1px 1em;
    margin: 15px 0 24px; }
    .sa__message::after, .sa__summary::after, .sa__answer::after, .sa__voice::after, .sa__section::after {
      content: "";
      display: block;
      clear: both; }
    .sa__message p, .sa__summary p, .sa__answer p, .sa__voice p, .sa__section p {
      margin: 10px 0 15px; }
      .sa__message p:last-child, .sa__summary p:last-child, .sa__answer p:last-child, .sa__voice p:last-child, .sa__section p:last-child {
        margin-bottom: 10px; }
      .sa__message p em, .sa__summary p em, .sa__answer p em, .sa__voice p em, .sa__section p em {
        color: #c82a15;
        font-weight: bold; }
    .sa__message img.portrait, .sa__summary img.portrait, .sa__answer img.portrait, .sa__voice img.portrait, .sa__section img.portrait {
      float: right;
      margin: 0 0 15px 15px !important;
      width: 90px;
      border-radius: 8px; }
    .sa__message h4, .sa__summary h4, .sa__answer h4, .sa__voice h4, .sa__section h4 {
      margin: 15px 0 0; }
  .sa__voice + .sa__voice {
    margin-top: -9px; }
  .sa__message, .sa__summary, .sa__answer {
    background: #fff4f4; }
  .sa__summary {
    background: #ddfff4; }
  .sa__voice {
    border: 1px dashed #a0a0a0; }
  .sa__section {
    border: 1px solid #e9e9e9; }
  .sa__qline {
    font-weight: bold;
    margin: 36px 0 24px;
    font-size: 17px;
    line-height: 1.85; }
    .sa__qline p {
      line-height: 1.85; }
  .sa .article-notice {
    color: #a0a0a0;
    margin: 36px 0 0; }
  @media only screen and (max-width: 660px) {
    .sa {
      margin-top: 0;
      border-radius: 0; }
      .sa h2.sa__lbl-q {
        padding-left: 0; }
        .sa h2.sa__lbl-q:before {
          top: -36px;
          left: 0; }
      .sa__section img.portrait, .sa__message img.portrait, .sa__summary img.portrait, .sa__answer img.portrait {
        width: 75px; } }

.sa-bottom {
  padding: 0 20px; }
  @media only screen and (max-width: 660px) {
    .sa-bottom {
      padding: 0 6vw; } }

.ffs-none {
  font-feature-settings: normal; }

.ffs-pkna {
  font-feature-settings: "pkna" 1; }

.ffs-palt {
  font-feature-settings: "palt" 1;
  letter-spacing: 0.1em; }

.dash-line {
  letter-spacing: -0.2em;
  margin-right: 0.1em; }

.info-box {
  border: 1px solid #e9e9e9;
  padding: 10px 15px;
  border-radius: 8px;
  background-color: #f6f6f6; }
  .info-box.is-middle {
    font-size: 13px; }
  .info-box.is-alert {
    background-color: #f44e4e;
    color: #ffffff; }
    .info-box.is-alert a {
      color: #ffffff; }

.ingredient {
  display: table;
  width: 100%;
  margin: 1em auto 1em 0;
  border-top: 1px dashed #dadada; }
  .ingredient > div {
    display: table-row; }
    .ingredient > div > dt {
      display: table-cell;
      padding: 4px 15px 4px 0;
      border-bottom: 1px dashed #dadada; }
    .ingredient > div > dd {
      display: table-cell;
      padding: 4px 0;
      border-bottom: 1px dashed #dadada;
      white-space: nowrap; }

.article-banner {
  padding: 0 20px; }
  .article-banner .btn {
    font-size: 14px;
    white-space: nowrap;
    color: #a0a0a0;
    font-weight: 400; }
  @media only screen and (max-width: 660px) {
    .article-banner {
      padding: 15px 6vw 0; }
      .article-banner .btn {
        padding: 10px 4px; } }

.kenko-channel-relations h2 {
  background: url(../images/kenko_channel.png) no-repeat;
  background-size: 66px 26px;
  padding: 7px 2px 2px 70px; }

.relations_with_thumbnail {
  margin: 10px 0 15px 0;
  font-size: 13px; }
  .relations_with_thumbnail .relations_item {
    position: relative;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
    border-radius: 4px;
    text-decoration: none;
    background: #fff;
    color: #3c1c1c;
    margin-bottom: 10px;
    display: flex; }
    .relations_with_thumbnail .relations_item:hover {
      background: #fafafa;
      opacity: 0.75; }
    .relations_with_thumbnail .relations_item .relations_title {
      width: 80%;
      padding: 10px; }
    .relations_with_thumbnail .relations_item .relations_img {
      width: 20%;
      margin: 0;
      border-radius: 3px;
      margin: 10px 10px 10px 0; }

.tag-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center; }
  .tag-header h1 {
    display: inline-block;
    font-feature-settings: "pkna" 1;
    line-height: 1.25; }
    .tag-header h1:before {
      display: inline-block;
      content: "#";
      margin-right: 6px; }

.tag-number {
  font-size: 12px;
  line-height: 22px;
  height: 22px;
  background: #d0d0d0;
  color: #fff;
  display: inline-block;
  padding: 0 10px;
  border-radius: 12px;
  margin-left: 15px; }

.tag-list {
  font-size: 0;
  letter-spacing: 0;
  margin: 0;
  padding: 0; }
  .tag-list__item {
    display: inline-block;
    font-size: 12px;
    margin: 0 6px 6px 0; }
  .tag-list a {
    background: #f9f0f0;
    border-radius: 4px;
    padding: 4px 8px;
    text-decoration: none;
    display: inline-block; }
    .tag-list a::before {
      display: inline-block;
      content: "#";
      margin-right: 2px; }
  .tag-list.is-index .tag-list__item {
    font-size: 13px;
    margin: 0 10px 10px 0; }
    .tag-list.is-index .tag-list__item .num {
      font-size: 13px;
      margin-left: 6px; }

.tag-grp {
  margin-bottom: 15px; }
  .tag-grp h3 {
    font-size: 16px;
    margin-bottom: 10px; }

@media only screen and (min-width: 661px) {
  .sec__tag-list.is-index {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start; }
    .sec__tag-list.is-index .tag-list__item {
      display: block; } }

@media only screen and (min-width: 861px) {
  .sec__tag-list.is-index .tag-grp {
    width: 230px; } }

@media only screen and (min-width: 661px) and (max-width: 860px) {
  .sec__tag-list.is-index .tag-grp {
    width: 33.3%; } }

.sec__tag-list.is-top-index .num {
  display: none; }

.tags-related {
  margin: 0 0 36px 0; }
  .tags-related__title {
    font-size: 16px; }
  .tags-related__list {
    margin-top: 10px; }

.contents__container.is-index hr {
  border: 1px dashed #e9e9e9;
  border-width: 1px 0 0;
  margin: 24px 0; }

.contents__aside hr {
  border: 1px dashed #e9e9e9;
  border-width: 1px 0 0;
  margin: 36px 0; }

.program-aside {
  border-radius: 4px;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.5); }
  .program-aside:not(:last-child) {
    margin-bottom: 15px; }
  .program-aside__img img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 4px 4px 0 0; }
  .program-aside__body {
    padding: 0 12px 10px;
    margin-top: 2px;
    border-top: 1px dashed #d0d0d0; }
  .program-aside__title {
    font-size: 16px;
    font-weight: 700;
    margin: 10px 0 4px; }
  .program-aside__info {
    font-size: 12px;
    color: #a0a0a0;
    margin: 4px 0 10px; }
    .program-aside__info dl {
      display: flex; }
    .program-aside__info dt {
      width: 3.5em; }
  .program-aside__batch {
    display: inline-block;
    background: #F39FEE;
    border-radius: 20px;
    font-size: 12px;
    color: #fff;
    line-height: 12px;
    padding: 4px 8px; }
  .program-aside__nav-plus {
    margin-top: 15px; }
  .program-aside__nav a {
    display: block;
    text-align: center;
    padding: 15px;
    font-size: 15px;
    border-top: 1px solid #d0d0d0;
    color: #3c1c1c;
    text-decoration: none; }
    .program-aside__nav a:not(:first-child) {
      border-color: #e9e9e9; }
    .program-aside__nav a:hover {
      color: #a0a0a0; }

@media only screen and (min-width: 861px) {
  .program-aside .info-demiliter::before {
    content: '\A';
    white-space: pre; } }

@media only screen and (min-width: 661px) and (max-width: 860px) {
  .program-aside .info-demiliter::before {
    content: '／'; } }

@media only screen and (max-width: 660px) {
  .program-aside .info-demiliter::before {
    content: '／'; } }

@media only screen and (min-width: 661px) and (max-width: 860px) {
  .index_programs {
    display: flex;
    justify-content: space-between; }
    .index_programs .program-aside {
      width: 49%;
      margin-bottom: 0; } }

.nav-note {
  font-size: 10px;
  color: #a0a0a0;
  margin: 4px 0 0; }

.nav-aside {
  margin: 36px 0 0; }
  .nav-aside a {
    display: block;
    text-align: center;
    padding: 15px 4px;
    font-size: 15px;
    font-weight: 700;
    border: 1px solid #d0d0d0;
    border-radius: 4px; }
    .nav-aside a:not(:last-child) {
      margin: 0 0 15px; }

.top-topic {
  font-size: 13px;
  line-height: 1.85; }

.banner {
  text-align: center;
  margin: 36px 0; }
  .banner__item {
    display: block;
    position: relative; }
    .banner__item:not(:last-child) {
      margin: 0 0 15px; }
    .banner__item a {
      display: inline-block;
      width: 100%;
      margin: 0 auto; }
      .banner__item a .outline {
        box-shadow: 0 0 2px rgba(0, 0, 0, 0.25); }
      .banner__item a:hover {
        opacity: 0.7; }
    .banner__item img {
      display: block;
      border-radius: 4px;
      width: 100%;
      height: auto; }
    .banner__item > .label {
      display: inline-block;
      position: absolute;
      margin: 0;
      left: 15px;
      top: -6px; }
  @media only screen and (min-width: 661px) and (max-width: 860px) {
    .banner .banner__item {
      display: inline-block;
      width: 260px;
      margin: 15px;
      vertical-align: top; } }

.topic-sp {
  margin-bottom: 24px; }
  .topic-sp__item {
    position: relative;
    display: block;
    padding: 15px 24px;
    background: #d6f0f3;
    color: #42666f !important;
    border-radius: 4px;
    text-decoration: none; }
    .topic-sp__item:hover {
      box-shadow: 0 0 2px rgba(0, 0, 0, 0.35); }
    .topic-sp__item > .new {
      display: inline-block;
      position: absolute;
      margin: 0;
      left: 16px;
      top: -6px; }
  .topic-sp__ttl {
    font-size: 16px;
    font-weight: bold; }
  .topic-sp p {
    font-size: 13px;
    margin: 4px 0 10px; }

.prgitem {
  display: block;
  position: relative;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
  border-radius: 4px;
  text-decoration: none;
  background: #fff;
  color: #3c1c1c; }
  .prgitem__img {
    display: block;
    position: relative;
    background: #f6f6f6;
    padding-top: 56.25%;
    border-radius: 4px 4px 0 0; }
  .prgitem__img-holder {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    overflow: hidden;
    border-radius: 4px 4px 0 0; }
    .prgitem__img-holder img {
      display: block;
      width: 100%;
      height: auto;
      transition: opacity 0.25s ease-in-out; }
      .prgitem__img-holder img[data-src] {
        opacity: 0.25; }
  .prgitem__title {
    font-feature-settings: "palt" 1;
    letter-spacing: 0.05em; }
  .prgitem__info {
    color: #a0a0a0;
    font-size: 12px; }
  .prgitem__date .date1st {
    display: block; }
  .prgitem__summary {
    margin: 0.5em 0 0;
    line-height: 1.85; }
  .prgitem__disc {
    margin: 0 0 1em;
    font-size: 14px;
    line-height: 1.85; }
  .prgitem__guest {
    margin: 10px 0 0;
    font-size: 12px; }
    .prgitem__guest__h {
      font-weight: bold; }
    .prgitem__guest__name {
      margin-top: 2px;
      color: #a0a0a0; }
    .prgitem__guest__link {
      margin-top: 10px;
      text-decoration: none; }

a.prgitem:hover {
  background: #fafafa;
  opacity: 0.75; }

.prgitem-container {
  display: block;
  position: relative;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
  border-radius: 4px;
  background: #fff; }
  .prgitem-container .prgitem {
    box-shadow: none; }
  .prgitem-container .prgitem__nav a {
    display: block;
    text-align: left;
    padding: 15px 15px;
    font-size: 15px;
    border-top: 1px solid #d0d0d0;
    text-decoration: none;
    color: #3c1c1c; }
    .prgitem-container .prgitem__nav a:not(:first-child) {
      border-color: #e9e9e9; }
  .prgitem-container:not(:last-child) {
    margin-bottom: 15px; }

.prgitem.is-pickup {
  background-size: contain;
  background-position: 50% 0;
  background-repeat: no-repeat;
  padding-top: 40%; }
  .prgitem.is-pickup:hover {
    background-size: contain;
    background-position: 50% 0;
    background-repeat: no-repeat; }
  .prgitem.is-pickup .prgitem__body {
    position: relative;
    padding: 36px 24px 15px;
    border-radius: 0 0 4px 4px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, white 30px, white 100%); }
    @media only screen and (max-width: 660px) {
      .prgitem.is-pickup .prgitem__body {
        padding: 36px 4vw 15px; } }
    .prgitem.is-pickup .prgitem__body > .label {
      display: inline-block;
      position: absolute;
      margin: 0;
      left: 16px;
      top: 18px; }
  .prgitem.is-pickup .prgitem__title {
    font-size: 22px;
    margin: 0 0 10px; }
    @media only screen and (max-width: 660px) {
      .prgitem.is-pickup .prgitem__title {
        font-size: 18px; } }
  .prgitem.is-pickup .prgitem__disc {
    margin: 0; }

.prgitem.is-pickup-card {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  border-radius: 0; }
  .prgitem.is-pickup-card:first-child {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px; }
  .prgitem.is-pickup-card:last-child {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px; }
  .prgitem.is-pickup-card:not(:first-child) {
    border-top: 1px dotted #d0d0d0; }
  .prgitem.is-pickup-card .prgitem__img {
    display: block;
    width: 26%;
    padding: 0;
    border-radius: 0 4px 4px 0; }
  .prgitem.is-pickup-card .prgitem__img-holder {
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat; }
  .prgitem.is-pickup-card .prgitem__body {
    display: block;
    width: 74%;
    vertical-align: top;
    position: relative;
    padding: 15px 15px 6px 15px; }
    .prgitem.is-pickup-card .prgitem__body > .label {
      display: inline-block;
      position: absolute;
      margin: 0;
      left: 15px;
      top: -6px; }
  .prgitem.is-pickup-card .prgitem__title {
    font-size: 16px;
    margin: 0 0 4px; }
  .prgitem.is-pickup-card .prgitem__disc {
    font-size: 13px;
    margin: 0; }
  @media only screen and (max-width: 660px) {
    .prgitem.is-pickup-card .prgitem__body {
      display: block;
      width: 80%;
      padding: 15px 10px 6px 15px;
      min-height: auto; }
    .prgitem.is-pickup-card .prgitem__img {
      display: block;
      width: 20%;
      padding: 15px 15px 15px 0;
      background: transparent; }
    .prgitem.is-pickup-card .prgitem__img-holder {
      width: 100%;
      padding-bottom: 100%;
      display: block;
      position: static;
      top: auto;
      left: auto;
      right: auto;
      bottom: auto;
      border-radius: 4px; } }
  .prgitem.is-pickup-card.is-only-text .prgitem__body {
    width: 100%; }
  .prgitem.is-pickup-card.is-only-text .prgitem__title {
    font-size: 16px;
    margin: 0; }

.prgitem.is-large-full .prgitem__body,
.prgitem.is-large .prgitem__body {
  padding: 1px 24px 15px;
  margin-top: 2px;
  border-top: 1px dashed #d0d0d0; }
  @media only screen and (max-width: 660px) {
    .prgitem.is-large-full .prgitem__body,
    .prgitem.is-large .prgitem__body {
      padding: 1px 4vw 15px; } }

.prgitem.is-large-full .prgitem__title,
.prgitem.is-large .prgitem__title {
  font-size: 22px;
  margin: 15px 0 10px; }
  @media only screen and (max-width: 660px) {
    .prgitem.is-large-full .prgitem__title,
    .prgitem.is-large .prgitem__title {
      font-size: 18px; } }

@media only screen and (min-width: 861px) {
  .prgitem.is-large-full,
  .prgitem-container.is-program-top > .prgitem.is-large {
    display: flex;
    min-height: 236px; }
    .prgitem.is-large-full .prgitem__img,
    .prgitem-container.is-program-top > .prgitem.is-large .prgitem__img {
      padding: 0;
      width: 50%;
      min-height: 258px;
      border-radius: 4px 0 0 4px; }
    .prgitem.is-large-full .prgitem__img-holder,
    .prgitem-container.is-program-top > .prgitem.is-large .prgitem__img-holder {
      border-radius: 4px 0 0 4px;
      background-position: 50% 50%;
      background-size: cover; }
      .prgitem.is-large-full .prgitem__img-holder:before,
      .prgitem-container.is-program-top > .prgitem.is-large .prgitem__img-holder:before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background: #fff;
        -ms-filter: blur(12px);
        filter: blur(12px);
        margin: -4px; }
      .prgitem.is-large-full .prgitem__img-holder:after,
      .prgitem-container.is-program-top > .prgitem.is-large .prgitem__img-holder:after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background: inherit;
        background-size: contain; }
      .prgitem.is-large-full .prgitem__img-holder img,
      .prgitem-container.is-program-top > .prgitem.is-large .prgitem__img-holder img {
        display: none; }
    .prgitem.is-large-full .prgitem__body,
    .prgitem-container.is-program-top > .prgitem.is-large .prgitem__body {
      border-width: 0;
      width: 50%; } }

.prgitem.is-middle .prgitem__body {
  padding: 1px 15px 15px;
  margin-top: 2px;
  border-top: 1px dashed #d0d0d0; }
  @media only screen and (max-width: 660px) {
    .prgitem.is-middle .prgitem__body {
      padding: 1px 4vw 15px; } }

.prgitem.is-middle .prgitem__title {
  font-size: 15px;
  margin: 10px 0 4px; }
  @media only screen and (max-width: 660px) {
    .prgitem.is-middle .prgitem__title {
      font-size: 18px; } }

.prgitem-list-header h2 {
  margin-bottom: 24px; }

.prgitem-list-header .pagenation {
  margin-top: 0; }

.prgitem-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; }
  @media only screen and (max-width: 660px) {
    .prgitem-list {
      display: block; } }

.prgitem-list .prgitem {
  display: block;
  width: 218px;
  margin-bottom: 15px; }
  @media only screen and (min-width: 861px) {
    .prgitem-list .prgitem {
      margin-right: 16px; }
      .prgitem-list .prgitem:nth-child(4n) {
        margin-right: 0; }
      .prgitem-list .prgitem__title {
        font-size: 15px; } }
  @media only screen and (min-width: 661px) and (max-width: 860px) {
    .prgitem-list .prgitem {
      width: 49.2%;
      margin-right: 1.6%; }
      .prgitem-list .prgitem:nth-child(2n) {
        margin-right: 0; }
      .prgitem-list .prgitem__title {
        font-size: 15px; } }
  @media only screen and (max-width: 660px) {
    .prgitem-list .prgitem {
      width: 100%;
      margin: 0 0 24px; }
      .prgitem-list .prgitem__title {
        font-size: 18px; }
      .prgitem-list .prgitem__info {
        font-size: 12px; } }

.guests {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: stretch; }
  .guests__item {
    position: relative;
    background: #ffffff;
    border-radius: 4px;
    margin-bottom: 15px;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.5); }
    .guests__item__img img {
      display: block;
      width: 100%;
      height: auto;
      border-radius: 3px 3px 0 0; }
    .guests__item__name {
      font-size: 15px;
      font-weight: bold;
      margin: 10px 10px 2px; }
    .guests__item__occu {
      font-size: 11px;
      color: #a0a0a0;
      margin: 2px 10px; }
    .guests__item__desc {
      font-size: 12px;
      margin: 15px 10px;
      text-align: justify; }
    .guests__item--now::before {
      content: '今週の専門家';
      display: inline-block;
      font-size: 12px;
      line-height: 24px;
      width: auto;
      height: 24px;
      border-radius: 12px;
      background: #ff9900;
      color: #ffffff;
      padding: 0 10px;
      position: absolute;
      top: -9px;
      left: -8px; }
  @media only screen and (min-width: 861px) {
    .guests .guests__item {
      width: 218px;
      margin-right: 16px; }
      .guests .guests__item:nth-child(4n) {
        margin-right: 0; } }
  @media only screen and (min-width: 661px) and (max-width: 860px) {
    .guests .guests__item {
      width: 32.4%;
      margin-right: 1.4%; }
      .guests .guests__item:nth-child(3n) {
        margin-right: 0; } }
  @media only screen and (max-width: 660px) {
    .guests .guests__item {
      width: 49%;
      margin-right: 2%; }
      .guests .guests__item:nth-child(2n) {
        margin-right: 0; } }

.bosyu-list {
  margin: 0 0 0 24px; }
  .bosyu-list li {
    position: relative;
    list-style: none;
    margin-bottom: 10px; }
    .bosyu-list li:last-child {
      margin-bottom: 0; }
    .bosyu-list li:before {
      content: '';
      display: block;
      background: url("../img/ic_enq.png") no-repeat;
      background-size: 18px 18px;
      width: 18px;
      height: 18px;
      position: absolute;
      left: -24px;
      top: 2px; }
    .bosyu-list li.entry:before {
      display: block;
      background: url("../img/ic_entry.png") no-repeat;
      background-size: 18px 18px;
      width: 18px;
      height: 18px; }
  .bosyu-list a {
    font-size: 16px;
    font-weight: bold; }
  .bosyu-list p {
    font-size: 13px;
    margin: 4px 0 10px; }

.bosyu-more {
  margin: 15px 0 0;
  font-size: 12px;
  line-height: 1.95; }
  .bosyu-more li {
    position: relative;
    padding: 0 0 0 24px; }
    .bosyu-more li:not(:last-child) {
      margin-bottom: 10px; }
    .bosyu-more li:before {
      content: '';
      display: block;
      background: url("../img/ic_str.png") no-repeat;
      background-size: 18px 18px;
      width: 18px;
      height: 18px;
      position: absolute;
      left: 0;
      top: 0; }

.bosyu-sp {
  margin-bottom: 24px; }
  .bosyu-sp__item {
    position: relative;
    display: block;
    padding: 15px 24px;
    background: #fff3f3;
    border-radius: 4px;
    text-decoration: none; }
    .bosyu-sp__item:hover {
      box-shadow: 0 0 2px rgba(0, 0, 0, 0.35); }
    .bosyu-sp__item > .new {
      display: inline-block;
      position: absolute;
      margin: 0;
      left: 16px;
      top: -6px; }
  .bosyu-sp__ttl {
    font-size: 16px;
    font-weight: bold; }
  .bosyu-sp p {
    font-size: 13px;
    margin: 4px 0 10px; }

.form {
  margin: 2px 0;
  border: 1px dashed #efd3b1;
  border-width: 1px 0;
  padding: 0 6vw;
  text-align: left;
  border-radius: 0 0 16px 16px; }
  .form hr {
    margin: 36px 0;
    height: 0;
    padding: 0;
    border: 0;
    border-top: 1px dotted #d0d0d0; }
  .form__desc {
    margin: 15px 0;
    line-height: 1.95; }
  .form__item {
    margin: 36px 0 36px; }
  .form__qlbl {
    margin: 15px 0; }
    .form__qlbl:first-child {
      margin-top: 0; }
    .form__qlbl__q {
      display: inline-block;
      padding: 4px 10px;
      background: #ff9900;
      color: #ffffff;
      font-weight: bold;
      line-height: 1;
      border-radius: 4px;
      margin-bottom: 10px; }
    .form__qlbl__txt {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.95; }
    .form__qlbl__exp {
      font-size: 15px;
      line-height: 1.95;
      margin-top: 4px; }
    .form__qlbl__note {
      line-height: 1.95;
      font-size: 11px;
      color: #a0a0a0; }
  .form__qinp {
    margin: 0; }
    .form__qinp__item {
      margin: 15px 0 0; }
    .form__qinp__exp {
      margin-top: 10px;
      font-size: 12px;
      line-height: 1.95; }
    .form__qinp__list {
      margin-top: 10px;
      list-style: circle; }
      .form__qinp__list li {
        font-size: 12px;
        line-height: 1.95;
        margin: 0 0 4px 24px; }
    .form__qinp__note {
      margin-top: 4px;
      font-size: 11px;
      color: #a0a0a0; }
    .form__qinp textarea {
      height: 8em; }
  .form__req {
    display: inline-block;
    padding: .2em .5em .1em;
    background: #f00;
    border-radius: 4px;
    color: #fff;
    font-weight: normal;
    font-size: 11px; }
  .form__attenion {
    margin: 36px 0; }
    .form__attenion__h {
      margin-bottom: 10px; }
    .form__attenion__list {
      list-style: circle; }
      .form__attenion__list li {
        font-size: 12px;
        line-height: 1.95;
        margin: 0 0 4px 24px; }
      .form__attenion__list ol {
        list-style: decimal; }
        .form__attenion__list ol li {
          margin: 0 0 2px 16px;
          list-style: decimal; }
  .form ul.list li {
    list-style: circle;
    margin-left: 24px; }

.fld_block {
  display: table;
  width: 100%;
  margin-bottom: 15px; }
  .fld_block .fld_label,
  .fld_block .fld_inp {
    display: table-cell;
    vertical-align: top; }
  .fld_block .fld_label {
    width: 190px;
    font-size: 16px;
    padding: 10px 0; }
  .fld_block .fld_inp input {
    width: 300px; }
  .fld_block .fld_inp span {
    padding: 5px; }
    .fld_block .fld_inp span.notice {
      font-size: 11px;
      color: #a0a0a0; }
  .fld_block .fld_inp__item {
    padding: 4px 0; }
    .fld_block .fld_inp__item--fix {
      padding: 0.5em 0; }
  .fld_block .cb {
    padding: 4px 0;
    display: inline-block; }

@media only screen and (max-width: 660px) {
  .form {
    margin: 1px 0;
    border-radius: 0; }
  .fld_block {
    display: block; }
    .fld_block .fld_label,
    .fld_block .fld_inp {
      display: block;
      width: auto; }
      .fld_block .fld_label textarea,
      .fld_block .fld_label input,
      .fld_block .fld_inp textarea,
      .fld_block .fld_inp input {
        width: 100%; }
    .fld_block .fld_inp span.notice {
      display: block;
      padding: 0;
      margin: 4px 0 0; } }

input[type="text"],
input[type="tel"],
input[type="email"], textarea,
.textarea, select {
  padding: 0.5em;
  border: 1px solid #d0d0d0;
  border-radius: 4px;
  font-size: 16px; }
  input:focus[type="text"],
  input:focus[type="tel"],
  input:focus[type="email"], textarea:focus,
  .textarea:focus, select:focus {
    border-color: #2693ff;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2); }
  input:invalid[type="text"],
  input:invalid[type="tel"],
  input:invalid[type="email"], textarea:invalid,
  .textarea:invalid, select:invalid {
    border-color: #ff9900; }

input[type="file"] {
  display: block;
  padding: 0.4em;
  border: 1px solid #d0d0d0;
  border-radius: 4px;
  font-size: 16px; }

textarea,
.textarea {
  width: 100%;
  display: block; }

input:focus,
textarea:focus,
select:focus {
  outline: none; }

.select {
  display: inline-block;
  position: relative; }
  .select select {
    padding-right: 40px; }
  .select:before {
    display: block;
    background: url("../img/ic_exd_more.png") no-repeat;
    background-size: 24px 24px;
    width: 24px;
    height: 24px;
    content: '';
    position: absolute;
    margin-top: -12px;
    top: 50%;
    right: 2px;
    pointer-events: none; }

.radio,
.checkbox {
  position: relative;
  display: inline-block;
  margin: 4px 10px 4px 0;
  padding: 0 8px 0 32px;
  border-radius: 4px;
  vertical-align: middle;
  font-size: 16px;
  line-height: 24px;
  cursor: pointer; }
  .radio input[type=radio],
  .radio input[type=checkbox],
  .checkbox input[type=radio],
  .checkbox input[type=checkbox] {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    padding: 0;
    margin: 0;
    width: 24px;
    height: 24px;
    z-index: 1;
    opacity: 0; }
  .radio__ico:before,
  .checkbox__ico:before {
    position: absolute;
    top: 0;
    left: 0;
    padding: 0;
    margin: 0;
    width: 24px;
    height: 24px;
    color: #d0d0d0;
    z-index: 2; }
  .radio:hover .radio__ico,
  .checkbox:hover .radio__ico, .radio:hover
  .checkbox__ico,
  .checkbox:hover
  .checkbox__ico {
    color: #ff9900; }
  .radio--blk,
  .checkbox--blk {
    display: block; }

input[type=radio] + .radio__ico:before {
  display: block;
  background: url("../img/ic_radio_off.png") no-repeat;
  background-size: 24px 24px;
  width: 24px;
  height: 24px;
  content: ''; }

input[type=radio]:checked + .radio__ico:before,
.selected + .radio__ico:before {
  display: block;
  background: url("../img/ic_radio_on.png") no-repeat;
  background-size: 24px 24px;
  width: 24px;
  height: 24px;
  content: ''; }

input[type=checkbox] + .checkbox__ico:before {
  display: block;
  background: url("../img/ic_chexbox_off.png") no-repeat;
  background-size: 24px 24px;
  width: 24px;
  height: 24px;
  content: ''; }

input[type=checkbox]:checked + .checkbox__ico:before,
.selected + .checkbox__ico:before {
  display: block;
  background: url("../img/ic_chexbox_on.png") no-repeat;
  background-size: 24px 24px;
  width: 24px;
  height: 24px;
  content: ''; }

.input-append {
  width: 100%;
  border-collapse: separate;
  border: 1px solid #d0d0d0;
  border-radius: 4px;
  line-height: normal; }
  .input-append th, .input-append td {
    height: 100%;
    padding: 0;
    border: none !important;
    vertical-align: middle; }
  .input-append th {
    width: auto !important; }
  .input-append td {
    width: 8.5em;
    border-radius: 0 5px 5px 0;
    background: #ff9900;
    vertical-align: middle; }
  .input-append input[type="text"],
  .input-append input[type="tel"],
  .input-append input[type="email"] {
    width: 100%;
    padding: 0.5em;
    border: none; }
  .input-append .btn {
    width: 100%;
    margin: 0;
    border-radius: 0 5px 5px 0;
    letter-spacing: normal;
    text-align: center;
    cursor: pointer; }

@media only screen and (max-width: 660px) {
  .input-append {
    border: none; }
    .input-append td {
      margin: 0 auto;
      border-radius: 5px; }
    .input-append input[type="text"],
    .input-append input[type="tel"],
    .input-append input[type="email"] {
      display: block;
      border: 1px solid #d0d0d0; }
    .input-append .btn {
      display: block;
      margin: .5em auto 0;
      border-radius: 5px; } }

.voice-card {
  margin-top: 24px;
  margin-bottom: 24px;
  padding-top: 1px; }

.voices__loading {
  text-align: center;
  margin: 24px 0 48px; }

.voice-card {
  position: relative; }

.voice__item {
  border-radius: 4px;
  padding: 15px 24px;
  border: 1px dashed #a0a0a0; }
  .voice__item__name {
    font-weight: bold;
    line-height: 1.5;
    margin: 4px 0;
    padding-right: 50px; }
  .voice__item__child {
    font-size: 12px;
    line-height: 1.5; }
  .voice__item__text {
    margin: 15px 0 10px;
    line-height: 1.95; }
  .voice__item__date {
    font-size: 11px;
    color: #a0a0a0; }
  @media only screen and (max-width: 660px) {
    .voice__item {
      padding-left: 4vw;
      padding-right: 4vw; } }

.voice-about a {
  font-weight: bold;
  color: #bb4e4e;
  text-decoration-style: dashed;
  text-decoration-color: #e0c1c1; }

.video-container {
  display: block;
  margin: 0 auto 36px; }
  .video-container #video {
    margin: 0 auto;
    max-width: 960px;
    background: #000; }
    .video-container #video.video-sq {
      max-width: 480px; }

/**
 * dokos
 */
.dokos-embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  height: auto; }

.dokos-embed-container.square-video {
  padding-bottom: 100%; }

.dokos-embed-container iframe, .dokos-embed-container object, .dokos-embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.ideamov-container {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: stretch; }

.ideamov {
  display: block;
  position: relative;
  background: #ffffff;
  border-radius: 4px;
  margin-bottom: 15px;
  border-radius: 4px;
  text-decoration: none;
  background: #fff;
  color: #3c1c1c;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.5); }
  .ideamov__tn img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 3px 3px 0 0; }
  .ideamov__desc {
    margin: 15px 10px; }
  .ideamov__copy {
    font-size: 11px;
    margin: 0; }
  .ideamov__title {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5; }
  .ideamov__y {
    font-size: 11px;
    margin-top: 4px;
    color: #a0a0a0; }
  @media only screen and (min-width: 861px) {
    .ideamov {
      width: 218px;
      margin-right: 16px; }
      .ideamov:nth-child(4n) {
        margin-right: 0; } }
  @media only screen and (min-width: 661px) and (max-width: 860px) {
    .ideamov {
      width: 32.4%;
      margin-right: 1.4%; }
      .ideamov:nth-child(3n) {
        margin-right: 0; } }
  @media only screen and (max-width: 660px) {
    .ideamov {
      width: 49%;
      margin-right: 2%; }
      .ideamov:nth-child(2n) {
        margin-right: 0; } }
