@charset "UTF-8";
/* -- Color -- */
/* -- Fonts -- */
/* -- Margin -- */
/* -- Radius -- */
/* -- @font-face -- */
/* -- Font around -- */
/* -- Prefix -- */
/* -- Media Screen -- */
/* -- Retina -- */
/* -- Flex -- */
/* -- Placeholder -- */
/* タイトル
------------------------------------------------------------*/
#page_visual {
  position: relative;
  z-index: 1;
  width: 100%;
  max-height: 360px;
  aspect-ratio: 16 / 9; }
  #page_visual img {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  #page_visual::before {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    content: '';
    width: 100%;
    height: 100%;
    background-image: linear-gradient(to right, #fcf0eb 0%, #eafafc 100%);
    opacity: 0.9;
    mix-blend-mode: hard-light; }

.breadcrumbs {
  padding: 1.0em 0;
  background-color: #eafafc; }
  .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; }
    .breadcrumbs .aioseo-breadcrumbs .aioseo-breadcrumb {
      font-size: 12px;
      line-height: 1.6;
      letter-spacing: 0.04em; }
      .breadcrumbs .aioseo-breadcrumbs .aioseo-breadcrumb a {
        color: inherit;
        text-decoration: none; }
    .breadcrumbs .aioseo-breadcrumbs .aioseo-breadcrumb-separator {
      color: #38d0e3; }

/* コンテンツ
------------------------------------------------------------*/
#contents {
  margin-top: calc( clamp(60px, 15dvw, 120px) * 0.5 );
  margin-bottom: clamp(60px, 15dvw, 120px); }

/* 固定ページ
------------------------------------------------------------*/
.page_children {
  margin-top: clamp(60px, 15dvw, 120px); }
  .page_children .page_children__ttl {
    position: relative;
    z-index: 1; }
    .page_children .page_children__ttl .headline {
      width: fit-content;
      margin-right: auto;
      margin-left: auto;
      padding: 0 1.0em;
      background-color: #ffffff; }
      .page_children .page_children__ttl .headline::after {
        position: absolute;
        bottom: calc( 1.0em - 1px );
        left: 0;
        z-index: -1;
        content: '';
        width: 100%;
        height: 2px;
        margin: auto;
        background-color: #eeeeee; }
  .page_children .page_children__section {
    margin-bottom: calc( clamp(60px, 15dvw, 120px) * 0.66 ); }
    .page_children .page_children__section a {
      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;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      color: inherit;
      text-decoration: none;
      padding: min(calc( var(--vw) * 5 ), 40px);
      background-color: #ffffff;
      background-image: url("../img/page/illust_flower.svg");
      background-repeat: no-repeat;
      background-position: calc( 100% - ( min(calc( var(--vw) * 5 ), 40px) * 0.5 ) ) calc( min(calc( var(--vw) * 5 ), 40px) * 0.5 );
      background-size: min(calc( var(--vw) * 20 ), 146px) auto;
      border-radius: 20px;
      box-shadow: 0 6px 20px #eafafc; }
      .page_children .page_children__section a .thumbnail {
        flex-shrink: 0;
        flex-basis: min(calc( var(--vw) * 25 ), 380px); }
      .page_children .page_children__section a .post_content {
        flex-grow: 1;
        flex-shrink: 1;
        padding-left: min(calc( var(--vw) * 5 ), 60px); }
        .page_children .page_children__section a .post_content .post_title {
          font-size: clamp(16px, calc( 16px + ( 24 - 16 ) * ( ( 100dvw - 390px ) / ( 1920 - 390 ) ) ), 24px);
          margin-bottom: 1.0em; }
        .page_children .page_children__section a .post_content .post_excerpt {
          font-size: clamp(12px, calc( 12px + ( 16 - 12 ) * ( ( 100dvw - 390px ) / ( 1920 - 390 ) ) ), 16px); }
        .page_children .page_children__section a .post_content .button {
          font-size: clamp(12px, calc( 12px + ( 16 - 12 ) * ( ( 100dvw - 390px ) / ( 1920 - 390 ) ) ), 16px);
          max-width: 356px;
          margin: 0; }
      .page_children .page_children__section a:hover .thumbnail img {
        opacity: 1.0;
        -webkit-transform: scale(1.2);
        -moz-transform: scale(1.2);
        -ms-transform: scale(1.2);
        -o-transform: scale(1.2);
        transform: scale(1.2); }
      .page_children .page_children__section a:hover .button .button__link {
        background-color: rgba(255, 255, 255, 0.6); }
        .page_children .page_children__section a:hover .button .button__link::after {
          right: 1.25em; }
      .page_children .page_children__section a:hover .button[data-color="pink"] .button__link {
        color: #ffffff;
        background-color: #ff8fc7; }
        .page_children .page_children__section a:hover .button[data-color="pink"] .button__link::after {
          background-color: #ffffff; }
      .page_children .page_children__section a:hover .button[data-color="orange"] .button__link {
        color: #ffffff;
        background-color: #efad92; }
        .page_children .page_children__section a:hover .button[data-color="orange"] .button__link::after {
          background-color: #ffffff; }
      .page_children .page_children__section a:hover .button[data-color="blue"] .button__link {
        color: #ffffff;
        background-color: #91e5ef; }
        .page_children .page_children__section a:hover .button[data-color="blue"] .button__link::after {
          background-color: #ffffff; }
      .page_children .page_children__section a:hover .button[data-color="green"] .button__link {
        color: #ffffff;
        background-color: #97e4a0; }
        .page_children .page_children__section a:hover .button[data-color="green"] .button__link::after {
          background-color: #ffffff; }
      .page_children .page_children__section a:hover .button[data-color="purple"] .button__link {
        color: #ffffff;
        background-color: #d89cdd; }
        .page_children .page_children__section a:hover .button[data-color="purple"] .button__link::after {
          background-color: #ffffff; }
    .page_children .page_children__section:last-child {
      margin-bottom: 0; }
  .page_children .page_children__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: clamp(16px, calc( var(--vw) * 5 ), 40px); }
    .page_children .page_children__list li {
      flex-basis: calc( 50% - ( clamp(16px, calc( var(--vw) * 5 ), 40px) * 0.5 ) ); }
      @media screen and (min-width: 768px) {
        .page_children .page_children__list li {
          flex-basis: calc( 33.33% - ( clamp(16px, calc( var(--vw) * 5 ), 40px) - ( clamp(16px, calc( var(--vw) * 5 ), 40px) * 0.333 ) ) ); } }
      .page_children .page_children__list li a {
        display: block;
        color: inherit;
        text-decoration: none; }
        .page_children .page_children__list li a .page_title {
          display: block;
          line-height: 1.6;
          letter-spacing: 0.04em;
          text-align: center;
          margin-top: 1.0em; }
        .page_children .page_children__list li a:hover .thumbnail img {
          opacity: 1.0;
          -webkit-transform: scale(1.2);
          -moz-transform: scale(1.2);
          -ms-transform: scale(1.2);
          -o-transform: scale(1.2);
          transform: scale(1.2); }
      .page_children .page_children__list li.is-current a {
        opacity: 0.6; }
  .page_children:first-child {
    margin-top: 0; }

/* ブログ関連
------------------------------------------------------------*/
#post .post_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-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: calc( clamp(60px, 15dvw, 120px) * 0.66 ) min(6.66%, 80px); }
  #post .post_rows .post_contents {
    flex-grow: 1.618;
    flex-basis: 820px; }
  #post .post_rows .post_sidebar {
    flex-shrink: 0;
    flex-grow: 1;
    flex-basis: 300px; }
  @media screen and (min-width: 980px) {
    #post .post_rows {
      flex-wrap: nowrap; } }
#post article header {
  margin-bottom: calc( clamp(60px, 15dvw, 120px) * 0.5 ); }
  #post article header h1 {
    font-size: clamp(18px, calc( 18px + ( 32 - 18 ) * ( ( 100dvw - 320px ) / ( 1200 - 320 ) ) ), 32px);
    font-weight: normal;
    font-style: normal;
    line-height: 1.6;
    letter-spacing: 0.04em; }
  #post article header .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-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: calc( clamp(60px, 15dvw, 120px) * 0.4 ) clamp(10px, calc( var(--vw) * 2.5 ), 40px); }
  #post .blog_list .blog_list__post {
    flex-basis: calc( 50% - ( clamp(10px, calc( var(--vw) * 2.5 ), 40px) * 0.5 ) ); }
#post .post_sidebar .post_sidebar__sticky {
  position: sticky;
  top: 120px;
  right: 0;
  z-index: 10; }
  #post .post_sidebar .post_sidebar__sticky .post_sidebar__section {
    margin-bottom: calc( clamp(60px, 15dvw, 120px) * 0.33 ); }
    #post .post_sidebar .post_sidebar__sticky .post_sidebar__section:last-child {
      margin-bottom: 0; }
  #post .post_sidebar .post_sidebar__sticky .post_sidebar__ttl {
    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: 0 1.0em;
    flex-grow: 1;
    flex-shrink: 1;
    font-weight: 500;
    line-height: 1.0;
    margin-bottom: 1.0em; }
    #post .post_sidebar .post_sidebar__sticky .post_sidebar__ttl::before {
      content: '';
      width: 1.0em;
      height: 1.0em;
      background-color: #bdeff6;
      -webkit-mask: url("../img/icon_petal.svg") no-repeat 50% 50%/contain;
      mask: url("../img/icon_petal.svg") no-repeat 50% 50%/contain; }
  #post .post_sidebar .post_sidebar__sticky .category_list {
    overflow: hidden;
    border: 2px solid #eafafc;
    border-radius: 12px; }
    #post .post_sidebar .post_sidebar__sticky .category_list .cat-item {
      border-bottom: 1px solid #eafafc; }
      #post .post_sidebar .post_sidebar__sticky .category_list .cat-item a {
        position: relative;
        display: block;
        color: inherit;
        text-decoration: none;
        padding: 1.25em 3.25em 1.25em 1.25em; }
        #post .post_sidebar .post_sidebar__sticky .category_list .cat-item a::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;
          position: absolute;
          top: 0;
          right: 1.25em;
          bottom: 0;
          content: '\f061';
          font-family: 'Font Awesome 6 Free';
          font-size: 1.0em;
          font-weight: 900;
          color: #bdeff6;
          -webkit-transition: 0.4s ease-out;
          -moz-transition: 0.4s ease-out;
          -ms-transition: 0.4s ease-out;
          -o-transition: 0.4s ease-out;
          transition: 0.4s ease-out; }
        #post .post_sidebar .post_sidebar__sticky .category_list .cat-item a:hover {
          color: #ffffff;
          background-color: #bdeff6; }
          #post .post_sidebar .post_sidebar__sticky .category_list .cat-item a:hover::after {
            color: #ffffff; }
      #post .post_sidebar .post_sidebar__sticky .category_list .cat-item:last-child {
        border-bottom: none; }
  #post .post_sidebar .post_sidebar__sticky .archive_list li a {
    position: relative;
    display: inline-block;
    color: inherit;
    text-decoration: none;
    padding: 0.5em 0 0.5em 1.5em; }
    #post .post_sidebar .post_sidebar__sticky .archive_list li a::before {
      position: absolute;
      left: 0;
      content: '\f061';
      font-family: 'Font Awesome 6 Free';
      font-size: 1.0em;
      font-weight: 900;
      color: #bdeff6; }
    #post .post_sidebar .post_sidebar__sticky .archive_list li a:hover {
      color: #38d0e3; }

.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, 120px) * 0.5 ); }
  .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: inherit;
    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: #eeeeee;
      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: #eeeeee; }
  .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: #eeeeee; }
    .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: #eeeeee;
      border-radius: 25em; }
  .wp-pagenavi a:hover {
    opacity: 0.6; }

.pagination {
  margin-top: calc( clamp(60px, 15dvw, 120px) * 0.5 ); }
  .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: bold;
          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 {
          opacity: 0.6; }

/* フォーム設定
------------------------------------------------------------*/
.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, 120px) * 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: #eeeeee; }
  .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, 120px) * 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, 120px) * 0.5 ) auto 0; }
