







/* 1a. Containers */


  



  


/* 1b. Colors */







/* 1c. Typography */





























/* 1d. Buttons */






























/* 1e. Forms */































/* 1f. Icons */
















/* 1g. Cards */











/* 1h. Tables */













/* 1i. Website header */



























/* 1j. Website footer */













/* Drag and drop layout styles */

.dnd-section {
  padding: 60px 20px;
}

/* Padding on blog post sections */

.blog-post-section {
  padding: 60px 0;
}

/* .content-wrapper is used for blog post and system templates and .header-wrapper is used for the website header module */

.dnd-section > .row-fluid,
.content-wrapper,
.header__wrapper {
  max-width: 1000px;
}
.content-wrapper {
  text-align: center;
}
.header .content-wrapper {
  text-align: left;
}

/* HTで使用 + HubSpot用に追加したcss */

.co-bgimg {
  background-image: url('https://cureapp.co.jp/img/productsite/ht/contentsbg.png');
  background-size: cover;
  background-position: center;
}

.co-textlink {
  color: #23864D;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .co-textlink:hover {
    color: #23864D;
  }
}

.co-border-button {
  display: inline-block;
  border: 1px solid rgba(35,134,77,.7);
  border-radius: 30px;
  background: #fff;
  text-decoration: none;
  padding: 12px 24px;
  color: #23864d;
  font-size: 15px;
}
.co-border-button:hover {
  background: rgba(35,134,77,.1);
  text-decoration: none;
  color: #23864d;
  transition: .8s;
}

.co-fwb {font-weight: 600;}

@media screen and (max-width: 767px) {
  .co-sp-only {display: block;}
}
@media screen and (min-width: 768px) {
  .co-sp-only {display: none;}
}

.fs22 {font-size: 22px;}
.fs7em { font-size: 0.7em;}

.pt30 {padding-top: 30px;}
.mt20 {margin-top: 20px;}
.mt30 {margin-top: 30px;}

.form-title__sup {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-weight: 600;
  text-align: center;
  font-size: 15px;
  margin: 0 auto 5px;
}
@media screen and (min-width: 768px) {
  .form-title__sup {
    font-size: 22px;
  }
}

.form_title {
  text-align: center;
  margin: 0 auto 20px;
}

.form_title > p {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-weight: 600;
  font-size: 22px;
  line-height: 1.6;
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .form_title > p {
    font-size: 32px;
  }
}

.form-text__time {
  text-align: center;
}

.form-text__time > p {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .form-text__time > p {
    font-size: 26px;
  }
}

.form-block__title {
  max-width: 700px;
  background-color: #23864d;
  border-bottom: 2px solid #91cf57;
  border-radius: 4px 4px 0 0;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-weight: 600;
  font-size: 20px;
  color: #fff !important;
  line-height: 1.6;
  padding: 4px 12px;
  margin: 50px auto 0;
}
@media screen and (min-width: 768px) {
  .form-block__title {
    font-size: 23px;
    margin-top: 60px;
  }
}

.form-block__subtitle {
  max-width: 700px;
  border-bottom: 2px solid #23864d;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.6;
  padding: 4px 12px;
  margin: 50px auto 20px;
}
@media screen and (min-width: 768px) {
  .form-block__subtitle {
    font-size: 23px;
    margin-bottom: 24px;
  }
}

.form-block-item {
  max-width: 700px;
  margin: 20px auto 0;
}
@media screen and (min-width: 768px) {
  .form-block-item {
    margin-top: 24px;
  }
}

.form-block-item--no-title {
  display: flex;
}
.form-block-item--no-title .form-block-item__speaker {
  flex: 1;
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .form-block-item--no-title .form-block-item__head {
    display: block;
  }
}

.form-block-item__head {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .form-block-item__head {
    display: flex;
  }
}

.form-block-item__label {
  margin-bottom: 12px;
}
@media screen and (min-width: 768px) {
  .form-block-item__label {
    margin-right: 16px;
    padding-top: 4px;
  }
}

.form-block-item__label-text {
  background-color: #333;
  font-size: 15px;
  line-height: 1;
  font-weight: 600;
  color: #fff;
  text-align: center;
  padding: 6px 12px;
}
@media screen and (min-width: 768px) {
  .form-block-item__label-text {
    font-size: 19px;
    padding: 6px 18px;
  }
}

.form-block-item__title {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 18px;
  line-height: 30px;
  font-weight: 600;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .form-block-item__title {
    flex: 1;
    font-size: 22px;
    line-height: 34px;
  }
}

.form-block-item__speaker {
  text-align: right;
  margin-top: 8px;
}
@media screen and (min-width: 768px) {
  .form-block-item__speaker {
    margin-top: 16px;
  }
}

.form-block-item__job {
  font-weight: 600;
  margin-bottom: 8px;
}
@media screen and (min-width: 768px) {
  .form-block-item__job {
    margin-bottom: 10px;
  }
}

.form-block-item__name {
  text-align: right;
  font-size: 14px;
  font-weight: 600;
  line-height: 22px;
}
@media screen and (min-width: 768px) {
  .form-block-item__name {
    font-size: 18px;
    line-height: 26px;
  }
}

.form__name-text {
  font-size: 19px;
}
@media screen and (min-width: 768px) {
  .form__name-text {
    font-size: 25px;
  }
}

.form-text__plane {
  margin-top: 50px;
}

.form_container {
  width: 100%;
  max-width: 700px;
  border: 1px solid #fff;
  background: linear-gradient(45deg, rgba(255,255,255, .6), rgba(255,255,255, .5));
  box-shadow: 0 0 16px rgba(51,51,51, .2);
  margin: 50px auto 0;
}
@media screen and (max-width: 767px) {
  .form_container {
    padding: 16px 16px 80px;
  }
}
@media screen and (min-width: 768px) {
  .form_container {
    padding: 40px 40px 80px;
    border-radius: 8px;
  }
}

.gdpr {
  margin: 24px auto 0;
  font-size: 14px;
  line-height: 1.75;
  text-align: left;
}

.gdpr > span {
  font-weight: 600;
}

.gdpr > a {
  color: #23864d;
  display: inline-block;
}
.gdpr > a:hover {
  color: #23864d;
}






html {
  font-size: 16px;
}

body {
  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 400; text-decoration: none;
  background-color: #ffffff;
  color: #231f20;
  font-size: 16px;
}

/* Paragraphs */

p {
  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 400; text-decoration: none;
}

/* Anchors */

a {
  font-weight: 400; text-decoration: underline; font-family: Montserrat, sans-serif; font-style: normal;
  color: #2e3050;
}

a:hover,
a:focus {
  font-weight: 400; text-decoration: underline; font-family: Montserrat, sans-serif; font-style: normal;
  /* color: #415239; */
  text-decoration: none;
}

a:active {
  font-weight: 400; text-decoration: underline; font-family: Montserrat, sans-serif; font-style: normal;
  color: #91a289;
}

/* Headings */

h1 {
  color: #231f20;
  /* font-size: 40px; */
  text-align: center;
  font-size: 20px;
  text-transform: none;
  margin-bottom: 5px;
}

h2 {
  color: #231f20;
  font-size: 32px;
  text-transform: none;
}

h3 {
  font-family: 'Source Serif Pro', serif; font-style: normal; font-weight: 600; text-decoration: none;
  color: #231f20;
  font-size: 28px;
  text-transform: none;
}

h4 {
  font-family: 'Source Serif Pro', serif; font-style: normal; font-weight: 600; text-decoration: none;
  color: #231f20;
  font-size: 24px;
  text-transform: none;
}

h5 {
  font-family: 'Source Serif Pro', serif; font-style: normal; font-weight: 600; text-decoration: none;
  color: #231f20;
  font-size: 20px;
  text-transform: none;
}

h6 {
  font-family: 'Source Serif Pro', serif; font-style: normal; font-weight: 600; text-decoration: none;
  color: #231f20;
  font-size: 16px;
  text-transform: none;
}

/* Blockquotes */

blockquote {
  font-family: 'Source Serif Pro', serif; font-style: normal; font-weight: 600; text-decoration: none;
  border-left-color: #46b984;
  color: #231f20;
  font-size: 24px;
}

blockquote > footer {
  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 400; text-decoration: none;
  font-size: 16px;
}

/* Horizontal rules */

hr {
  border-bottom-color: #ffffff;
}





/* Primary button */

button,
.button,
.hs-button {
  border: 1px solid #2e3050;

  padding-top: 10px;
padding-right: 20px;
padding-bottom: 10px;
padding-left: 20px;

  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 600; text-decoration: none;
  background-color: 

  
  
    
  


  rgba(46, 48, 80, 1.0)

;
  border-radius: 0px;
  color: #ffffff;
  fill: #ffffff;
  font-size: 16px;
  text-transform: none;
}

button:hover,
button:focus,
button:active,
.button:hover,
.button:focus,
.button:active,
.hs-button:hover,
.hs-button:focus,
.hs-button:active {
  border: 1px solid #2e3050;

  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 600; text-decoration: none;
  background-color: 

  
  
    
  


  rgba(65, 82, 57, 1.0)

;
  color: #ffffff;
  fill: #ffffff;
}

button:active,
.button:active,
.hs-button:active {
  border: 1px solid #2e3050;

  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 600; text-decoration: none;
  background-color: rgba(145, 162, 137, 100);
  border-color: #7e80a0;
  color: #ffffff;
  fill: #ffffff;
}

/* Secondary button */

.button.button--secondary {
  border: 1px solid #2e3050;

  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 600; text-decoration: none;
  background-color: 

  
  
    
  


  rgba(255, 255, 255, 0.0)

;
  border-radius: 0px;
  color: #2e3050;
  fill: #2e3050;
  text-transform: none;
}

.button.button--secondary:hover,
.button.button--secondary:focus,
.button.button--secondary:active {
  border: 1px solid #2e3050;

  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 600; text-decoration: none;
  background-color: 

  
  
    
  


  rgba(46, 48, 80, 1.0)

;
  color: #ffffff;
  fill: #ffffff;
}

.button.button--secondary:active {
  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 600; text-decoration: none;
  background-color: rgba(126, 128, 160, 100);
  border: 1px solid #2e3050;

  border-color: #7e80a0;
  color: #ffffff;
  fill: #ffffff;
}

/* Simple button */

.button.button--simple {
  font-weight: 400; text-decoration: underline; font-family: Montserrat, sans-serif; font-style: normal;
  color: #2e3050;
  fill: #2e3050;
}

.button.button--simple:hover,
.button.button--simple:focus {
  font-weight: 400; text-decoration: underline; font-family: Montserrat, sans-serif; font-style: normal;
  color: #415239;
  fill: #415239;
}

.button.button--simple:active {
  font-weight: 400; text-decoration: underline; font-family: Montserrat, sans-serif; font-style: normal;
  color: #91a289;
  fill: #91a289;
}

/* Button sizing */

.button.button--small {
  padding-top: 10px;
padding-right: 20px;
padding-bottom: 10px;
padding-left: 20px;

  font-size: 14px;
}

.button.button--large {
  padding-top: 10px;
padding-right: 20px;
padding-bottom: 10px;
padding-left: 20px;

  font-size: 18px;
}





/* Form */

form {
  border: 1px none #ffffff;

  padding: 45px;

  background-color: 

  
  
    
  


  rgba(255, 255, 255, 1.0)

;
  border-radius: 0px;
}

/* Form title */

.form-title {
  border: 1px none #2e3050;

  padding: 25px;

  font-family: 'Source Serif Pro', serif; font-style: normal; font-weight: 600; text-decoration: none;
  background-color: 

  
  
    
  


  rgba(46, 48, 80, 1.0)

;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  color: #ffffff;
  font-size: 28px;
  text-transform: ;
}

/* Labels */

form label {
  padding-top: 6px;
padding-right: 0px;
padding-bottom: 6px;
padding-left: 0px;

  font-family: Montserrat, sans-serif; font-style: normal; font-weight: normal; text-decoration: none;
  color: #231f20;
  font-size: 16px;
}

/* Help text */

form legend {
  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 400; text-decoration: none;
  color: #231f20;
  font-size: 14px;
}

/* Form fields */

form input[type='text'],
form input[type='email'],
form input[type='password'],
form input[type='tel'],
form input[type='number'],
form input[type='search'],
form select,
form textarea {
  border: 1px none #ffffff;

  padding: 10px;

  font-family: 'Noto Sans JP', sans-serif; font-style: normal; font-weight: normal; text-decoration: none;
  background-color: 

  
  
    
  


  rgba(255, 255, 255, 1.0)

;
  border-radius: 0px;
  color: #231f20;
  font-size: 16px;
}

/* Form fields - placeholders */

::-webkit-input-placeholder {
  color: #ffffff;
}

::-moz-placeholder {
  color: #ffffff;
}

:-ms-input-placeholder {
  color: #ffffff;
}

:-moz-placeholder {
  color: #ffffff;
}

::placeholder {
  color: #ffffff;
}

/* Form fields - date picker */

form .hs-dateinput:before {
  right: 10px;
}

form .pika-table thead th {
  background-color: 

  
  
    
  


  rgba(46, 48, 80, 1.0)

;
  color: #ffffff;
}

form td.is-today .pika-button {
  color: #231f20;
}

form .is-selected .pika-button {
  background-color: #46b984;
  color: #231f20;
}

form .pika-button:hover {
  background-color: #2e3050 !important;
}

/* Headings and text */

form .hs-richtext,
form .hs-richtext *,
form .hs-richtext p,
form .hs-richtext h1,
form .hs-richtext h2,
form .hs-richtext h3,
form .hs-richtext h4,
form .hs-richtext h5,
form .hs-richtext h6 {
  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 400; text-decoration: none;
  color: #231f20;
}

form .hs-richtext a {
  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 400; text-decoration: none;
  color: #231f20;
}

/* GDPR */

form .legal-consent-container,
form .legal-consent-container .hs-richtext,
form .legal-consent-container .hs-richtext p {
  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 400; text-decoration: none;
  color: #231f20;
  font-size: 14px;
}

/* Submit button */



  form input[type='submit'],
  form .hs-button {
    border: 1px solid #2e3050;

    font-family: Montserrat, sans-serif; font-style: normal; font-weight: 600; text-decoration: none;
    background-color: 

  
  
    
  


  rgba(46, 48, 80, 1.0)

;
    border-radius: 0px;
    color: #ffffff;
    text-transform: none;
  }

  form input[type='submit']:hover,
  form input[type='submit']:focus,
  form .hs-button:hover,
  form .hs-button:focus {
    border: 1px solid #2e3050;

    font-family: Montserrat, sans-serif; font-style: normal; font-weight: 600; text-decoration: none;
    background-color: 

  
  
    
  


  rgba(65, 82, 57, 1.0)

;
    color: #ffffff;
  }

  form input[type='submit']:active,
  form .hs-button:active {
    border: 1px solid #2e3050;

    font-family: Montserrat, sans-serif; font-style: normal; font-weight: 600; text-decoration: none;
    background-color: rgba(145, 162, 137, 100);
    border-color: #7e80a0;
    color: #ffffff;
}





  form input[type='submit'],
  form .hs-button {
    padding-top: 10px;
padding-right: 20px;
padding-bottom: 10px;
padding-left: 20px;

    font-size: 16px;
  }



/* Inline thank you message */

.submitted-message {
  border: 1px none #ffffff;

  padding: 45px;

  background-color: 

  
  
    
  


  rgba(255, 255, 255, 1.0)

;
  border-radius: 0px;
}







/* Default icon (regular/dark) */

.icon {
  padding: 15px;

  background-color: 

  
  
    
  


  rgba(53, 116, 227, 1.0)

;
}

.icon svg {
  fill: #ffffff;
  height: 16px;
  width: 16px;
}

/* Light icon */

.icon--light .icon {
  background-color: 

  
  
    
  


  rgba(255, 255, 255, 1.0)

;
}

.icon--light svg {
  fill: #3574E3;
}

/* Size */

.icon--small svg {
  height: 12px;
  width: 12px;
}

.icon--small .icon {
  padding: 10px;

}

.icon--large svg {
  height: 24px;
  width: 24px;
}

.icon--large .icon {
  padding: 25px;

}





/* Table */

table {
  border: 1px solid #ffffff;

  background-color: 

  
  
    
  


  rgba(255, 255, 255, 1.0)

;
}

/* Table cells */

th,
td {
  border: 1px solid #ffffff;

  padding: 10px;

  color: #231f20;
}

/* Table header */

thead th,
thead td {
  background-color: 

  
  
    
  


  rgba(46, 48, 80, 1.0)

;
  color: #ffffff;
}

/* Table footer */

tfoot th,
tfoot td {
  background-color: 

  
  
    
  


  rgba(70, 185, 132, 1.0)

;
  color: #231f20;
}





/* Header container */

.header {
  background-color: 

  
  
    
  


  rgba(255, 255, 255, 1.0)

;
  box-shadow: 0 1px 8px rgba(35,134,77,.1);
  padding-top: 16px;
  padding-bottom: 16px;
}

.header a {
  display: inline-block;
}

.header a img {
  vertical-align: top;
  width: auto;
  height: 26px;
}

@media screen and (max-width: 949px) {
  .header a img {
    height: 22px;
  }
}

/* Header content color */

.header p,
.header h1,
.header h2,
.header h3,
.header h4,
.header h5,
.header h6,
.header a:not(.button),
.header span,
.header div,
.header li,
.header blockquote,
.header .tabs__tab,
.header .tabs__tab:hover,
.header .tabs__tab:focus,
.header .tabs__tab:active {
  color: #231f20;
}

/* Header top bar */

.header__top {
  background-color: 

  
  
    
  


  rgba(70, 185, 132, 1.0)

;
}

/* Language switcher */

.header__language-switcher-current-label > span {
  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 400; text-decoration: none;
  color: #231f20;
  font-size: 16px;
  text-transform: none;
}

.header__language-switcher:hover .header__language-switcher-current-label > span,
.header__language-switcher:focus .header__language-switcher-current-label > span {
  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 400; text-decoration: none;
  color: #000000;
}

.header__language-switcher-child-toggle svg {
  fill: #231f20;
}

/* Language switcher - submenu */

.header__language-switcher .lang_list_class {
  border-color: #ffffff;
}

.header__language-switcher .lang_list_class li {
  background-color: 

  
  
    
  


  rgba(255, 255, 255, 1.0)

;
}

.header__language-switcher .lang_list_class a:not(.button) {
  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 400; text-decoration: none;
  color: #231f20;
  font-size: 16px;
  text-transform: none;
}

.header__language-switcher .lang_list_class a:hover,
.header__language-switcher .lang_list_class a:focus {
  background-color: 

  
  
    
  


  rgba(255, 255, 255, 1.0)

;
  color: #000000;
}

.header__language-switcher .lang_list_class a:active {
  background-color: 

  
  
    
  


  rgba(255, 255, 255, 1.0)

;
}

/* Header bottom */

.header__bottom {
  background-color: 

  
  
    
  


  rgba(255, 255, 255, 1.0)

;
}

/* Logo */

.header__logo-company-name {
  font-family: 'Source Serif Pro', serif; font-style: normal; font-weight: 600; text-decoration: none;
  color: #231f20;
  font-size: 40px;
  text-transform: none;
}

/* Menu */
@media (max-width: 767px) {
  .header__menu--mobile {
    background-color: 

  
  
    
  


  rgba(255, 255, 255, 1.0)

;
  }
}

/* Menu items */

.header__menu-link {
  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 400; text-decoration: none;
  font-size: 16px;
  text-transform: none;
}

@media (max-width: 767px) {
  .header__menu-item--depth-1 {
    border-top: 1px solid #ffffff;
  }
}

/* Menu items - top level */

.header__menu-item--depth-1 > .header__menu-link:not(.button) {
  color: #231f20;
}

.header__menu-item--depth-1 > .header__menu-link:hover,
.header__menu-item--depth-1 > .header__menu-link:focus {
  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 400; text-decoration: none;
  color: #000000;
}

.header__menu-item--depth-1 > .header__menu-link:active {
  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 400; text-decoration: none;
  color: #505050;
}

.header__menu-item--depth-1 > .header__menu-link--active-link:not(.button) {
  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 400; text-decoration: none;
  color: #000000;
}

.header__menu-item--depth-1 .header__menu-child-toggle svg {
  fill: #231f20;
}

/* Menu items - submenus */

.header__menu-submenu {
  background-color: 

  
  
    
  


  rgba(255, 255, 255, 1.0)

;
  border-color: #ffffff;
}

.header__menu-submenu .header__menu-link:not(.button) {
  color: #231f20;
}

.header__menu-submenu .header__menu-item:hover,
.header__menu-submenu .header__menu-item:focus {
  background-color: 

  
  
    
  


  rgba(255, 255, 255, 1.0)

;
}

.header__menu-submenu .header__menu-link:hover,
.header__menu-submenu .header__menu-link:focus {
  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 400; text-decoration: none;
  color: #000000;
}

.header__menu-submenu .header__menu-link:active {
  background-color: 

  
  
    
  


  rgba(255, 255, 255, 1.0)

;
}

.header__menu-submenu .header__menu-link--active-link:not(.button) {
  color: ;
  background-color: 

  
  
    
  


  rgba(255, 255, 255, 1.0)

;
}

/* Menu icons */

.header__menu-toggle svg {
  fill: #231f20;
}





/* Footer container */

.footer {
  
  background: linear-gradient(45deg, #075861, #05474e);
  color: #fff !important;
}

.footer-primary {
  width: 90%;
  max-width: 800px;
  padding: 60px 0 40px;
  margin: 0 auto;
}

.footer-primary__company,
.footer-primary__label {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 14px;
  color: #fff !important;
  line-height: 1.6;
  margin: 0;
}

.footer-primary__company > a {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  text-decoration: none;
  color: #fff !important;
}

.footer-primary__office dt,
.footer-primary__office dd,
.footer-primary__label li {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 14px;
  color: #fff !important;
  line-height: 1.6;
  margin: 0;
}

.footer-primary__label ul {
  list-style: none;
  padding: 0;
}

.footer_copyright {
  background: #111;
  font-size: 12px;
  padding: 8px;
  text-align: center;
  color: #ccc !important;
  letter-spacing: .1em;
}

@media screen and (min-width: 768px) {
  .footer-primary {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .footer-primary__company {
    flex-basis: 100%;
  }

  .footer-primary__label {
    margin-top: 1em;
  }
}


.footer_haudy {
  width: 90%;
  max-width: 980px;
  margin: 0 auto;
  padding: 40px 0;
}
.footer_haudy__head {
  margin-bottom: 30px;
}
.footer_haudy__head-text {
  color: #fff !important;
}
@media screen and (min-width: 768px) {
    .footer_haudy__inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        justify-content: center;
    }
}
.footer_haudy__block {
  font-size: 14px;
  line-height: 18px;
  color: #fff !important;
}
@media screen and (max-width: 767px) {
    .footer_haudy__block {
        margin-top: 8px;
    }
    .footer_haudy__block:first-child {
        margin-top: 0;
    }
}
@media screen and (min-width: 768px) {
    .footer_haudy__block {
        width: 48%;
        margin-left: 4%;
    }
    .footer_haudy__block:first-child {
        margin-left: 0;
    }
}
.footer_haudy__item {
  display: flex;
  margin-top: 8px;
}
.footer_haudy__item:first-child {
  margin-top: 0;
}
.footer_haudy__itemTitle {
  width: 120px;
}
.footer_haudy__itemText{
  flex: 1;
}



/* Footer content color */

.footer h1,
.footer h2,
.footer h3,
.footer h4,
.footer h5,
.footer h6,
.footer p,
.footer a:not(.button),
.footer span,
.footer div,
.footer li,
.footer blockquote,
.footer .tabs__tab,
.footer .tabs__tab:hover,
.footer .tabs__tab:focus,
.footer .tabs__tab:active {
  color: #231f20;
}

.footer hr {
  border-bottom-color: #231f20 !important;
}

/* Footer menu */

.footer .hs-menu-wrapper a {
  font-family: Montserrat, sans-serif; font-style: normal; font-weight: normal; text-decoration: none;
  color: #231f20;
  font-size: 16px;
  text-transform: none;
}

.footer .hs-menu-wrapper a:hover,
.footer .hs-menu-wrapper a:focus {
  font-family: Montserrat, sans-serif; font-style: normal; font-weight: normal; text-decoration: none;
  color: #000000;
}

.footer .hs-menu-wrapper a:active {
  font-family: Montserrat, sans-serif; font-style: normal; font-weight: normal; text-decoration: none;
  color: #505050;
}

.footer .hs-menu-wrapper .active > a {
  font-weight: bold; text-decoration: underline; font-family: Montserrat, sans-serif; font-style: normal;
  color: #000000;
}






/* Dark card */

.card--dark {
  border: 1px solid #231f20;

  background-color: 

  
  
    
  


  rgba(35, 31, 32, 1.0)

;
  border-radius: 0px;
  color: #ffffff;
}

.card--dark summary,
.card--dark p,
.card--dark h1,
.card--dark h2,
.card--dark h3,
.card--dark h4,
.card--dark h5,
.card--dark h6,
.card--dark a:not(.button),
.card--dark span,
.card--dark div,
.card--dark li,
.card--dark blockquote {
  color: #ffffff;
}

/* Light card */

.card--light {
  border: 1px solid #ffffff;

  background-color: 

  
  
    
  


  rgba(255, 255, 255, 1.0)

;
  border-radius: 0px;
  color: #231f20;
}

.card--light summary,
.card--light p,
.card--light h1,
.card--light h2,
.card--light h3,
.card--light h4,
.card--light h5,
.card--light h6,
.card--light a:not(.button),
.card--light span,
.card--light div,
.card--light li,
.card--light blockquote {
  color: #231f20;
}





/* Error templates */

.error-page:before {
  font-family: Montserrat, sans-serif; font-style: normal; font-weight: 400; text-decoration: none;
}

/* System templates */

#email-prefs-form,
#email-prefs-form h1,
#email-prefs-form h2 {
  color: #231f20;
}

/* Search template */

.hs-search-results__title {
  font-size: 32px;
}

/* Backup unsubscribe template */

.backup-unsubscribe input[type='email'] {
  font-size: 16px !important;
  padding: padding: 10px;
 !important;
}





/* Accordion */

.accordion__summary,
.accordion__summary:before {
  font-family: 'Source Serif Pro', serif; font-style: normal; font-weight: 600; text-decoration: none;
  font-size: 24px;
}

.card--dark .accordion__summary:before {
  color: #ffffff;
}

.card--light .accordion__summary:before {
  color: #231f20;
}

/* Blog listing, recent posts, related posts, and blog post */

.blog-listing__post-title {
  text-transform: none;
}

.blog-listing__post-title-link {
  font-family: 'Source Serif Pro', serif; font-style: normal; font-weight: 600; text-decoration: none;
  color: #231f20;
}

.blog-listing__post-title-link:hover,
.blog-listing__post-title-link:focus {
  font-family: 'Source Serif Pro', serif; font-style: normal; font-weight: 600; text-decoration: none;
  color: #000000;
}

.blog-listing__post-title-link:active {
  font-family: 'Source Serif Pro', serif; font-style: normal; font-weight: 600; text-decoration: none;
  color: #736f70;
}

.blog-listing__post-tag {
  color: #231f20;
}

.blog-listing__post-tag:hover,
.blog-listing__post-tag:focus {
  color: #000000;
}

.blog-listing__post-tag:active {
  color: #736f70;
}

.blog-listing__post-author-name,
.blog-post__author-name {
  color: #231f20;
}

.blog-listing__post-author-name :hover,
.blog-listing__post-author-name :focus,
.blog-post__author-name:hover,
.blog-post__author-name:focus {
  color: #000000;
}

.blog-listing__post-author-name :active,
.blog-post__author-name:active {
  color: #736f70;
}

/* Image gallery */

.image-gallery__close-button-icon:hover,
.image-gallery__close-button-icon:focus {
  background-color: rgba(0, 36, 147, 1.0);
}

.image-gallery__close-button-icon:active {
  background-color: rgba(133, 196, 255, 1.0);
}

.icon--light .image-gallery__close-button-icon:hover,
.icon--light .image-gallery__close-button-icon:focus {
  background-color: rgba(175, 175, 175, 1.0);
}

.icon--light .image-gallery__close-button-icon:active {
  background-color: rgba(255, 255, 255, 1.0);
}

/* Pagination */

.pagination__link-icon svg {
  fill: #2e3050;
  height: 16px;
  width: 16px;
}

.pagination__link:hover .pagination__link-icon svg,
.pagination__link:focus .pagination__link-icon svg {
  fill: #415239;
}

.pagination__link:active .pagination__link-icon svg {
  fill: #7e80a0;
}

.pagination__link--active {
  border-color: #ffffff
}

/* Pricing card */

.pricing-card__heading {
  background-color: #2e3050;
}

/* Social follow and social sharing */

.social-follow__icon:hover,
.social-follow__icon:focus,
.social-sharing__icon:hover,
.social-sharing__icon:focus {
  background-color: rgba(0, 36, 147, 1.0);
}

.social-follow__icon:active,
.social-sharing__icon:active {
  background-color: rgba(133, 196, 255, 1.0);
}

.icon--light .social-follow__icon:hover,
.icon--light .social-follow__icon:focus,
.icon--light .social-sharing__icon:hover,
.icon--light .social-sharing__icon:focus {
  background-color: rgba(175, 175, 175, 1.0);
}

.icon--light .social-follow__icon:active,
.icon--light .social-sharing__icon:active {
  background-color: rgba(255, 255, 255, 1.0);
}

/* Tabs */

.tabs__tab,
.tabs__tab:hover,
.tabs__tab:focus,
.tabs__tab:active {
  border-color: #231f20;
  color: #231f20;
}










.media {
  display: flex;
  gap: 40px;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .media {
    flex-direction: column;
    gap: 24px;
    margin-top: 56px;
  }
}

@media screen and (min-width: 768px) {
  .media.media--img-right {
    flex-direction: row-reverse;
  }
}

.media__contents {
  flex: 1;
}

.media__title {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.58;
  margin-top: 0;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .media__title {
    font-size: 22px;
    margin-bottom: 20px;
  }
}

.media__text > p {
  margin-top: 1em;
}

.media__text > p:first-of-type {
  margin-top: 0;
}

.media__image {
  max-width: 420px;
}
@media screen and (max-width: 767px) {
  .media__image {
    width: 100%;
    text-align: center;
  }
}

.media__image img {
  vertical-align: top;
}





.graybox {
  background-color: #f4f4f4;
  border-radius: 8px;
  padding: 40px;
  margin-top: 40px;
}
@media screen and (max-width: 769px) {
  .graybox {
    padding: 20px;
  }
}

.graybox__title {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.58;
  margin-top: 0;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .graybox__title {
    font-size: 22px;
    margin-bottom: 20px;
  }
}

/* Graybox Media */

.graybox .media__image {
  max-width: 380px;
}

.graybox-media {
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .graybox-media {
    flex-direction: column;
    gap: 24px;
  }
}

@media screen and (min-width: 768px) {
  .graybox-media.graybox-media--img-right {
    flex-direction: row-reverse;
  }
}

.graybox__contents {
  flex: 1;
}

.graybox__image {
  max-width: 380px;
}
@media screen and (max-width: 767px) {
  .graybox__image {
    width: 100%;
    text-align: center;
  }
}

.graybox__image img {
  vertical-align: top;
}





.button__normal { max-width: 420px;}
.button__large { max-width: 800px;}

.button__normal,
.button__large {
  text-align: center;
  margin-top: 80px;
  margin: 40px auto 0;
}
@media screen and (max-width: 769px) {
  .button__normal {
    margin-top: 40px;
  }
}

.button--blank {
  display: block !important;
  background-color: #23864d;
  border-radius: 30px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-decoration: none;
  padding: 20px 10px !important;
  transition: opacity ease .3s;
}
.button--blank::after {
  content: none !important;
}
.button--blank:hover {
  font-weight: bold;
  color: #fff;
  opacity: .8;
}

.button--blank > span {
  padding-right: 26px;
  position: relative;
}
.button--blank > span::after {
  content: '';
  display: block;
  width: 15px;
  height: 15px;
  background: url("data:image/svg+xml,%3Csvg width='14' height='14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.625.19v11.067H14V.189H2.625Zm10.281 10.003H3.72v-8.94h9.187v8.94Z' fill='%23fff'/%3E%3Cpath d='M1.094 12.748V2.744H0v11.068h11.375v-1.064H1.094Z' fill='%23fff'/%3E%3C/svg%3E") no-repeat;
  position: absolute;
  top: 3px;
  right: 0;
}

.button--border {
  display: block !important;
  background: #fff;
  border: 1px solid #23864d;
  border-radius: 30px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  color: #23864d;
  text-decoration: none;
  padding: 20px 10px !important;
  transition: opacity ease .3s;
}
.button--border:hover {
  font-weight: bold;
  opacity: .8;
}

.button--border > span {
  padding-right: 20px;
  position: relative;
}
.button--border > span::after {
  content: '';
  display: block;
  width: 7px;
  height: 12px;
  background: url("data:image/svg+xml,%3Csvg width='7' height='12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.534.55 0 2.08 3.933 6 0 9.92l1.534 1.528L7 6 1.534.551Z' fill='%2323864D'/%3E%3C/svg%3E") no-repeat;
  position: absolute;
  top: 4px;
  right: 0;
}

.button--cv {
  display: block !important;
  background: linear-gradient(180deg, #17733e 0%, #23864d 100%);
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-decoration: none;
  padding: 25px 10px;
  transition: opacity ease .3s;
}
@media screen and (max-width: 769px) {
  .button--cv {
    font-size: 20px;
  }
}

.button--cv:hover {
  font-weight: bold;
  color: #fff;
  opacity: .8;
}

.button--cv.button--border {
  background: #fff;
  border-radius: 0;
  border: 1px solid #23864d;
  color: #23864d;
}





.cv-area {
  background-color: #eaf1e4;
  border-radius: 8px;
  padding: 40px;
  margin-top: 80px;
}
@media screen and (max-width: 769px) {
  .cv-area {
    padding: 20px;
    margin-top: 40px;
  }
}

.cv-area__title {
  text-align: center;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.6;
  padding-bottom: 18px;
  margin-top: 0;
  margin-bottom: 24px;
  position: relative;
}
@media screen and (max-width: 769px) {
  .cv-area__title {
    font-size: 22px;
    margin-bottom: 20px;
  }
}

.cv-area__title::after {
  content: '';
  display: block;
  width: 64px;
  height: 4px;
  background-color: #23864d;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 769px) {
  .cv-area__title::after {
    width: 48px;
  }
}

.cv-area__button {
  max-width: 420px;
  margin: 40px auto 0;
}
@media screen and (max-width: 769px) {
  .cv-area__button {
    margin-top: 24px;
  }
}

.cv-area-line {
  border: 1px solid #23864d;
  border-top: 3px solid #23864d;
  padding: 40px;
  margin-top: 80px;
}
@media screen and (max-width: 769px) {
  .cv-area-line {
    padding: 20px;
    margin-top: 40px;
  }
}

.cv-area-line__2col {
  display: flex;
  justify-content: center;
  gap: 40px;
}
@media screen and (max-width: 769px) {
  .cv-area-line__2col {
    flex-direction: column;
    gap: 20px;
  }
}

.cv-area-line__item {
  width: 50%;
  max-width: 400px;
}
@media screen and (max-width: 769px) {
  .cv-area-line__item {
    width: 100%;
  }
}

.cv-area-line__sup {
  text-align: center;
  font-size: 16px;
  line-height: 1.5;
  margin-top: 12px;
  margin-bottom: 0;
}





.u-fw-bold { font-weight: bold;}

.u-txt-notes {
  font-size: 16px;
  color: #666;
}
@media screen and (max-width: 769px) {
  .u-txt-notes { font-size: 14px;}
}

.u-mt20 { margin-top: 20px;}
.u-mt40 { margin-top: 40px;}

@media screen and (min-width: 768px) {
  .u-mt40-pc { margin-top: 40px;}
  .u-mt80-pc { margin-top: 80px;}
}
@media screen and (max-width: 769px) {
  .u-mt20-pc { margin-top: 20px;}
}





.blog-listing { display: none;}
.blog-post-section:has(.blog-listing) { display: none;}