@charset "UTF-8";
/* -- Color -- */
/* -- Fonts -- */
/* -- Margin -- */
/* -- @font-face -- */
/* -- Font around -- */
/* -- Prefix -- */
/* -- Media Screen -- */
/* -- Retina -- */
/* -- Flex -- */
/* -- Placeholder -- */
/* タイトル
------------------------------------------------------------*/
#page_title {
  overflow: hidden; }
  #page_title .page_title__rows {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0 min(15%, 180px); }
    #page_title .page_title__rows .page_title__ttl {
      font-size: clamp(24px, calc( 24px + ( 36 - 24 ) * ( ( 100dvw - 390px ) / ( 1920 - 390 ) ) ), 36px);
      flex-shrink: 0;
      max-width: 50%;
      margin-bottom: 0; }
    #page_title .page_title__rows .page_title__img {
      margin-right: calc( 50% - 50dvw ); }

.breadcrumbs {
  margin: 20px 0; }
  .breadcrumbs .aioseo-breadcrumbs {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0 10px;
    font-size: 14px; }
    .breadcrumbs .aioseo-breadcrumbs .aioseo-breadcrumb a {
      color: inherit;
      letter-spacing: 0.04em;
      text-decoration: none; }
      .breadcrumbs .aioseo-breadcrumbs .aioseo-breadcrumb a:hover {
        color: #00b5ed; }
    .breadcrumbs .aioseo-breadcrumbs .aioseo-breadcrumb:last-child {
      font-weight: 500; }
    .breadcrumbs .aioseo-breadcrumbs .aioseo-breadcrumb-separator {
      font-size: 16px;
      font-weight: 500;
      color: rgba(27, 80, 145, 0.4); }

/* コンテンツ
------------------------------------------------------------*/
#contents {
  margin-top: calc( clamp(60px, 15dvw, 100px) * 0.6 );
  margin-bottom: clamp(60px, 15dvw, 100px); }

/* フッター
------------------------------------------------------------*/
#footer {
  margin-top: clamp(60px, 15dvw, 100px); }

/* ブログ関連
------------------------------------------------------------*/
#post article header {
  margin-bottom: calc( clamp(60px, 15dvw, 100px) * 0.6 ); }
  #post article header h1 {
    font-size: clamp(18px, calc( 18px + ( 32 - 18 ) * ( ( 100dvw - 390px ) / ( 1920 - 390 ) ) ), 32px);
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.1em; }
  #post article header .post_data {
    margin-top: 1.0em; }
#post .blog_list {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: calc( clamp(60px, 15dvw, 100px) * 0.4 ) clamp(20px, 5.4%, 60px); }
  #post .blog_list .blog_list__post {
    flex-basis: calc( 50% - ( clamp(20px, 5.4%, 60px) * 0.5 ) ); }
    @media screen and (min-width: 980px) {
      #post .blog_list .blog_list__post {
        flex-basis: calc( 33.33% - ( clamp(20px, 5.4%, 60px) - ( clamp(20px, 5.4%, 60px) * 0.333 ) ) ); } }

.wp-pagenavi {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: clamp(14px, calc( 14px + ( 20 - 14 ) * ( ( 100dvw - 390px ) / ( 1200 - 390 ) ) ), 20px);
  gap: 0.5em;
  margin-top: calc( clamp(60px, 15dvw, 100px) * 0.6 ); }
  .wp-pagenavi a,
  .wp-pagenavi span {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    gap: 0 0.5em;
    font-weight: bold;
    color: #1b5091;
    line-height: 1.0;
    text-decoration: none;
    text-align: center;
    padding: 0 0.5em; }
  .wp-pagenavi a.last, .wp-pagenavi a.nextpostslink {
    padding: 1.0em 0; }
    .wp-pagenavi a.last::before, .wp-pagenavi a.nextpostslink::before {
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      content: '';
      width: 100%;
      height: 3px;
      margin: auto;
      background-color: #1b5091;
      border-radius: 25em; }
    .wp-pagenavi a.last::after, .wp-pagenavi a.nextpostslink::after {
      content: '\f105';
      font-family: 'Font Awesome 6 Free';
      font-weight: 900;
      color: #1b5091; }
  .wp-pagenavi a.first, .wp-pagenavi a.previouspostslink {
    padding: 1.0em 0; }
    .wp-pagenavi a.first:before, .wp-pagenavi a.previouspostslink:before {
      content: '\f104';
      font-family: 'Font Awesome 6 Free';
      font-weight: 900;
      color: #1b5091; }
    .wp-pagenavi a.first::after, .wp-pagenavi a.previouspostslink::after {
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      content: '';
      width: 100%;
      height: 3px;
      margin: auto;
      background-color: #1b5091;
      border-radius: 25em; }
  .wp-pagenavi a:hover {
    opacity: 0.6; }

.pagination {
  margin-top: calc( clamp(60px, 15dvw, 100px) * 0.6 ); }
  .pagination ul {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 1.0em 1.25em; }
    .pagination ul li {
      flex-grow: 1; }
      .pagination ul li a {
        display: block;
        color: inherit;
        text-decoration: none; }
        .pagination ul li a[rel="prev"] span, .pagination ul li a[rel="next"] span {
          position: relative;
          display: block;
          font-size: 0.875em;
          font-weight: 500;
          color: #00b5ed;
          line-height: 1.0;
          letter-spacing: 0.04em;
          margin-bottom: 1.0em; }
          .pagination ul li a[rel="prev"] span::before, .pagination ul li a[rel="next"] span::before {
            position: absolute;
            font-family: 'Font Awesome 6 Free';
            font-weight: 900; }
        .pagination ul li a[rel="prev"] span {
          padding-left: 1.0em; }
          .pagination ul li a[rel="prev"] span::before {
            left: 0;
            content: '\f104'; }
        .pagination ul li a[rel="next"] {
          text-align: right; }
          .pagination ul li a[rel="next"] span {
            padding-right: 1.0em; }
            .pagination ul li a[rel="next"] span::before {
              right: 0;
              content: '\f105'; }
        .pagination ul li a:hover {
          color: #00b5ed; }

/* フォーム設定
------------------------------------------------------------*/
.wpcf7-form .wpcf7-checkbox,
.wpcf7-form .wpcf7-radio {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1.0em 2.0em; }
  .wpcf7-form .wpcf7-checkbox .wpcf7-list-item,
  .wpcf7-form .wpcf7-radio .wpcf7-list-item {
    display: block;
    margin: 0; }
.wpcf7-form .wpcf7-acceptance {
  display: block; }
  .wpcf7-form .wpcf7-acceptance .wpcf7-list-item {
    display: block;
    margin: 0; }
.wpcf7-form .wpcf7-submit {
  margin: auto; }
.wpcf7-form .p-country-name {
  display: none; }
.wpcf7-form .form_layout .form_layout__col {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0 clamp(12px, 2.5dvw, 20px);
  margin-bottom: calc( clamp(60px, 15dvw, 100px) * 0.33 ); }
  .wpcf7-form .form_layout .form_layout__col:last-child {
    margin-bottom: 0; }
  .wpcf7-form .form_layout .form_layout__col dt {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    gap: 0 10px;
    flex-grow: 1;
    flex-basis: 200px;
    font-weight: bold;
    letter-spacing: 0.06em;
    margin-bottom: 1.0em; }
    .wpcf7-form .form_layout .form_layout__col dt::after {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      font-size: 0.75em;
      text-align: center;
      width: 3.0em;
      height: 2.0em;
      border-radius: 6px; }
    .wpcf7-form .form_layout .form_layout__col dt.required::after {
      content: '必須';
      color: #FFFFFF;
      background-color: red; }
    .wpcf7-form .form_layout .form_layout__col dt.optional::after {
      content: '任意';
      background-color: #e6e6e6; }
  .wpcf7-form .form_layout .form_layout__col dd {
    flex-grow: 4;
    flex-basis: 660px;
    min-height: 44px; }
    .wpcf7-form .form_layout .form_layout__col dd .form_layout__rows {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      gap: 10px;
      margin: 1.25em 0; }
      .wpcf7-form .form_layout .form_layout__col dd .form_layout__rows .field-text {
        flex-shrink: 0; }
      .wpcf7-form .form_layout .form_layout__col dd .form_layout__rows .field-label {
        flex-shrink: 0;
        flex-basis: 7.0em; }
      .wpcf7-form .form_layout .form_layout__col dd .form_layout__rows [data-name*="pref"],
      .wpcf7-form .form_layout .form_layout__col dd .form_layout__rows [data-name*="city"],
      .wpcf7-form .form_layout .form_layout__col dd .form_layout__rows [data-name*="adrs"] {
        display: block;
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: auto; }
      .wpcf7-form .form_layout .form_layout__col dd .form_layout__rows:first-of-type {
        margin-top: 0; }
      .wpcf7-form .form_layout .form_layout__col dd .form_layout__rows:last-of-type {
        margin-bottom: 0; }
    .wpcf7-form .form_layout .form_layout__col dd .field-memo {
      display: block;
      line-height: 1.6;
      letter-spacing: 0.06em;
      margin-top: 1.0em; }
    .wpcf7-form .form_layout .form_layout__col dd .error {
      display: block;
      font-weight: bold;
      color: red;
      width: 100%; }
      .wpcf7-form .form_layout .form_layout__col dd .error::before {
        display: inline-block;
        font-family: 'Font Awesome 6 Free';
        font-weight: 900;
        content: '\f071';
        margin-right: 0.5em; }
    .wpcf7-form .form_layout .form_layout__col dd.is-error input,
    .wpcf7-form .form_layout .form_layout__col dd.is-error textarea,
    .wpcf7-form .form_layout .form_layout__col dd.is-error select {
      border-color: red; }
    .wpcf7-form .form_layout .form_layout__col dd.is-error input[type="radio"] + span::before,
    .wpcf7-form .form_layout .form_layout__col dd.is-error input[type="checkbox"] + span::before {
      border-color: red; }
  @media screen and (min-width: 980px) {
    .wpcf7-form .form_layout .form_layout__col {
      flex-wrap: nowrap; }
      .wpcf7-form .form_layout .form_layout__col dt {
        min-height: 44px;
        margin-bottom: 0;
        padding-right: 3.25em; }
        .wpcf7-form .form_layout .form_layout__col dt::after {
          position: absolute;
          top: 0.833em;
          right: 0; } }
.wpcf7-form .privacy_agree_text {
  margin: calc( clamp(60px, 15dvw, 100px) * 0.5 ) 0 2em; }
  .wpcf7-form .privacy_agree_text:first-child {
    margin-top: 0; }
  .wpcf7-form .privacy_agree_text:last-child {
    margin-bottom: 0; }
.wpcf7-form .form_submit {
  margin: calc( clamp(60px, 15dvw, 100px) * 0.5 ) auto 0; }
