@charset "UTF-8";
/*
Theme Name: astro-sp
Theme URI: 
Author: 
Author URI: 
Description: 
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astro-sp
Tags: 
*/
html {
  scroll-padding-top: 70px;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 0 !important; }

body {
  position: relative;
  font-family: "Noto Sans JP", sans-serif; }

h1, h2, h3, h4, h5, h6 {
  padding-bottom: 0.25em;
  font-family: "Noto Sans JP", sans-serif; }

h4 {
  padding-bottom: 1em !important; }

a:hover {
  transition: all 0.5s ease-out;
  opacity: 0.7; }

figcaption {
  font-size: 1rem !important;
  color: #313131 !important; }

.fixed {
  position: fixed; }

.middle img {
  vertical-align: middle; }

.jc-center {
  justify-content: center; }

.ob-hidden {
  overflow: hidden; }

.relative {
  position: relative; }

.spWidth160 {
  max-width: 160px; }

.smallText {
  font-size: var(--wp--preset--font-size--small); }

@media (max-width: 781px) {
  .col-reverse {
    flex-direction: column-reverse; } }
@media (max-width: 781px) {
  .sp-none {
    display: none !important; } }
.ai-stretch {
  align-items: stretch; }

@media (min-width: 782px) {
  .pc-none {
    display: none !important; } }
@media (max-width: 781px) {
  .wp-block-post-template-is-layout-grid:not(.is-not-stacked-on-mobile) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  .wp-block-group-is-layout-grid:not(.is-not-stacked-on-mobile) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.border-none {
  border: none !important; }

.oswald {
  font-family: "Oswald", sans-serif;
  font-weight: 500; }

.color1 strong {
  background: linear-gradient(90deg, #22d3ee, #18d396 80%, #18e084);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; }

.fz125 {
  font-size: 1.25em; }

.txtColorGray {
  color: #666666; }

.radius-btn1 a {
  display: inline-block;
  position: relative;
  border-radius: 100vh;
  background: #0000ff;
  color: #fff;
  padding: 1em 5em;
  text-decoration: none !important; }
  .radius-btn1 a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2em;
    width: 12px;
    height: 12px;
    margin: auto;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    box-sizing: border-box; }

.radius-btn2 a {
  display: inline-block;
  position: relative;
  border-radius: 100vh;
  background: #fff;
  color: #0000ff;
  border: 1px solid #0000ff;
  padding: 1em 5em;
  text-decoration: none !important; }
  .radius-btn2 a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2em;
    width: 12px;
    height: 12px;
    margin: auto;
    border-top: 2px solid #0000ff;
    border-right: 2px solid #0000ff;
    transform: rotate(45deg);
    box-sizing: border-box; }

.gradient-marker strong {
  background-image: linear-gradient(90deg, #98cdf1, #a2f0c3);
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: 100%;
  padding-left: 5px;
  padding-right: 5px;
  line-height: 2em;
  letter-spacing: 0.1em;
  font-weight: 600; }

.icon-category a {
  display: inline-block;
  background: #c4ebff;
  padding: 0.2em 1em;
  text-decoration: none;
  font-size: var(--wp--preset--font-size--small); }

.breadcrumbs {
  font-size: 14px; }
  .breadcrumbs a {
    color: #00118f;
    font-size: 14px; }

/* デフォルトのブレークポイント無効化. */
@media (min-width: 600px) {
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none; }

  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex; } }
/* 新しいブレークポイント設定. */
@media (min-width: 1000px) {
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    background-color: inherit;
    display: block;
    position: relative;
    width: 100%;
    z-index: auto; }

  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: none; } }
#g-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  transition: 0.5s all;
  height: 60px; }
  #g-header .header-menu {
    border-top: 1px solid #ddd;
    width: 100%; }
    #g-header .header-menu li {
      width: 100%; }
      #g-header .header-menu li a {
        display: block;
        color: #000;
        border-bottom: 1px solid #ddd;
        width: 100%;
        padding: 1em 0; }
    #g-header .header-menu a {
      transition: 0.5s all; }
    #g-header .header-menu .has-child .wp-block-navigation-submenu {
      display: inline-grid;
      column-gap: 0;
      grid-template-columns: repeat(2, auto);
      width: 100%;
      padding: .3em 0; }
      #g-header .header-menu .has-child .wp-block-navigation-submenu li a {
        color: #000;
        position: relative;
        padding-left: 1em;
        font-size: 16px; }
        #g-header .header-menu .has-child .wp-block-navigation-submenu li a::after {
          content: '';
          position: absolute;
          top: 50%;
          left: 0;
          display: inline-block;
          width: 0.5em;
          height: 2px;
          background-color: #0000ff; }

@media (min-width: 1000px) {
  #g-header {
    height: 110px;
    font-weight: 600; }
    #g-header .header-menu {
      border: none;
      width: auto;
      height: 110px; }
      #g-header .header-menu li {
        width: auto; }
        #g-header .header-menu li a {
          display: auto;
          border-bottom: none;
          color: #fff; }
      #g-header .header-menu .has-child .wp-block-navigation-submenu {
        width: 350px;
        border-radius: 10px; }
        #g-header .header-menu .has-child .wp-block-navigation-submenu li {
          margin-bottom: 0;
          border-bottom: 1px solid #ddd; }
          #g-header .header-menu .has-child .wp-block-navigation-submenu li a {
            padding: 0.8em;
            font-size: 15px; }
            #g-header .header-menu .has-child .wp-block-navigation-submenu li a::after {
              display: none; }
            #g-header .header-menu .has-child .wp-block-navigation-submenu li a:hover {
              color: #00118f;
              text-decoration: underline; }
        #g-header .header-menu .has-child .wp-block-navigation-submenu li:nth-child(odd) {
          border-right: 1px solid #ddd; }
        #g-header .header-menu .has-child .wp-block-navigation-submenu li:nth-child(odd):not(:last-child) {
          border-bottom: 1px solid #ddd; }
      #g-header .header-menu .contact a {
        display: inline-block;
        width: 110px !important;
        height: 110px !important;
        font-size: 0px;
        background: url("assets/images/icon-contact.svg") no-repeat; } }
.page-head {
  margin-top: 60px; }
  .page-head .wp-block-image {
    margin-left: calc(-1 * var(--wp--style--root--padding-left));
    margin-right: calc(-1 * var(--wp--style--root--padding-right)); }

@media (min-width: 1000px) {
  .page-head {
    margin-top: 110px; } }
.g-header-moved {
  background: #fff; }
  .g-header-moved .header-menu {
    color: #000 !important; }
    .g-header-moved .header-menu a {
      color: #000 !important; }

.has-modal-open .admin-bar .is-menu-open .wp-block-navigation__responsive-dialog {
  margin-top: 0; }

.wp-block-navigation__responsive-container-open svg, .wp-block-navigation__responsive-container-close svg {
  color: #0000ff; }

.wp-block-navigation__responsive-container-close svg {
  width: 50px;
  height: 50px;
  color: #fff;
  background: #0000ff; }

.wp-block-navigation__responsive-container-open {
  margin-top: 10px !important;
  margin-right: 10px !important; }
  .wp-block-navigation__responsive-container-open svg {
    width: 40px;
    height: 40px; }

#modal-1 {
  padding: 0 !important; }

#modal-1-content {
  padding: 0 2em;
  padding-top: 100px; }

@media (min-width: 1000px) {
  #modal-1-content {
    padding: 0;
    padding-top: 0; } }
footer {
  margin: 0 !important; }

@media (max-width: 768px) {
  footer .fTelBtnContactWrap div:first-child strong a {
    font-size: 30px;
    text-decoration: none; } }
@media (min-width: 1000px) {
  footer .fTelBtnContactWrap {
    max-width: 680px; } }
.f-menu {
  flex-wrap: wrap; }
  .f-menu .wp-block-navigation-item {
    width: 40%; }

@media (max-width: 781px) {
  .sp-column {
    flex-direction: column; }

  .sp-mb-xs {
    margin-bottom: var(--wp--preset--spacing--x-small) !important; } }
#kv {
  width: 100vw;
  height: 100vh;
  margin: 0;
  position: relative; }
  #kv #kv-image {
    position: absolute;
    width: 100vw;
    height: 100vh;
    z-index: 10; }
    #kv #kv-image .wp-block-image {
      position: relative; }
      #kv #kv-image .wp-block-image img {
        width: 100vw;
        height: 100vh;
        object-fit: cover; }
  #kv #kv-text {
    position: absolute;
    width: 100vw;
    height: 100vh;
    z-index: 11; }
    #kv #kv-text .wp-block-cover__inner-container {
      text-align: center; }
      #kv #kv-text .wp-block-cover__inner-container p {
        display: inline-block; }

@keyframes zoomUp {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.05); } }
.kv-animation img {
  animation: zoomUp 5s ease-out 0s normal both; }

.c-card {
  position: relative; }
  .c-card .image {
    margin: 0 !important; }
    .c-card .image a {
      filter: grayscale(1); }
      .c-card .image a:hover {
        filter: grayscale(0);
        opacity: 1; }
  .c-card .text {
    width: 180px;
    height: 130px;
    position: absolute;
    z-index: 10; }
  .c-card .c-text {
    width: 180px;
    height: 100px;
    position: absolute;
    z-index: 10;
    top: calc(50% - 50px);
    left: calc(50% - 90px); }
  .c-card .text-tl, .c-card .text-tr, .c-card .text-bl, .c-card .text-br {
    width: 140px;
    height: 70px;
    position: absolute;
    z-index: 10; }
  .c-card .text-tl {
    top: 0;
    left: 0; }
  .c-card .text-tr {
    top: 0;
    right: 0; }
  .c-card .text-bl {
    bottom: 0;
    left: 0; }
  .c-card .text-br {
    bottom: 0;
    right: 0; }

.entry-content {
  margin: 0; }

.lead-p strong {
  padding: 0.3em 0;
  background: #00aa5d; }

.page-title-icon1 strong {
  display: inline-block;
  background: #405ddc;
  padding: 1em;
  color: #fff; }

@media (min-width: 782px) {
  .column-outside-right {
    flex: 1;
    margin-right: calc(50% - 50vw) !important; } }
.cr-card {
  position: relative; }
  .cr-card .place strong {
    background: #d3e9f4;
    display: inline-block;
    padding: 0.5em 1em; }
  .cr-card .map {
    color: #3b3b3b;
    background: url("assets/images/icon_map_g.svg") no-repeat;
    background-position: left center;
    padding-left: 2em; }

.line-title {
  border-bottom: 1px solid #abbbf4; }
  .line-title strong {
    display: inline-block;
    border-bottom: 1px solid #405ddc;
    padding: 0.5em 0;
    /*padding-right: 3em;*/
    font-weight: 700; }

.radius-link-block1 .l a {
  background: #fff;
  color: #0000ff;
  display: block;
  border: 1px solid #0000ff;
  border-radius: 100vh 0 0 100vh;
  padding: 1em 2em;
  text-decoration: none;
  position: relative; }
  .radius-link-block1 .l a strong {
    font-size: 1em; }
  .radius-link-block1 .l a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.5em;
    width: 12px;
    height: 12px;
    margin: auto;
    border-top: 2px solid #0000ff;
    border-right: 2px solid #0000ff;
    transform: rotate(45deg);
    box-sizing: border-box; }
.radius-link-block1 .r a {
  background: #fff;
  color: #0000ff;
  display: block;
  border: 1px solid #0000ff;
  border-radius: 0 100vh 100vh 0;
  padding: 1em 2em;
  text-decoration: none;
  position: relative;
  margin-left: -1px;
  width: calc(100% + 1px); }
  .radius-link-block1 .r a strong {
    font-size: 1em; }
  .radius-link-block1 .r a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.5em;
    width: 12px;
    height: 12px;
    margin: auto;
    border-top: 2px solid #0000ff;
    border-right: 2px solid #0000ff;
    transform: rotate(45deg);
    box-sizing: border-box; }

@media (min-width: 782px) {
  .radius-link-block1 .l a strong {
    font-size: 1.2em; }

  .radius-link-block1 .r a strong {
    font-size: 1.2em; } }
@media (max-width: 782px) {
  .imgRtxtLWrap figure {
    margin-inline-start: auto !important;
    margin-bottom: 1em; }
    .imgRtxtLWrap figure img {
      text-align: center; } }
.tab-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding: 0;
  margin: 0; }
  .tab-container .tab {
    cursor: pointer;
    color: #00118f;
    position: relative;
    width: 100%;
    padding: 0.5em 1em;
    border: 1px solid #c6c6c6;
    margin-left: -1px;
    margin-bottom: 1px;
    width: calc(100% + 1px);
    height: calc(100% + 1px); }
    .tab-container .tab:hover {
      opacity: 0.7; }
    .tab-container .tab::after {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      right: 1.5em;
      width: 8px;
      height: 8px;
      margin: auto;
      border-top: 2px solid #00118f;
      border-right: 2px solid #00118f;
      transform: rotate(135deg);
      box-sizing: border-box; }
  .tab-container .tab.active {
    background: #00118f;
    color: #fff;
    position: relative; }
    .tab-container .tab.active::after {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      right: 1.5em;
      width: 8px;
      height: 8px;
      margin: auto;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      transform: rotate(135deg);
      box-sizing: border-box; }

.content-container .content {
  display: none; }
.content-container .content.show {
  display: block; }

@media (min-width: 782px) {
  .tab-container {
    grid-template-columns: repeat(4, 1fr); } }
.table75-25 table {
  width: 100%;
  border-collapse: collapse; }
  .table75-25 table tr:first-child th {
    text-align: center;
    background: #f5f5f5;
    /* 任意 */ }
  .table75-25 table tr:not(:first-child) td:first-child {
    width: 75%; }
  .table75-25 table tr:not(:first-child) td:last-child {
    width: 25%; }

#modal {
  width: 100vw;
  height: 100vh;
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  background: #000;
  z-index: 100;
  display: none; }
  #modal #modal-content {
    margin: 10vh auto !important;
    height: 80vh;
    width: 80vw;
    position: relative;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: scroll; }
    #modal #modal-content #modal-body {
      position: absolute;
      top: 0;
      width: 100%; }
    #modal #modal-content .modal-close {
      font-size: 30px;
      color: #fff;
      position: fixed;
      right: 20px;
      top: 0;
      z-index: 101;
      cursor: pointer; }

.loader {
  position: absolute;
  z-index: 101;
  width: 60px;
  aspect-ratio: 2;
  --_g: no-repeat radial-gradient(circle closest-side,#000 90%,#0000);
  background: var(--_g) 0% 50%, var(--_g) 50% 50%, var(--_g) 100% 50%;
  background-size: calc(100%/3) 50%;
  animation: l3 1s infinite linear; }

@keyframes l3 {
  20% {
    background-position: 0%   0%, 50%  50%,100%  50%; }
  40% {
    background-position: 0% 100%, 50%   0%,100%  50%; }
  60% {
    background-position: 0%  50%, 50% 100%,100%   0%; }
  80% {
    background-position: 0%  50%, 50%  50%,100% 100%; } }
.wp-singular .wp-block-post-title {
  margin-top: 1em;
  margin-bottom: 1em; }

.smf-item__label__text {
  position: relative; }
  .smf-item__label__text::after {
    position: absolute;
    content: '必須';
    color: #00118f;
    width: 40px;
    height: 22px;
    top: 50%;
    transform: translateY(-50%);
    right: -50px;
    display: grid;
    place-items: center;
    background: #fff;
    border: 1px solid #00118f;
    border-radius: 4px;
    font-size: 12px; }

.smf-text-control__control {
  font-size: var(--wp--preset--font-size--general) !important; }

.smf-button-control__control {
  font-size: var(--wp--preset--font-size--general) !important;
  display: inline-block;
  position: relative;
  border-radius: 100vh !important;
  background: #0000ff !important;
  background-image: none;
  appearance: none;
  color: #fff !important;
  padding: 1em 5em !important;
  text-decoration: none !important; }
  .smf-button-control__control:hover {
    opacity: 0.7; }
  .smf-button-control__control::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2em;
    width: 12px;
    height: 12px;
    margin: auto;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    box-sizing: border-box; }

#autozip {
  display: none !important; }
