@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700&display=swap');
/* Theme base styles */

/* Tools
Any animations, or functions used throughout the project.
Note: _macros.css needs to be imported into each stylesheet where macros are used and not included here
*/

/* Generic
This is where reset, normalize & box-sizing styles go.
*/

*, *:before, *:after {
  box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct box sizing in Firefox.
 */

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

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Remove the inheritance of text transform in Edge and Firefox.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

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

/**
 * Remove the inner border and padding in Firefox.
 */

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

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.
 */

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

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

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

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

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

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

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Objects
Non-cosmetic design patterns including grid and layout classes)
*/

/* CSS variables */

:root {
  --column-gap: 2.13%;
}

/* Mobile layout */

.row-fluid {
  display: flex;
  flex-wrap: wrap;
}

.row-fluid [class*='span'] {
  min-height: 1px;
  width: 100%;
}

/* Desktop layout */

@media (min-width: 768px) {
  .row-fluid {
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  .row-fluid .span11 {
    width: calc(91.66% - var(--column-gap) * 0.0833);
  }

  .row-fluid .span10 {
    width: calc(83.33% - var(--column-gap) * 0.166);
  }

  .row-fluid .span9 {
    width: calc(75% - (var(--column-gap) * 0.25));
  }

  .row-fluid .span8 {
    width: calc(66.66% - var(--column-gap) * 0.333);
  }

  .row-fluid .span7 {
    width: calc(58.33% - var(--column-gap) * 0.4166);
  }

  .row-fluid .span6 {
    width: calc(50% - var(--column-gap) * 0.5);
  }

  .row-fluid .span5 {
    width: calc(41.66% - var(--column-gap) * 0.5833);
  }

  .row-fluid .span4 {
    width: calc(33.33% - var(--column-gap) * 0.6668);
  }

  .row-fluid .span3 {
    width: calc(25% - var(--column-gap) * 0.75);
  }

  .row-fluid .span2 {
    width: calc(16.66% - var(--column-gap) * 0.8333);
  }

  .row-fluid .span1 {
    width: calc(8.33% - var(--column-gap) * 0.9166);
  }
}

.l-column {
  margin: 0 20px;
}

@media screen and (min-width: 768px) {
  .body-container-wrapper {
    padding: 0 20px;
  }
  .l-column {
    max-width: 1088px;
    margin: 0 auto;
  }
  .l-column.-narrow {
    width: 736px
  }
}
@media screen and (min-width: 992px) {
  .body-wrapper {
    padding-top: 204px;
  }
  .body-container-wrapper {
    padding: 0 30px;
  }
}

[data-fade] {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .8s, transform .8s;
}

[data-fade].scroll-in {
  opacity: 1;
  transform: none;
}
.content-wrapper {
  margin: 0 auto;
}

.dnd-section > .row-fluid {
  margin: 0 auto;
}

.dnd-section .dnd-column {
  padding: 0 1rem;
}

@media (max-width: 767px) {
  .dnd-section .dnd-column {
    padding: 0;
  }
}

/* Elements
Base HMTL elements are styled in this section (<body<, <h1>, <a>, <p>, <button> etc.)
*/
.logo .cls-1 {
  fill: none;
}

.logo .cls-2 {
  clip-path: url(#clippath);
}

.logo .cls-3 {
  fill: #343fb7;
}

.logo .cls-4 {
  stroke: #000;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: .03px;
}

@media (max-width: 991px) {
  .logo-pc {
    display: none;
  }
}
@media (min-width: 992px) {
  .logo-sp {
    display: none;
  }
}
body {
  letter-spacing: 0.05em;
  line-height: 2;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: antialiased;
  text-size-adjust: 100%;
}

html[lang^="ja"] body,
html[lang^="zh"] body,
html[lang^="ko"] body {
  line-break: strict;
  overflow-wrap: normal;
  word-break: break-word;
}

/* Paragraphs */

p {
  margin: 0 0 40px;
}

/* Anchors */

a {
  cursor: pointer;
}

@media (min-width: 768px) {
  a {
    transition: color .3s
  }
  a:hover {
    color: #2b3bad;
  }
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 1.4rem;
  line-height: 1.6;
}

/* Lists */

ul,
ol {
  margin: 0 0 1.4rem;
}

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

ul.no-list {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Code blocks */

pre {
  overflow: auto;
}

code {
  vertical-align: bottom;
}

/* Blockquotes */

blockquote {
  border-left: 2px solid;
  margin: 0 0 1.4rem;
  padding-left: 0.7rem;
}

/* Horizontal rules */

hr {
  border: none;
  border-bottom: 1px solid #CCC;
}

/* Image alt text */

img {
  font-size: 0.583rem;
  word-break: normal;
}
button,
.button {
  border: none;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
  padding: 0;
  background-color: transparent;
}
button:disabled,
.button:disabled {
  background-color: #D0D0D0;
  border-color: #D0D0D0;
  color: #E6E6E6;
}

/* No button */

.no-button,
.no-button:hover,
.no-button:focus,
.no-button:active {
  background: none;
  border: none;
  border-radius: 0;
  color: initial;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  margin-bottom: 0;
  padding: 0;
  text-align: left;
  text-decoration: none;
  transition: none;
}
/* Fields */

.hs-form-field {
  margin-bottom: 1.4rem;
}

/* Labels */

form label {
  display: block;
  font-size: 0.875rem;
  margin-bottom: 0.35rem;
}

/* Help text */

form legend {
  font-size: 0.875rem;
}

/* Inputs */

form input[type=text],
form input[type=email],
form input[type=password],
form input[type=tel],
form input[type=number],
form input[type=file],
form select,
form textarea {
  display: inline-block;
  font-size: 0.875rem;
  padding: 0.7rem;
  width: 100%;
}

form input::placeholder {
  color: #BDBDBD;
}

form textarea {
  resize: vertical;
}

form fieldset {
  max-width: 100% !important;
}

/* Inputs - checkbox/radio */

form .inputs-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

form .inputs-list > li {
  display: block;
  margin: 0.7rem 0;
}

form .inputs-list input,
form .inputs-list span {
  vertical-align: middle;
}

form input[type=checkbox],
form input[type=radio] {
  cursor: pointer;
  margin-right: 0.35rem;
}

/* Inputs - date picker */

.hs-dateinput {
  position: relative;
}

.hs-dateinput:before {
  content:'\01F4C5';
  position: absolute;
  right: 10%;
  top: 50%;
  transform: translateY(-50%);
}

.fn-date-picker .pika-table thead th {
  color: #FFF;
}

.fn-date-picker td.is-selected .pika-button {
  border-radius: 0;
  box-shadow: none;
}

.fn-date-picker td .pika-button:hover,
.fn-date-picker td .pika-button:focus {
  border-radius: 0 !important;
  color: #FFF;
}

/* Inputs - file picker */

form input[type=file] {
  background-color: transparent;
  border: initial;
  padding: initial;
}

/* Headings and text */

form .hs-richtext,
form .hs-richtext p {
  font-size: 0.875rem;
  margin: 0 0 1.4rem;
}

form .hs-richtext img {
  max-width: 100% !important;
}


/* Validation */

.hs-form-required {
  color: #EF6B51;
}

.hs-input.invalid.error {
  border-color: #EF6B51;
}

.hs-error-msg {
  color: #EF6B51;
  margin-top: 0.35rem;
}

/* Submit button */

form input[type=submit],
form .hs-button {
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
}

/* Captcha */

.grecaptcha-badge {
  margin: 0 auto;
}
/* Table */
div[data-hs-responsive-table] {
  margin: 80px 0;
}

table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
  overflow-wrap: break-word;
  border: 1px solid #9E9E9E !important;
  border-radius: 4px;
}

/* Table cells */

td,
th {
  vertical-align: top;
  border: 1px solid #9E9E9E !important;
}

/* Table header */

thead th {
  vertical-align: bottom;
}

/* Components
Specific pieces of UI that are stylized. Typically used for global partial styling
*/

/* Header DND sections */

.header .dnd-section {
  padding: 0;
}

/* Header container */

.header {
  position: relative;
  z-index: 999;
}

.header__container {
  padding-top: 47px;
}

@media (min-width: 992px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #F6F6F7;
  }
  .header__container {
    padding-top: 0;
  }
  .header__inner {
    margin: 0 auto;
    max-width: 1088px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}

.header__pannel {
  background: #f6f6f6;
  border-top: solid 3px #000;
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 999;
}

.header__pannel-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  padding: 4px 20px;
}

.header__pannel-inner::after {
  content: "";
  display: block;
  width: calc(100% - 40px);
  height: 1px;
  background: #BDBDBD;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
}

.header__pannel-logo {
  width: 126px;
}

@media (min-width: 992px) {
  .header__pannel {
    padding: 0 30px;
    position: static;
  }
  .header__pannel-inner {
    /* height: 72px; */
    height: 144px;
    padding: 0;
    position: relative;
    transition: height .8s;
  }
  .header__pannel-inner.small {
    height: 72px;
  }
  .header__pannel-inner::after {
    width: 100%;
  }
  .header__pannel .header__link-mail {
    display: none;
  }
}
@media (max-width: 991px) {
  .header__pannel-logo {
    display: none;
  }
}

.header__column .header__inner {
  position: relative;
}

.header__column .header__inner:after {
  background: #bdbdbd;
  bottom: 0;
  height: 1px;
  left: 0;
  margin: 0 auto;
  position: absolute;
  right: 0;
  width: calc(100% - 40px);
}
@media (min-width: 992px) {
  .header__column {
    padding: 0 30px;
  }
  .header__column .header__inner:after {
    content: "";
    display: block;
    width: 100%;
  }
}
@media (max-width: 991px) {
  .header__column .header__search {
    display: none;
  }
  .header__column .header__link-mail {
    display: none;
  }
}

/* Navigation skipper */

.header__skip {
  height: 1px;
  left: -1000px;
  overflow: hidden;
  position: absolute;
  text-align: left;
  top: -1000px;
  width: 1px;
}

.header__skip:hover,
.header__skip:focus,
.header__skip:active {
  height: auto;
  left: 0;
  overflow: visible;
  top: 0;
  width: auto;
}

/* Logo */

.header__logo {
  max-width: 129px;
  overflow: hidden;
}

.header__logo a {
  display: block;
  line-height: 0;
}
@media (max-width: 991px) {
  .header__logo .logo-sp {
    display: block;
    width: 100%;
  }
}

@media (min-width: 992px) {
  .header__logo {
    /* max-width: 199px; */
    max-width: 344px;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    transition: max-width .8s;
  }
  .header__logo.small {
    max-width: 199px;
  }
  .header__logo .logo-pc {
    display: block;
    width: 100%;
  }
}

.header__logo img {
  max-width: 100%;
}

.header__logo .logo-company-name {
  font-size: 1.167rem;
  margin-top: 0.7rem;
}

/* メルマガリンク */
.header__link-mail {
  width: 36px;
  height: 36px;
}

.header__link-mail a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.header__link-mail svg {
  width: 20px;
}

@media (min-width: 992px) {
  .header__link-mail {
    margin: 0 -6px 0 -6px;
  }
}


/* Navigation */

#nav-toggle {
  display: none;
}

/* search toggle */
@media (min-width: 992px) {
  .header__search--toggle {
    cursor: pointer;
    position: relative;
  }

  .header__search--toggle.hide {
    display: none;
  }

  .header__search--toggle.open {
    display: block;
  }

  .header__search--toggle:after {
    display: none;
    font-size: 1.083rem;
    font-weight: 600;
    position: absolute;
    left: 40px;
    text-transform: uppercase;
    top: -10px;
  }
  .header__search--toggle.open:after {
    display: block;
    word-break: normal;
  }
  .header__search--toggle {
    background: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><path d="m16.6,18l-6.3-6.3c-.5.4-1.07.72-1.73.95-.65.23-1.34.35-2.07.35-1.82,0-3.35-.63-4.61-1.89-1.26-1.26-1.89-2.8-1.89-4.61S.63,3.15,1.89,1.89C3.15.63,4.68,0,6.5,0s3.35.63,4.61,1.89c1.26,1.26,1.89,2.8,1.89,4.61,0,.73-.12,1.43-.35,2.07-.23.65-.55,1.23-.95,1.73l6.3,6.3-1.4,1.4Zm-10.1-7c1.25,0,2.31-.44,3.19-1.31.87-.88,1.31-1.94,1.31-3.19s-.44-2.31-1.31-3.19c-.88-.87-1.94-1.31-3.19-1.31s-2.31.44-3.19,1.31c-.87.88-1.31,1.94-1.31,3.19s.44,2.31,1.31,3.19c.88.87,1.94,1.31,3.19,1.31Z"/></svg>') no-repeat center center;
    background-size: 18px;
    height: 24px;
    width: 24px;
  }

}
@media (max-width: 991px) {
  .header__search--toggle {
    display: none;
  }
}


/* Search bar */

.header__search {
  width: auto;
}

.header__search form {
  display: flex;
}

.header__search label {
  display: none;
}

.header__search .hs-search-field__input {
  height: 29px;
  padding: 0 0.7rem;
  background: none;
  border: none;
  border-bottom: solid 1px #000;
  border-radius: 0;
}

.header__search span {
  display: none;
}

.header__search button {
  flex-shrink: 0;
  width: 32px;
  height: 29px;
  background: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><path d="m16.6,18l-6.3-6.3c-.5.4-1.07.72-1.73.95-.65.23-1.34.35-2.07.35-1.82,0-3.35-.63-4.61-1.89-1.26-1.26-1.89-2.8-1.89-4.61S.63,3.15,1.89,1.89C3.15.63,4.68,0,6.5,0s3.35.63,4.61,1.89c1.26,1.26,1.89,2.8,1.89,4.61,0,.73-.12,1.43-.35,2.07-.23.65-.55,1.23-.95,1.73l6.3,6.3-1.4,1.4Zm-10.1-7c1.25,0,2.31-.44,3.19-1.31.87-.88,1.31-1.94,1.31-3.19s-.44-2.31-1.31-3.19c-.88-.87-1.94-1.31-3.19-1.31s-2.31.44-3.19,1.31c-.87.88-1.31,1.94-1.31,3.19s.44,2.31,1.31,3.19c.88.87,1.94,1.31,3.19,1.31Z"/></svg>') no-repeat center center;
  background-size: 18px;
}

.header__search .hs-search-field--open .hs-search-field__input {
  border-bottom: none;
  border-radius: 6px 6px 0 0;
  max-width: 100%;
}

.header__search .hs-search-field--open .hs-search-field__suggestions {
  background-color: #FFF;
  border: 2px solid #D1D6DC;
  border-radius: 0 0 6px 6px;
  border-top-width: 1px;
  position: absolute;
  width: 100%;
  z-index: 10;
}

.header__search .hs-search-field__suggestions li {
  border-top: 1px solid #D1D6DC;
  font-size: 0.875rem;
}

.header__search .hs-search-field__suggestions li a {
  color: #494A52;
  padding: 0.35rem 0.7rem;
  text-decoration: none;
  transition: background-color 0.3s;
}

.header__search .hs-search-field__suggestions #results-for {
  display: none;
}

@media (min-width: 992px) {

  .header__search {
    /* display: none; */
    width: 0;
    transition: width .5s;
    overflow: hidden;
    left: calc(100% + 5px);
    position: absolute;
    bottom: 0;
  }

  .header__search--wrap {
    position: relative;
  }

  .header__search.open {
    width: 160px;
    display: block;
    z-index: 2;
  }

  .header__search button {
    display: none;
  }

  .header__search.open .hs-search-field__input {
    width: 100%;
  }

  .header__search form {
    align-items: center;
    display: flex;
    flex-direction: row;
  }

  .header__search label {
    margin: 0 1rem 0 0;
  }

  .header__search .hs-search-field__input {
    width: auto;
  }
}

/* Mobile toggles */
@media (min-width: 992px) {
  .header__navigation {
    display: none;
  }
}
@media (max-width: 991px) {
  .header__navigation {
    width: 100%;
    overflow: auto;
    overscroll-behavior: contain;
    background-color: #f6f6f6;
    opacity: 0;
    visibility: hidden;
    transition: all .5s;
    left: 0;
    height: 100%;
    position: fixed;
    right: 0;
    top: 47px;
    padding: 0 0 47px;
  }

  .header__navigation-inner {
    padding: 26px 20px 24px;
  }
  
  .header__navigation.open {
    opacity: 1;
    visibility: visible;
    z-index: 2;
  }

  .header__navigation--toggle {
    cursor: pointer;
    position: relative;
  }

  .header__navigation--toggle.open span:first-child {
    transform: rotate(45deg) translate(5.5px, 5.5px);
  }

  .header__navigation--toggle.open span:nth-child(2) {
    transform: translateX(-100%);
    opacity: 0;
  }

  .header__navigation--toggle.open span:nth-child(3) {
    transform: translateX(-100%);
    opacity: 0;
  }

  .header__navigation--toggle.open span:last-child {
    transform: rotate(-45deg) translate(5.5px, -5.5px);
    width: 18px;
  }

  .header__navigation--toggle {
    height: 24px;
    width: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    padding: 0 3px;
  }

  .header__navigation--toggle span {
    display: block;
    width: 100%;
    height: 2px;
    background: #000;
    transition: all .5s;
  }

  .header__navigation--toggle span:last-child {
    width: 9px;
  }
}

.header__navigation-menu {
  padding: 22px 14.5px 21px;
  margin: 0;
  list-style-type: none;
}

.header__navigation-menu li + li {
  margin-top: 10px;
}

.header__navigation-menu li a {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  color: #000;
}

.category {
  padding: 8px 0;
}

.category__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 23.75px;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.category__list li {
  font-size: min(2.898550724vw,1.2rem);
  line-height: 1.6;
}

.category__list li a {
  display: block;
  color: #000;
  font-weight: 700;
  padding: 13px 0;
}
@media (min-width: 992px) {
  .category {
    padding: 18px 0;
  }
  .category__list {
    gap: 0;
  }
  .category__list li {
    font-size: 1.3rem;
  }
  .category__list li + li {
    border-left: 1px solid #000;
  }
  .category__list li a {
    padding: 0 24px;
  }
  .category__list li a:hover {
    color: #2b3bad;
  }
}

.header__navigation-item {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.header__navigation-item h2 {
  padding: 35px 0;
  margin: 0;
  position: relative;
}

.header__navigation-item h2::before,
.header__navigation-item h2::after {
  content: "";
  display: block;
  width: 14px;
  height: 2px;
  background: #000;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5px;
  margin: auto;
  transition: transform .3s;
}

.header__navigation-item h2::after {
  transform: rotate(90deg);
}

.header__navigation-item h2.open::before {
  transform: rotate(180deg);
}

.header__navigation-item h2.open::after {
  opacity: 0;
}

.header__navigation-contents {
  padding: 0 15px 24px;
  display: none;
}

.header__mailmagazine {
  margin: 24px auto 0;
}

.header__mailmagazine .form-title {
  display: none;
}

.header__megamenu--toggle {
  display: none;
}
@media (min-width: 992px) {
  .header__megamenu--toggle {
    display: flex;
    align-items: center;
    gap: 20px;
    list-style-type: none;
    padding: 0;
    margin: 8px 4px 0 0;
  }
  .header__megamenu--toggle li a {
    display: flex;
    align-items: center;
    font-size: 1.3rem;
    font-weight: 700;
    color: #000;
    line-height: 1.6;
    gap: 4px;
    transition: color .3s;
  }
  .header__megamenu--toggle li a::after {
    content: "";
    display: block;
    width: 8px;
    height: 5px;
    background: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 4.95"><path d="m.94,0l3.06,3.06L7.06,0l.94.95-4,4L0,.95l.94-.95Z"/></svg>') no-repeat center center;
    background-size: 100% 100%;
  }
  .header__megamenu--toggle li a:hover {
    color: #2b3bad;
  }
}

.header__megamenu {
  display: none;
}
@media (min-width: 992px) {
  body.open {
    height: 100%;
    overflow: hidden;
  }
  .header__megamenu {
    display: block;
    background: #f6f6f6;
    position: fixed;
    left: 0;
    right: 0;
    margin: 0 auto;
    opacity: 0;
    visibility: hidden;
  }

  .header__megamenu.open {
    opacity: 1;
    visibility: visible;
  }

  .header__megamenu.open + .header__megamenu--bg {
    display: block;
  }

  .header__megamenu--bg {
    content: "";
    display: none;
    height: 100vh;
    background: #000;
    opacity: 0.3;
    position: fixed;
    left: 0;
    right: 0;
    margin: auto;
    z-index: -1;
  }

  .header__megamenu-inner {
    max-width: 1088px;
    margin: 0 auto;
    padding: 40px 6.5625% 80px;
    position: relative;
  }

  .header__megamenu-item {
    display: none;
  }

  .header__megamenu-item.show {
    display: block;
  }

  .header__megamenu h2 {
    margin: 0 0 44px;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    gap: 12px;
  }

  .header__megamenu h2 strong {
    font-size: 2.4rem;
  }

  .header__megamenu h2 span {
    font-size: 1.3rem;
  }

  .header__megamenu--close {
    width: 24px;
    height: 24px;
    position: absolute;
    right: 0;
    top: 0;
    cursor: pointer;
    transition: opacity .3s;
  }
  .header__megamenu--close:hover {
    opacity: .7;
  }
  .header__megamenu--close::before,
  .header__megamenu--close::after {
    content: "";
    display: block;
    width: 18px;
    height: 2px;
    background: #000;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
  .header__megamenu--close::after {
    transform: rotate(-45deg);
  }

  .header__megamenu .c-bnr span {
    margin: 7px 0 0;
  }

  .header__megamenu .c-bnr span:after {
    margin: 7px 7px 0 0;
  }
  
}
@media (min-width: 1280px) {
  .header__megamenu-inner {
    padding: 40px 74px 80px;
  }
}
.footer {
  margin: 40px 0 0;
}

@media (min-width: 768px) {
  .footer {
    margin: 120px 0 0;
    padding: 0 30px;
  }
}

.footer__all-tags {
  padding: 40px 0 0;
  margin: 0 20px 40px;
  border-top: 1px solid #000;
}

.footer__all-tags h2 {
  margin: 0 0 30px;
}

.footer__all-tags ul {
  margin: 0 0 -12px;
}

.footer__all-tags ul li {
  margin: 0 8px 12px 0;
}

@media (min-width: 768px) {
  .footer__all-tags {
    padding: 35px 0 0;
    margin: 0 auto 120px;
    max-width: 1088px;
  }
  .footer__all-tags h2 {
    margin: 0 0 24px;
  }
  .footer__all-tags ul {
    margin: 0 0 -8px;
  }
  .footer__all-tags ul li {
    margin: 0 8px 8px 0;
  }
}

/* form */

.footer__mailmagazine {
  margin: 0 24px 60px;
}

@media (min-width: 768px) {
  .footer__mailmagazine {
    margin: 0 auto 80px;
  }
}

/* recruit */
.footer__recruit {
  background: #424242;
  padding: 40px 0;
}

.footer__recruit .l-column {
  margin: 0 24px;
}

.footer__recruit h2 {
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  color: #fff;
  margin: 0 0 22px;
}

.footer__recruit h2 span {
  color: #fff;
}

.footer__recruit a {
  color: #BDBDBD;
}

.footer__recruit .c-bnr-list {
  gap: 16px;
}

.footer__recruit ul.c-bnr-list li {
  width: 260px;
}

@media (max-width: 767px) {
  .footer__recruit span br {
    display: none;
  }
  .footer__recruit ul.c-bnr-list li {
    width: 100%;
  }
  .footer__logo.u-show-sp img {
    width: 100%;
  }
}

@media (min-width: 768px) {
  .footer__recruit {
    padding: 80px 30px;
    margin: 0 -30px;
  }
  .footer__recruit .l-column {
    margin: 0 auto;
  }
  .footer__recruit h2 {
    gap: 12px;
    margin: 0 0 26px;
  }
  .footer__recruit h2 strong {
    font-size: 2.6rem;
  }
  .footer__recruit a {
    transition: opacity .3s;
  }
  .footer__recruit a:hover {
    opacity: .7;
  }
}

/* pagetop */
.footer__pagetop {
  background: #424242;
  padding: 30px 0;
}

.footer__pagetop a {
  width: 92px;
  height: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-family: 'Poppins', sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  color: #fff;
  margin: 0 auto;
}
.footer__pagetop a::before {
  content: "";
  display: block;
  width: 12px;
  height: 7px;
  background: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 7.41"><path fill="%23fff" d="m1.41,7.41L6,2.83l4.59,4.58,1.41-1.41L6,0,0,6l1.41,1.41Z"/></svg>') no-repeat center center;
  background-size: 100% auto;
}

.footer__pagetop--home {
  background: none;
}
.footer__pagetop--home a {
  color: #212121;
}
.footer__pagetop--home a::before {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 7.41"><path fill="%23212121" d="m1.41,7.41L6,2.83l4.59,4.58,1.41-1.41L6,0,0,6l1.41,1.41Z"/></svg>');
}
@media (min-width: 768px) {
  .footer__pagetop {
    padding: 52px 30px 44px;
    margin: 0 -30px;
  }
  .footer__pagetop a {
    margin: 0 0 0 auto;
    transition: opacity .3s;
  }

  .footer__pagetop a:hover {
    opacity: .7;
  }
}
/* content */
.footer__content {
  background: #000;
  padding: 40px 0 16px;
}

@media (min-width: 768px) {
  .footer__content {
    padding: 40px 30px;
    margin: 0 -30px;
  }
  .footer__content a:hover {
    text-decoration: underline;
  }
}

.footer__column {
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .footer__column {
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    max-width: 1040px;
  }
}


.footer__pannel {
  order: 1;
}

@media (min-width: 768px) {
  .footer__pannel {
    width: 209px;
    margin: 0 0 40px;
  }
}

.footer__logo {
  width: 100%;
  max-width: 272px;
  margin: 0 auto 45px;
}

.footer__logo a {
  display: block;
}

.footer__logo svg {
  display: block;
}

.footer__logo .logo path {
  fill: #fff;
}

.footer__logo .logo .cls-3 {
  fill: #fff;
}

.footer__logo .logo .cls-4 {
  stroke: #fff;
}

@media (min-width: 768px) {
  .footer__logo {
    margin: 0 0 35px;
  }
}

.footer__snav {
  display: flex;
  justify-content: center;
  gap: 16px;
  list-style-type: none;
  margin: 49px 0 0;
  padding: 9px 0 0;
  border-top: 1px solid #616161;
}

.footer__snav li a {
  color: #eee;
  font-size: 1.0rem;
  line-height: 1.6;
}

@media (min-width: 768px) {
  .footer__snav {
    flex-direction: column;
    gap: 11px;
    padding: 0 20px;
    margin: 0;
    border-top: none;
  }

  .footer__snav li a {
    font-size: 1.2rem;
  }
}

.footer__navigation {
  padding: 0 40px;
  margin: 0 0 40px;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.footer__navigation dl {
  margin: 0;
}

.footer__navigation dl dt {
  color: #BDBDBD;
  margin: 0 0 12px;
}

.footer__navigation dl dt span {
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.1;
}

.footer__navigation dl dt small {
  display: block;
  font-size: 1.0rem;
}

.footer__navigation dl dd {
  margin: 0;
}

.footer__navigation dl dd dl {
  margin-top: 14px;
}

.footer__navigation dl dd dt {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 8px;
}

.footer__navigation dl dd dt::before {
  content: '';
  display: block;
  width: 12px;
  height: 1px;
  background: #9E9E9E;
}

.footer__navigation-list {
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.footer__navigation-list li + li {
  margin: 6px 0 0;
}
.footer__navigation-list li a {
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.6;
}

@media (min-width: 768px) {
  .footer__navigation {
    flex-direction: row;
    align-items: flex-start;
    gap: 50px;
    order: 2;
    padding: 5px 5px 0 0;
    margin: 0 0 33px;
  }

  .footer__navigation > dl {
    padding: 0 0 0 20px;
    position: relative;
    border-left: 1px solid #757575;
  }

  .footer__navigation dl dt {
    margin: 0 0 18px;
  }
  .footer__navigation dl dt span {
    letter-spacing: 0;
  }
  .footer__navigation > dl > dt span {
    margin: 0 0 8px;
  }

  .footer__navigation-list li+li {
    margin: 18px 0 0;
  }

  .footer__navigation-list li a {
    font-size: 1.6rem;
  }
  .footer__navigation dl dd dl {
    margin-top: 20px;
  }
  .footer__navigation dl dd dt {
    margin: 0 0 18px;
  }
}


.footer__sns {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 15px;
}

.footer__sns span {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}

.footer__sns a {
  display: block;
  line-height: 0;
}

.footer__sns svg {
  width: 19px;
  height: 19px;
}

@media (min-width: 768px) {
  .footer__sns {
    order: 3;
    width: 50%;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 14px;
    padding: 0 0 0 20px;
  }
  .footer__sns span {
    font-size: 1.4rem;
  }
}

.footer__copyright {
  margin: 24px 0 0;
  font-size: 1.0rem;
  line-height: 1.6;
  color: #757575;
  text-align: center;
  order: 1;
}
@media (min-width: 768px) {
  .footer__copyright {
    order: 4;
    width: 50%;
    margin: 5px 0 0;
    font-size: 1.2rem;
    text-align: right;
  }
}

/* homeのみ about */
.footer__about {
  text-align: center;
  padding: 40px 0;
}

.footer__about-logoset {
  margin: 0 0 35px;
}

.footer__about-logo {
  width: 290px;
  margin: 0 auto 14px;
}

.footer__about-powerd {
  width: 145px;
  margin: 0 auto;
}

.footer__about p {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2.5;
  margin: 0 0 35px;
}

.footer__about p:last-child {
  margin: 0;
}

@media (min-width: 768px) {
  .footer__about {
    padding: 80px 0;
  }
  .footer__about-logoset {
    margin: 0 0 33px;
  }
  .footer__about-logo {
    width: 334px;
    margin: 0 auto 23px;
  }
  .footer__about-powerd {
    width: 169px;
    margin: 0 auto;
  }
  .footer__about p {
    font-size: 1.6rem;
    margin: 0 0 40px;
  }
  .footer p:first-of-type {
    margin-bottom: 0;
  }
}

@media (max-width: 767px) {
  .hs-blog-listing .footer {
    margin-top: 64px;
  }
  .hs-blog-post .footer {
    margin-top: 80px;
  }
}
/* Menu and simple menu */

.hs-menu-wrapper ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Horizontal menu */

.hs-menu-wrapper.hs-menu-flow-horizontal .hs-menu-children-wrapper {
  flex-direction: column;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-horizontal ul {
    flex-direction: column;
  }
}

/* Vertical menu */

.hs-menu-wrapper.hs-menu-flow-vertical ul {
  flex-direction: column;
}

/* Flyouts */

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts ul {
  display: inline-flex;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-vertical ul {
    display: flex;
  }
}

.hs-menu-wrapper.flyouts .hs-item-has-children {
  position: relative;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper {
  left: -9999px;
  opacity: 0;
  position: absolute;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper a {
  display: block;
  white-space: nowrap;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 0;
  opacity: 1;
  top: 100%;
}

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 100%;
  opacity: 1;
  top: 0;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.flyouts .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
    left: 0;
    opacity: 1;
    position: relative;
    top: auto;
  }
}

/* CTA, logo, and rich text images */

.hs_cos_wrapper_type_cta img,
.hs_cos_wrapper_type_logo img,
.hs_cos_wrapper_type_rich_text img {
  height: auto;
  max-width: 100%;
}

.hs-embed-wrapper {
  max-width: 100% !important;
  margin: 40px 0 !important;
}

@media screen and (min-width: 768px) {
  .hs-embed-wrapper {
    margin: 80px 0 !important;
  }
}
.c-breadcrumbs {
  padding: 3px 30px;
}
.c-breadcrumbs__list{
  gap: 14px;
  list-style-type: none;
  padding: 0;
  margin: 0;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.c-breadcrumbs__list li + li::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 8px;
  background: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 4.94 8"><path fill="%239e9e9e" d="m0,7.05l3.05-3.05L0,.94l.94-.94,4,4L.94,8l-.94-.95Z"/></svg>') no-repeat center center;
  background-size: 100% 100%;
  margin: 0 10px 0 0;
}

.c-breadcrumbs__list li {
  display: inline;
  font-size: 1.3rem;
  line-height: 1.6;
  color: #424242;
}

.c-breadcrumbs__list li + li {
  margin: 0 0 0 10px;
}

.c-breadcrumbs__list li a {
  color: #424242;
}

@media (max-width: 767px) {
  .c-breadcrumbs {
    display: none;
  }
}
.c-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  font-size: 1.4rem;
  font-weight: 700;
  background: #000;
  border: solid 1px #000;
  border-radius: 4px;
  color: #fff;
}

.c-btn--secondary {
  background: #fff;
  color: #000;
  width: 167px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .c-btn {
    height: 58px;
    font-size: 1.6rem;
    transition: background-color .3s;
  }
  .c-btn:hover {
    background: #424242;
    color: #fff;
  }
  .c-btn--secondary {
    width: 346px;
  }
}
.c-headline {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .c-headline {
    font-size: 2.8rem;
  }
}

.c-headline-en {
  display: flex;
  align-items: center;
  gap: 16px;
  line-height: 1;
}

.c-headline-en strong {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 2.0rem;
  letter-spacing: 0.05em;
}

.c-headline-en span {
  font-size: 1.2rem;
  font-weight: 400;
  color: #757575;
}

@media screen and (min-width: 768px) {
  .c-headline-en strong {
    font-size: 3.0rem;
  }
}
.c-tag {
  display: inline-block;
  background: #fff;
  border: solid 1px rgba(0,0,0,.1);
  color: #757575;
}

@media screen and (min-width: 768px) {
  a.c-tag {
    transition: color .3s, border-color .3s;
  }
  a.c-tag:hover {
    border-color: #2B3BAD;
  }
}

.c-tag--m {
  font-size: 1.0rem;
  line-height: 1.5;
  padding: 3px 8px;
  border-radius: 23px;
}
@media screen and (min-width: 768px) {
  .c-tag--m {
    font-size: 1.2rem;
    line-height: 1.25;
    padding: 5px 12px;
    border-radius: 27px;
  }
}

.c-tag--s {
  font-size: 1.0rem;
  line-height: 1.5;
  padding: 3px 8px;
  border-radius: 23px;
}

.c-tag-list {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  padding: 0;
}

.c-tag-list li {
  list-style-type: none;
  margin: 0 8px 8px 0;
}

.c-tag-list li a {
  display: block;
  padding: 5px 12px;
  font-size: 1.2rem;
  line-height: 1.25;
  border-radius: 27px;
}

@media screen and (min-width: 768px) {
  .c-tag-list li a {
    font-size: 1.3rem;
    line-height: 1.2;
  }
}
.c-post-meta {
  display: flex;
  align-items: center;
}

.c-post-meta span {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.6;
  color: #757575;
}

.c-post-meta time {
  display: flex;
  align-items: center;
  margin: 0 0 0 12px;
  font-family: 'Poppins', sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.6;
  color: #BDBDBD;
}

.c-post-meta time::before {
  content: "";
  display: block;
  width: 1px;
  height: 12px;
  background: #9E9E9E;
  margin: 0 12px 0 0;
}
.c-attention-tags {
}

.c-attention-tags dl {
  margin: 0 0 24px;
}

.c-attention-tags dl:last-child {
  margin: 0;
}

.c-attention-tags dl dt {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.6;
  display: flex;
  align-items: center;
  margin: 0 0 16px;
}

.c-attention-tags dl dt::before {
  content: "";
  display: block;
  width: 16px;
  height: 1px;
  background: #000;
  flex-shrink: 0;
  margin: 0 8px 0 0;
}

.c-attention-tags dl dd {
  margin: 0;
}

.c-attention-tags ul {
  margin: 0 0 -8px;
}
.c-bnr-list {
  display: flex;
  flex-direction: column;
  gap: 34px;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  list-style-type: none;
}

.c-bnr-list li {
  width: 296px;
  margin-bottom: 20px;
}



.c-bnr-list.recruit li {
  width: 215px;
  margin-bottom: 20px;
}

@media (min-width: 768px) {
  .c-bnr-list {
    flex-direction: row;
    justify-content: left;
    gap: 20px;
  }

  .c-bnr-list--col3 {
    gap: 20px;
  }
}

.c-bnr {
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  color: #000;
}
.c-bnr p {
  color: #757575;
  font-size: 1.2rem;
  margin: 0 0 12px;
}
.c-bnr span {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 5px 0 0;
}
.c-bnr span::after {
  content: "";
  display: block;
  width: 10px;
  height: 11px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10.5 10.5"><rect fill="none" stroke="%23757575" x=".5" y="3" width="7" height="7"/><path fill="none" stroke="%23757575" d="m2,.5h8v7"/></svg>') no-repeat center center;
  flex-shrink: 0;
}

@media (min-width: 768px) {
  .c-bnr span {
    justify-content: space-between;
    align-items: flex-start;
    gap: 11px;
  }
  .c-bnr span::after {
    margin-top: 7px;
  }
  .c-bnr img {
    transition: opacity .3s;
  }
  .c-bnr:hover img {
    opacity: .7;
  }
  .c-bnr-list li {
    margin-bottom: 20px;
}
}
.c-mailmagazine {
  max-width: 736px;
  min-height: 279px;
  padding: 30px 24px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .c-mailmagazine {
    padding: 30px 160px 28px;
    min-height: 263px;
  }
}

.c-mailmagazine h2 {
  flex-direction: column;
  gap: 8px;
  text-align: center;
}

.c-mailmagazine h2 strong {
  display: block;
  line-height: 1;
  letter-spacing: 0.05em;
}

.c-mailmagazine h2 span {
  display: block;
}

.c-mailmagazine__lead {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  margin: 0 0 10px;
}

@media (min-width: 768px) {
  .c-mailmagazine__lead br {
    display: none;
  }
}

.c-mailmagazine form {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 0;
}

.c-mailmagazine form > div:not(.hs-fieldtype-text,.hs_submit) {
  width: 100%;
}

.c-mailmagazine .hs-main-font-element {
  margin: 0;
}

.c-mailmagazine .hs-main-font-element h2 {
  color: #757575;
  font-size: 1.1rem;
  line-height: 1;
  font-weight: 400;
  margin: 0 0 14px;
}

.c-mailmagazine .hs-main-font-element h2 strong {
  font-family: "Poppins", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  margin: 0 0 8px;
}
@media (min-width: 768px) {
  .c-mailmagazine .hs-main-font-element h2 {
    font-size: 1.2rem;
  }
  .c-mailmagazine .hs-main-font-element h2 strong {
    font-size: 2.6rem;
    margin: 0 0 12px;
  }
}

.c-mailmagazine .hs-main-font-element p {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  margin: 0;
  text-align: center;
}

@media (min-width: 768px) {
  .c-mailmagazine .hs-main-font-element p br {
    display: none;
  }
}

.c-mailmagazine .hs-fieldtype-text {
  display: flex;
  align-items: center;
  margin-bottom: 0;
  flex: 1;
  height: 44px;
  position: relative;
}

.c-mailmagazine .hs-fieldtype-text::after {
  content: "";
  display: block;
  width: calc(100% + 50px);
  height: 1px;
  background: #000;
  position: absolute;
  bottom: 0;
  left: 0;
}

.c-mailmagazine .hs-fieldtype-text .input {
  width: 100%;
  padding: 0 0 0 10px;
}

.c-mailmagazine .hs-fieldtype-text .hs-input {
  width: 100%;
  height: 23px;
  border: none;
  font-size: 1.4rem;
}

.c-mailmagazine .hs-fieldtype-text .hs-input:focus {
  outline: none;
}

.c-mailmagazine .hs-fieldtype-text label {
  display: none;
}

@media (min-width: 768px) {
  .c-mailmagazine .hs-fieldtype-text {
    height: 48px;
  }
  .c-mailmagazine .hs-fieldtype-text .hs-input {
    height: 26px;
    font-size: 1.6rem;
  }
}

.c-mailmagazine .hs-submit {
  width: 50px;
  height: 44px;
  line-height: 0;
  position: relative;
}

.c-mailmagazine .hs-submit::before {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% - 16px);
  background: #000;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.c-mailmagazine .hs-submit .actions {
  height: 100%;
}

.c-mailmagazine .hs-submit .hs-button {
  width: 100%;
  height: 100%;
  background: none;
  text-indent: -999px;
  overflow: hidden;
  background: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m8,16l-1.43-1.4,5.6-5.6H0v-2h12.18L6.57,1.4l1.43-1.4,8,8-8,8Z"/></svg>') no-repeat right 14px center; 
  background-size: 16px 16px;
  padding: 0;
  border: none;
}

.c-mailmagazine .hs_error_rollup {
  display: none;
}

@media (min-width: 768px) {
  .c-mailmagazine .hs-submit {
    width: 52px;
    height: 48px;
  }
}

.c-mailmagazine .legal-consent-container {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
  gap: 15px;
  order: 2;
}

.c-mailmagazine .legal-consent-container > div {
  flex-shrink: 0;
}

@media (min-width: 768px) {
  .c-mailmagazine .legal-consent-container {
    gap: 24px;
    margin-top: -5px;
  }
}

.c-mailmagazine .hs-form-booleancheckbox input {
  display: none;
}

.c-mailmagazine .hs-form-booleancheckbox input:checked + span::before {
  border-color: #000;
}

.c-mailmagazine .hs-form-booleancheckbox input:checked + span::after {
  display: block;
}

.c-mailmagazine .hs-form-booleancheckbox span {
  padding: 0 0 0 30px;
  position: relative;
}

.c-mailmagazine .hs-form-booleancheckbox span::before,
.c-mailmagazine .hs-form-booleancheckbox span::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}

.c-mailmagazine .hs-form-booleancheckbox span::before {
  width: 15px;
  height: 15px;
  border: solid 2px #757575;
  border-radius: 2px;
  left: 2.5px;
}

.c-mailmagazine .hs-form-booleancheckbox span::after {
  display: none;
  width: 7px;
  height: 5px;
  border-left: solid 2px #000;
  border-bottom: solid 2px #000;
  transform: rotate(-45deg);
  left: 7px;
  top: -2px;
}

@media (min-width: 768px) {
  .c-mailmagazine .hs-form-booleancheckbox span::after {
    left: 6px;
  }
}

.c-mailmagazine .legal-consent-container > .hs-richtext {
  flex: 1;
  margin: 0;
}

.c-mailmagazine .hs-richtext p {
  margin: 0;
  line-height: 1.6;
}

.c-mailmagazine .legal-consent-container .field.hs-form-field {
  margin-bottom: 0;
}

.c-mailmagazine .hs-dependent-field p {
  font-size: 1.4rem;
  font-weight: 700;
  white-space: nowrap;
  margin: 0;
}

.c-mailmagazine .hs-form-booleancheckbox label {
  display: flex;
  align-items: center;
  gap: 12.5px;
  margin: 0;
}

.c-mailmagazine .legal-consent-container .hs-form-booleancheckbox-display>span {
  margin: 0;
  cursor: pointer;
}

.c-mailmagazine .hs-form-required {
  display: none;
}

.c-mailmagazine .legal-consent-container .hs-form-booleancheckbox-display input {
  float: none;
  margin: 0;
}

@media (min-width: 768px) {
  .c-mailmagazine .hs-richtext a {
    text-decoration: underline;
  }
}

.c-mailmagazine .submitted-message::before {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><path fill="%232b3bad" d="m29.12,11.62l1.76,1.76-14.63,14.63-7.13-7.13,1.76-1.76,5.37,5.37,12.87-12.87ZM20,0c1.84,0,3.61.23,5.31.7,1.71.47,3.3,1.14,4.79,2.01,1.48.87,2.83,1.91,4.04,3.12,1.21,1.21,2.25,2.57,3.12,4.06.87,1.5,1.54,3.09,2.01,4.79.47,1.69.71,3.46.72,5.31,0,1.84-.23,3.61-.7,5.31-.47,1.71-1.14,3.3-2.01,4.79-.87,1.48-1.91,2.83-3.12,4.04-1.21,1.21-2.57,2.25-4.06,3.12-1.5.87-3.09,1.54-4.79,2.01-1.69.47-3.46.71-5.31.72-1.84,0-3.61-.23-5.31-.7-1.71-.47-3.3-1.14-4.79-2.01-1.48-.87-2.83-1.91-4.04-3.12-1.21-1.21-2.25-2.57-3.12-4.06-.87-1.5-1.54-3.09-2.01-4.77-.47-1.68-.71-3.46-.72-5.33,0-1.84.23-3.61.7-5.31.47-1.71,1.14-3.3,2.01-4.79.87-1.48,1.91-2.83,3.12-4.04,1.21-1.21,2.57-2.25,4.06-3.12,1.5-.87,3.09-1.54,4.77-2.01,1.68-.47,3.46-.71,5.33-.72Zm0,37.5c1.6,0,3.14-.21,4.63-.62s2.88-1,4.18-1.76c1.3-.76,2.49-1.67,3.55-2.75s1.98-2.26,2.73-3.54c.76-1.28,1.35-2.67,1.78-4.18.43-1.51.64-3.06.62-4.65,0-1.6-.21-3.14-.62-4.63-.42-1.48-1-2.88-1.76-4.18-.76-1.3-1.67-2.49-2.75-3.55-1.08-1.07-2.26-1.98-3.54-2.73-1.28-.76-2.67-1.35-4.18-1.78-1.51-.43-3.06-.64-4.65-.62-1.6,0-3.14.21-4.63.62-1.48.42-2.88,1-4.18,1.76-1.3.76-2.49,1.67-3.55,2.75s-1.98,2.26-2.73,3.54c-.76,1.28-1.35,2.67-1.78,4.18-.43,1.51-.64,3.06-.62,4.65,0,1.6.21,3.14.62,4.63.42,1.48,1,2.88,1.76,4.18.76,1.3,1.67,2.49,2.75,3.55,1.08,1.07,2.26,1.98,3.54,2.73,1.28.76,2.67,1.35,4.18,1.78,1.51.43,3.06.64,4.65.62Z"/></svg>') no-repeat center center;
  background-size: 100% 100%;
  margin: 0 auto 24px;
}

.c-mailmagazine .submitted-message p {
  text-align: center;
  font-size: 1.1rem;
  font-weight: 400;
  color: #757575;
  line-height: 1;
  margin: 0;
}

.c-mailmagazine .submitted-message p strong {
  font-family: 'Poppins', sans-serif;
  font-size: 2.0rem;
  font-weight: 500;
  color: #2B3BAD;
  line-height: 1;
}

.c-mailmagazine .submitted-message p + p {
  margin-top: 8px;
}

@media (min-width: 768px) {

  .c-mailmagazine .submitted-message p strong {
    font-size: 2.6rem;
  }

  .c-mailmagazine .submitted-message p + p {
    margin-top: 8px;
  }

}

/* Utilities
Helper classes with ability to override anything that comes before it
*/

/* For content that needs to be visually hidden but stay visible for screenreaders */

.show-for-sr {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

@media (max-width: 767px) {
  .show-for-sr--mobile {
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    height: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
  }
}


@media (max-width: 767px) {
  .u-show-pc {
    display: none;
  }
}
@media (min-width: 768px) {
  .u-show-sp {
    display: none;
  }
}


/* template */
/* Blog post */
.hs-blog-post .content-wrapper {
  margin: 0 20px;
}
@media screen and (min-width: 768px) {
  .hs-blog-post .content-wrapper {
    margin: 0 auto;
  }
}

.blog-post {
  margin: 0 auto;
  max-width: 736px;
  padding: 32px 0 40px !important;
}
@media screen and (min-width: 768px) {
  .blog-post {
    padding: 57px 0 160px !important;
  }
}

.blog-post ul {
  list-style-type: none;
  padding: 0;
}

/* ブログヘッダー */
.blog-post__head {
  margin: 0 0 35px;
}
@media screen and (min-width: 768px) {
  .blog-post__head {
    margin: 0 0 68px;
  }
}

/* ブログタイトル */
.blog-post h1 {
  font-size: 1.8rem;
  line-height: 1.6;
  margin: 0 0 10px;
}
@media screen and (min-width: 768px) {
  .blog-post h1 {
    font-size: 2.8rem;
    margin: 0 0 12px;
  }
}

.blog-post h1 .blog-post__sub-title {
  display: block;
  font-size: 1.4rem;
  margin: 10px 0 0;
}
@media screen and (min-width: 768px) {
  .blog-post h1 .blog-post__sub-title {
    font-size: 2.0rem;
  }
}

/* ブログ情報 */
.blog-post__meta {
  margin: 0 0 12px;
}

@media screen and (min-width: 768px) {
  .blog-post__meta span {
    font-size: 1.6rem;
  }
  .blog-post__meta time {
    font-size: 1.4rem;
    line-height: 1;
    margin: 0 0 0 16px;
  }
  .blog-post__meta time::before {
    height: 15px;
    margin: 0 16px 0 0;
  }
}

/* タグ */
.blog-post__tags {
  font-size: 0;
  letter-spacing: 0;
  margin: 0 0 4px;
}

.blog-post__tag-link {
  margin: 0 4px 4px 0;
}

@media screen and (min-width: 768px) {
  .blog-post__tags {
    margin: 0 0 4px;
  }
  .blog-post__tag-link {
    margin: 0 8px 8px 0;
  }
}

/* 著者 */
.blog-post__author {
  margin: 0 0 10px;
  font-size: 1.2rem;
  color: #757575;
}

@media screen and (min-width: 768px) {
  .blog-post__author {
    margin: 0 0 12px;
  }
}

/* シェア */
.blog-post__share {
  display: flex;
  align-items: center;
}

.blog-post__share-title {
  font-family: 'Poppins', sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1;
  color: #757575;
  margin: 0 15px 0 0;
}
@media screen and (min-width: 768px) {
  .blog-post__share-title {
    margin: 0 13px 0 0;
  }
}

.blog-post__share-list {
  display: flex;
  align-items: center;
  margin: 0;
  gap: 14px;
}
@media screen and (min-width: 768px) {
  .blog-post__share-list {
    gap: 16px;
  }
}

.blog-post__share-list li {
  width: 18px;
}

.blog-post__share-icon {
  display: block;
  width: 100%;
  height: 18px;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
}

.blog-post__share-icon.icon-fb {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 17.89"><path fill="%23424242" d="m18,9C18,4.03,13.97,0,9,0S0,4.03,0,9c0,4.49,3.29,8.22,7.59,8.89v-6.29h-2.29v-2.6h2.29v-1.98c0-2.26,1.34-3.5,3.4-3.5.98,0,2.01.18,2.01.18v2.21h-1.13c-1.12,0-1.47.69-1.47,1.41v1.69h2.5l-.4,2.6h-2.1v6.29c4.3-.68,7.59-4.4,7.59-8.89Z"/></svg>');
}
.blog-post__share-icon.icon-linkedin {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><path fill="%23424242" d="m10,18h-4V6h4v2c.42-.54.96-.97,1.56-1.28.61-.3,1.28-.47,1.96-.49,1.19,0,2.33.49,3.17,1.33.84.85,1.31,1.99,1.3,3.18v7.25h-4v-6.75c-.08-.54-.35-1.03-.76-1.39-.41-.36-.94-.55-1.49-.55-.24,0-.48.06-.71.17-.22.1-.42.25-.58.43-.16.18-.29.39-.37.63-.08.23-.11.48-.09.72v6.75Zm-6,0H0V6h4v12ZM2,4c-.53,0-1.04-.21-1.41-.59-.38-.38-.59-.88-.59-1.41S.21.96.59.59c.38-.38.88-.59,1.41-.59s1.04.21,1.41.59c.38.38.59.88.59,1.41s-.21,1.04-.59,1.41c-.38.38-.88.59-1.41.59Z"/></svg>');
}
.blog-post__share-icon.icon-tw {
  background-image: url('data:image/svg+xml;utf8,<svg width="1200" height="1227" viewBox="0 0 1200 1227" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z" fill="%23424242"/></svg>');
}
.blog-post__share-icon.icon-line {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><path fill="%23424242" d="m14.1,18H3.9c-2.15,0-3.9-1.75-3.9-3.9V3.9C0,1.75,1.75,0,3.9,0h10.2c2.15,0,3.9,1.75,3.9,3.9v10.2c0,2.15-1.75,3.9-3.9,3.9Zm1.42-9.79c0-2.93-2.94-5.32-6.55-5.32s-6.55,2.39-6.55,5.32c0,2.63,2.33,4.83,5.48,5.25.21.05.5.14.58.32.07.16.04.42.02.59,0,0-.08.46-.09.56-.03.16-.13.65.57.35.7-.29,3.77-2.22,5.15-3.81.95-1.04,1.4-2.1,1.4-3.27Zm-7.89-1.42h-.46c-.07,0-.13.06-.13.13v2.86c0,.07.06.13.13.13h.46c.07,0,.13-.06.13-.13v-2.86c0-.07-.06-.13-.13-.13Zm3.16,0h-.46c-.07,0-.13.06-.13.13v1.7l-1.31-1.77s0,0-.01-.01h0s0,0,0,0c0,0,0,0,0,0,0,0,0,0,0,0t0,0s0,0,0,0c0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0h0s0,0,0,0h-.47c-.07,0-.13.06-.13.13v2.86c0,.07.06.13.13.13h.46c.07,0,.13-.06.13-.13v-1.69l1.31,1.77s.02.02.03.03c0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0s0,0,0,0c0,0,0,0,0,0,0,0,0,0,0,0h0s.02,0,.03,0h.46c.07,0,.13-.06.13-.13v-2.86c0-.07-.05-.13-.12-.13Zm-4.27,2.4h-1.25v-2.27c0-.07-.06-.13-.13-.13h-.46c-.07,0-.13.06-.13.13v2.86s.01.07.04.09h0s0,0,0,0c.02.02.05.04.09.04h1.84c.07,0,.13-.06.13-.13v-.46c0-.07-.06-.13-.13-.13Zm6.81-1.68c.07,0,.13-.06.13-.13v-.46c0-.07-.06-.13-.13-.13h-1.84s-.07.01-.09.04h0s0,0,0,0c-.02.02-.04.05-.04.09v2.85s.01.07.04.09h0s0,0,0,0c.02.02.05.04.09.04h1.84c.07,0,.13-.06.13-.13v-.46c0-.07-.06-.13-.13-.13h-1.25v-.48h1.25c.07,0,.13-.06.13-.13v-.46c0-.07-.06-.13-.13-.13h-1.25v-.48h1.25Z"/></svg>');
}
.blog-post__share-icon.icon-copy {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><path fill="%23424242" d="m7.63,10.37c.4.38.4,1,0,1.38-.38.38-1,.38-1.38,0-.91-.91-1.42-2.15-1.42-3.44s.51-2.53,1.42-3.44l3.45-3.45c.91-.91,2.15-1.42,3.44-1.42s2.53.51,3.44,1.42c.91.91,1.42,2.15,1.42,3.44s-.51,2.53-1.42,3.44l-1.45,1.45c0-.8-.12-1.6-.39-2.36l.46-.47c.27-.27.49-.59.64-.95.15-.35.22-.73.22-1.12s-.08-.76-.22-1.12c-.15-.35-.36-.68-.64-.95-.27-.27-.59-.49-.95-.64-.35-.15-.73-.22-1.12-.22s-.76.08-1.12.22c-.35.15-.68.36-.95.64l-3.44,3.44c-.27.27-.49.59-.64.95-.15.35-.22.73-.22,1.12s.08.76.22,1.12c.15.35.36.68.64.95Zm2.75-4.13c.38-.38,1-.38,1.38,0,.91.91,1.42,2.15,1.42,3.44s-.51,2.53-1.42,3.44l-3.45,3.45c-.91.91-2.15,1.42-3.44,1.42s-2.53-.51-3.44-1.42c-.91-.91-1.42-2.15-1.42-3.44s.51-2.53,1.42-3.44l1.45-1.45c0,.8.12,1.6.39,2.37l-.46.46c-.27.27-.49.59-.64.95-.15.35-.22.73-.22,1.12s.08.76.22,1.12c.15.35.36.68.64.95.27.27.59.49.95.64s.73.22,1.12.22.76-.08,1.12-.22c.35-.15.68-.36.95-.64l3.44-3.44c.27-.27.49-.59.64-.95.15-.35.22-.73.22-1.12s-.08-.76-.22-1.12c-.15-.35-.36-.68-.64-.95-.09-.09-.17-.2-.22-.31-.05-.12-.08-.25-.08-.38s.03-.26.08-.38c.05-.12.13-.23.22-.31Z"/></svg>');
}
@media screen and (min-width: 768px) {
  .blog-post__share-icon {
    transition: opacity .3s;
  }
  .blog-post__share-icon:hover {
    opacity: .7;
  }
}

/* ブログコンテンツ */
.blog-post__mv {
  margin: 0 -20px 32px;
  line-height: 0;
}
@media screen and (min-width: 768px) {
  .blog-post__mv {
    margin: 0 0 80px;
  }
}

/* リスト */
.blog-post__body ul {
  margin: 0 0 40px;
}

.blog-post__body ul li {
  padding: 0 0 0 16px;
  position: relative;
}

.blog-post__body ul li::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: #2B3BAD;
  border-radius: 50%;
  position: absolute;
  top: 10px;
  left: 0;
}

@media screen and (min-width: 768px) {
  .blog-post__body ul li {
    padding: 0 0 0 24px;
  }
  .blog-post__body ul li::before {
    top: 15px;
  }
}

/* 下線 */
.blog-post__body p span[style*="underline"] {
  text-decoration: none !important;
  background:linear-gradient(transparent 80%, #B7CEFE 20%);
}

/* リンク */
.blog-post__body a:not(.c-btn) {
  color: #2B3BAD;
  text-decoration: underline;
}

/* H2 */
.blog-post__body h2 {
  font-size: 1.8rem;
  line-height: 1.6;
  margin: 0 0 40px;
}

.blog-post__body h2::before {
  content: "";
  display: block;
  width: 30px;
  height: 4px;
  background: #2B3BAD;
  margin: 0 0 8px;
}

@media screen and (min-width: 768px) {
  .blog-post__body h2 {
    font-size: 2.4rem;
  }
  
  .blog-post__body h2::before {
    width: 40px;
    margin: 0 0 24px;
  }
}

/* H3 */
.blog-post__body h3 {
  padding-bottom: 12px;
  border-bottom: solid 1px #000;
  font-size: 1.6rem;
  line-height: 1.6;
  margin: 0 0 40px;
}
@media screen and (min-width: 768px) {
  .blog-post__body h3 {
    padding-bottom: 10px;
    font-size: 2.0rem;
  }
}

/* H4 */
.blog-post__body h4 {
  margin: 0 0 40px;
  font-size: 1.4rem;
  line-height: 1.6;
}
.blog-post__body h4 em {
  display: block;
  font-style: normal;
  padding: 0 0 0 44px;
  position: relative;
}

.blog-post__body h4 em::before {
  content: "";
  display: block;
  width: 34px;
  height: 1px;
  background: #000;
  margin: 11px 10px 0 0;
  flex-shrink: 0;
  position: absolute;
  left: 0;
}

@media screen and (min-width: 768px) {
  .blog-post__body h4 {
    font-size: 1.8rem;
  }
  .blog-post__body h4 em {
    padding: 0 0 0 56px;
  }
  .blog-post__body h4 em::before {
    width: 40px;
    margin: 13px 16px 0 0;
  }
}

/* テーブル */
.blog-post__body table {
  margin: 0 0 40px;
}
@media screen and (min-width: 768px) {
  .blog-post__body table {
    margin: 0 0 80px;
  }
}

/* 引用 */
.blog-post__body blockquote {
  border: solid 1px rgba(0,0,0,.1);
  border-radius: 4px;
  padding: 41px 36px;
  margin: 40px 0;
  font-size: 1.4rem;
  position: relative;
}

.blog-post__body blockquote::before,
.blog-post__body blockquote::after {
  content: "";
  display: block;
  width: 20px;
  height: 17px;
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26 22"><path fill="%23bdbdbd" d="m6.2,22c2.91,0,4.99-2.06,4.99-5.26,0-2.93-2.25-4.77-4.99-4.77-.22,0-.38,0-.6.05,0-3.58,1.86-6.01,5.76-7.8L9.27,0C3.02,3.03,0,7.59,0,13.55c0,5.36,2.14,8.45,6.2,8.45Z"/><path fill="%23bdbdbd" d="m20.85,22c2.91,0,4.99-2.06,4.99-5.26,0-2.93-2.25-4.77-4.99-4.77-.22,0-.38,0-.6.05,0-3.58,1.86-6.01,5.76-7.8L23.92,0c-6.25,3.03-9.27,7.59-9.27,13.55,0,5.36,2.14,8.45,6.19,8.45Z"/></svg>') no-repeat center center;
  background-size: 100% 100%;
  position: absolute;
}

.blog-post__body blockquote::before {
  top: 16px;
  left: 20px;
}

.blog-post__body blockquote::after {
  right: 20px;
  bottom: 16px;
  transform: rotate(180deg);
}

.blog-post__body blockquote p:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .blog-post__body blockquote {
    padding: 54px;
    margin: 80px 0 80px;
    font-size: 1.6rem;
  }
  .blog-post__body blockquote::before,
  .blog-post__body blockquote::after {
    width: 26px;
    height: 22px;
  }

  .blog-post__body blockquote::before {
    top: 24px;
    left: 32px;
  }
  
  .blog-post__body blockquote::after {
    right: 32px;
    bottom: 24px;
  }
}

/* 一覧ボタン */
.blog-post__btn {
  margin: 40px 0 0;
}

.blog-post__btn-link {
  font-size: 1.3rem;
}

@media screen and (min-width: 768px) {
  .blog-post__btn {
    margin: 80px 0 0;
  }
  .blog-post__btn-link {
    font-size: 1.6rem;
  }
}
/* Blog related posts */

.blog-related-posts {
  background-color: #F8FAFC;
}

.blog-related-posts h2 {
  text-align: center;
}

.blog-related-posts__list {
  display: flex;
  flex-wrap: wrap;
}

.blog-related-posts__post {
  flex: 0 0 100%;
  padding: 1rem;
}

@media screen and (min-width: 768px) {
  .blog-related-posts__post {
    flex: 0 0 calc(100% / 2);
  }
}

@media screen and (min-width: 1000px) {
  .blog-related-posts__post {
    flex: 0 0 calc(100% / 3);
  }
}

.blog-related-posts__image {
  height: auto;
  max-width: 100%;
}

.blog-related-posts__title {
  margin: 0.7rem 0;
}

/* Blog comments */

.blog-comments {
  margin: 0 auto;
  max-width: 680px;
}

.blog-comments .hs-submit {
  text-align: center;
}

.blog-comments .comment-reply-to {
  border: 0 none;
}

.blog-comments .comment-reply-to:hover,
.blog-comments .comment-reply-to:focus {
  background-color: transparent;
  text-decoration: underline;
}


/* blog listing */
.blog-listing__column {
  padding: 24px 0 0;
}
.blog-listing__head {
  margin: 0 0 24px;
  text-align: center;
}

.blog-listing__head h1 {
  margin: 0 0 4px;
}

.blog-listing__count {
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1;
  color: #757575;
}

@media screen and (min-width: 768px) {
  .blog-listing__column {
    padding: 80px 0 0;
  }

  .blog-listing__head {
    display: flex;
    align-items: flex-end;
    margin: 0 0 40px;
    text-align: left;
  }

  .blog-listing__head h1 {
    margin: 0;
  }

  .blog-listing__count {
    font-size: 1.4rem;
    line-height: 2;
    margin: 0 0 0 10px;
  }

  .blog-listing__count::before {
    content: "-";
  }
}
.post-list {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.post-item.new {
  position: relative;
}

.post-item.new::before {
  content: "NEW";
  font-family: 'Poppins', sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  padding: 9px 15px;
  background: #F6F6F6;
  color: #2B3BAD;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .post-list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 40px 3.676470588%;
  }

  .post-item {
    width: 30.882352941%;
  }

  .post-item a:hover .post-item__title {
    color: #2B3BAD;
  }

  .post-item a:hover .post-item__image img {
    opacity: .6;
  }

  .post-item.new::before {
    padding: 5px 12px;
  }
}

.post-item__image {
  margin: 0 0 16px;
  position: relative;
  overflow: hidden;
}

.post-item__image::before {
  content: "";
  display: block;
  padding-top: 61.607142857%;
}

.post-item__image img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .post-item__image {
    margin: 0 0 14px;
  }
  .post-item__image img {
    transition: opacity .3s;
  }
}

.post-item__meta {
  margin: 0 0 8px;
}

.post-item__title {
  margin: 0 0 8px;
  font-size: 1.6rem;
  color: #212121;
}

.post-item__tags {
  font-size: 0;
  letter-spacing: 0;
  margin-bottom: -5px;
}

.post-item__tags .c-tag {
  margin: 0 5px 5px 0;
}


/* blog-recent-post */

.blog-recent-post {
  max-width: 1088px;
  margin: 0 20px;
  padding: 38px 0 0;
  border-top: 1px solid #000;
}

.blog-recent-post.hide {
  display: none;
}

.blog-recent-post__headline {
  display: flex;
  gap: 16px;
  font-size: 1.8rem;
  line-height: 1.6rem;
  margin: 0 0 40px;
}

.blog-recent-post__headline small {
  font-family: Poppins,sans-serif;
  font-size: 1.1rem;
  color: #757575;
}

.blog-recent-post__wrap {
  overflow: auto;
  margin: 0 -20px;
}

.blog-recent-post__list {
  display: flex;
  gap: 16px;
  margin: 0 20px;
  padding: 0;
  list-style-type: none;
}

.blog-recent-post__list li {
  width: 45.37313428%;
  flex-shrink: 0;
}

.blog-recent-post__image {
  position: relative;
  margin: 0 0 7px;
}

.blog-recent-post__image::before {
  content: "";
  display: block;
  padding-top: 61.184210526%;
}

.blog-recent-post__image img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}

.blog-recent-post__text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.blog-recent-post__title {
  font-size: 1.4rem;
  line-height: 1.6;
  margin: 0;
}

@media screen and (min-width: 768px) {
  .blog-recent-post {
    padding: 42px 0 0;
    margin: 0 auto;
  }
  .blog-recent-post__headline {
    font-size: 2.4rem;
    margin: 0 0 36px;
  }
  .blog-recent-post__wrap {
    margin: 0;
    overflow: hidden;
  }
  .blog-recent-post__list {
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 30px 0;
    margin: 0;
    position: relative;
  }
  .blog-recent-post__list::before {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .blog-recent-post__list li {
    width: 46.323529411%;
    flex-shrink: 1;
  }
  .blog-recent-post__list li a {
    display: flex;
    align-items: flex-start;
    gap: 24px;
  }
  .blog-recent-post__list li a:hover .blog-recent-post__title {
    color: #2B3BAD;
  }
  .blog-recent-post__list li a:hover .blog-recent-post__image img {
    opacity: 0.6;
  }
  .blog-recent-post__image {
    width: 178px;
    margin: 0;
    overflow: hidden;
  }
  .blog-recent-post__image img {
    transition: opacity .3s;
  }
  .blog-recent-post__text {
    width: 302px;
  }
  .blog-recent-post__meta {
    order: 0;
  }
  .blog-recent-post__title {
    order: 1;
    font-size: 1.6rem;
  }
}

/* pagination */

.blog-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
  margin: 48px 0 0;
}
@media screen and (min-width: 768px) {
  .blog-pagination {
    margin: 40px 0 0;
  }
}

.blog-pagination .prev-link {
  display: block;
  width: 7px;
  height: 12px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 7.41 12"><path fill="%23757575" d="m7.41,1.41l-1.41-1.41L0,6l6,6,1.41-1.41L2.83,6,7.41,1.41Z"/></svg>') no-repeat center center;
  background-size: 100% 100%;
}
.blog-pagination .next-link {
  display: block;
  width: 7px;
  height: 12px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 7.41 12"><path fill="%23757575" d="m1.41,0L0,1.41l4.58,4.59L0,10.59l1.41,1.41,6-6L1.41,0Z"/></svg>') no-repeat center center;
  background-size: 100% 100%;
}

.blog-pagination-center {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.blog-pagination-center a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-family: 'Poppins', sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5;
  color: #757575;
}

.blog-pagination-center a.active {
  background: #fff;
  color: #2B3BAD;
}
.main { 
  padding-bottom: 40px;
}
.main h2 {
  margin: 0 0 32px;
}

@media screen and (min-width: 768px) {
  .main { 
    padding-bottom: 80px;
  }
  .main h2 {
    margin: 0 0 44px;
  }
}

.hero {
  margin: 0 0 32px;
}

.hero .post-item__meta {
  margin-bottom: 0;
}

.hero-post {
  position: relative;
}

.hero-post__image {
  line-height: 0;
  overflow: hidden;
  position: relative;
}

.hero-post__image::before {
  content: "";
  display: block;
  padding-top: 66.66666666%;
}

.hero-post__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-post__text {
  padding: 0 0 16px;
  margin: -24px 20px 0;
  position: relative;
  background: #f6f6f6;
}

.hero-post__title {
  font-size: 1.8rem;
  line-height: 1.6;
  margin: 0 0 12px;
}

.hero-post__title a {
  display: block;
  color: #212121;
  font-weight: 700;
  padding: 16px 16px 0;
}

.hero-post__tags {
  font-size: 0;
  letter-spacing: 0;
  margin: 0 0 6px;
}

.hero-post__tags .c-tag {
  margin: 0 4px 6px 0;
}

@media screen and (min-width: 768px) {
  .hero {
    margin: 40px 0 120px;
  }

  .hero-post {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 5.790441176%;
  }

  .hero-post > a {
    width: 59.742647058%;
    flex-shrink: 0;
  }
  
  .hero-post > a:hover + .hero-post__text .hero-post__title a {
    color: #2b3bad;
  }
  .hero-post > a:hover .hero-post__image img,
  .hero-post__image.hover img {
    opacity: .6;
  }
  .hero-post__meta span {
    font-size: 1.4rem;
  }
  .hero-post__meta time {
    font-size: 1.4rem;
    margin: 0 0 0 16px;
  }
  .hero-post__meta time::before {
    height: 14px;
    margin: 0 14px 0 0;
  }
  .hero-post__text {
    max-width: 375px;
    padding: 20px 0;
    margin: 0;
  }
  .hero-post__title {
    font-size: 2.8rem;
    transition: color .3s;
    margin: 0 0 24px;
  }
  .hero-post__title a {
    padding: 0;
  }
  .hero-post__title a:hover {
    color: #2b3bad;
  }
  .hero-post__image {
    overflow: hidden;
  }
  .hero-post__image::before {
    padding-top: 62.307692307%;
  }
  .hero-post__image img {
    transition: opacity .5s;
  }
  .hero-post__tags {
    margin: 0 0 18px;
  }
  .hero-post__tags .c-tag {
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 767px) {
  .hero .l-column {
    margin: 0;
  }
}

.latest-article {
}

@media screen and (min-width: 768px) {
  .latest-article {
    gap: 40px 3.676470588%;
  }
  .latest-article .post-item {
   width: 30.882352941%;
  }
}

.home-main__btn {
  margin: 40px auto 0;
}

@media screen and (min-width: 768px) {
  .home-main__btn {
    width: 346px;
  }
}

.podcast {
  padding-top: 32px;
  border-top: solid 1px #000;
}

.podcast h2 {
  margin: 0 0 40px;
}
@media screen and (min-width: 768px) {
  .podcast { 
    padding-top: 40px;
  }
}

/* overwrite */
@media screen and (min-width: 768px) {
  .hs-site-page .footer {
    margin-top: 80px;
  }
}
.body-container--monicle-radio .content-wrapper--vertical-spacing,
.body-container--monicle-radio .dnd-section,
.body-container--monicle-radio .dnd-section .dnd-column {
  padding: 0;
}

.body-wrapper:has(.body-container--monicle-radio) .footer {
  margin-top: 0;
}

.body-container--monicle-radio .hs_cos_wrapper_type_rich_text > *:last-child {
  margin-bottom: 0;
}

.body-container--monicle-radio {
  padding: 32px 20px;
}

.monicle-radio__article {
  padding: 32px 20px;
  background: #fff;
  margin: 0 -20px;
}

@media screen and (min-width: 768px) {
  .body-container--monicle-radio {
    padding: 40px 0 0;
  }
  .monicle-radio__article {
    padding: 80px 0;
    background: none;
    margin: 0;
  }
}