@charset "UTF-8";
/*-----------------------------------------
    Colors
-----------------------------------------*/
/*-----------------------------------------
    font
-----------------------------------------*/
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,600,700|Noto+Serif+JP:300,400,500,600,700&display=swap&subset=japanese");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
/*-----------------------------------------
    icomoon
-----------------------------------------*/
@import url("/wp-content/themes/original/addons/icomoon/style.css");
/*-----------------------------------------
    container
-----------------------------------------*/
/*-----------------------------------------
    media query
-----------------------------------------*/
/* 390pxデザイン時のpxからvwを計算 ------------*/
/* calc内で使いたい場合: calc( 100% - vw(10) ); */
/* 1280pxデザイン時のpxからvwを計算 ------------*/
/*-----------------------------------------
    その他
-----------------------------------------*/
:root {
  --scrollbar: 0;
}

html {
  box-sizing: border-box;
  min-height: 100vh;
  height: -webkit-fill-available;
}

*,
*:before,
*:after {
  box-sizing: inherit;
  margin: 0;
  padding: 0;
}

body {
  min-height: -webkit-fill-available;
  min-height: 100vh;
  color: var(--c-txt1, #222);
  line-height: 1.8;
  font-size: var(--fs-base, 16px);
  font-family: var(--ff-base, "Noto Sans JP");
  background: var(--c-bg1, #ffffff);
  word-break: break-all;
}
body::after {
  transition: all 1s ease 0s;
  content: "";
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  z-index: 800;
  background: rgba(255, 255, 255, 0);
  pointer-events: none;
}
body.loading_active::after {
  background: rgb(255, 255, 255);
  z-index: 8000;
}
body.nav_toggle_active {
  overflow: hidden;
  height: 100vh;
}

.loader {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 8500;
}

.wrapper {
  min-height: 100vh;
  width: 100%;
}

picture,
figure {
  display: block;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  image-rendering: -webkit-optimize-contrast;
  display: inline-block;
}

a:hover img {
  opacity: 0.9;
}

li {
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: var(--fw-m, 500);
}

a {
  color: inherit;
  text-decoration: none;
}

table {
  width: 100%;
  border-collapse: collapse;
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

.container, .wp-block-group__inner-container {
  max-width: 1200px;
  padding: 0 40px;
  margin: 0 auto;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .container, .wp-block-group__inner-container {
    padding: 0 20px;
  }
}

.container .wp-block-group__inner-container {
  padding: 0;
}

.container.wide {
  max-width: 100%;
}

.container.small {
  max-width: 900px;
  padding: 0 40px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .container.small {
    padding: 0 20px;
  }
}

.container.with_sidebar {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
}
@media screen and (max-width: 960px) {
  .container.with_sidebar {
    flex-direction: row;
  }
}
.container.with_sidebar .main {
  width: 800px;
  max-width: 100%;
}
.container.with_sidebar .sidebar {
  width: 360px;
  max-width: 100%;
}
@media screen and (max-width: 960px) {
  .container.with_sidebar {
    display: block;
  }
  .container.with_sidebar .main {
    width: 100%;
  }
  .container.with_sidebar .sidebar {
    width: 100%;
  }
}

.content_wrap {
  overflow: hidden;
}

/*
$base :5 の場合、0,5,10,15...と5刻みのクラスが生成される

使い方
.mb15 { margin-bottom: step(3)+px !important;}
↓
.mb15 { margin-bottom: 15px !important; }
*/
/*-----------------------------------------
    margin
-----------------------------------------*/
.mar0 {
  margin: 0 !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.mb105 {
  margin-bottom: 100px !important;
}

.mb110 {
  margin-bottom: 100px !important;
}

.mb115 {
  margin-bottom: 100px !important;
}

.mb120 {
  margin-bottom: 100px !important;
}

.mb125 {
  margin-bottom: 100px !important;
}

.mb125 {
  margin-bottom: 100px !important;
}

.mb130 {
  margin-bottom: 100px !important;
}

.mb135 {
  margin-bottom: 100px !important;
}

.mb140 {
  margin-bottom: 100px !important;
}

.mb145 {
  margin-bottom: 100px !important;
}

.mb150 {
  margin-bottom: 100px !important;
}

.mt0 {
  margin-top: 0px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt75 {
  margin-top: 75px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt85 {
  margin-top: 85px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mt95 {
  margin-top: 95px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mt105 {
  margin-top: 100px !important;
}

.mt110 {
  margin-top: 100px !important;
}

.mt115 {
  margin-top: 100px !important;
}

.mt120 {
  margin-top: 100px !important;
}

.mt125 {
  margin-top: 100px !important;
}

.mt125 {
  margin-top: 100px !important;
}

.mt130 {
  margin-top: 100px !important;
}

.mt135 {
  margin-top: 100px !important;
}

.mt140 {
  margin-top: 100px !important;
}

.mt145 {
  margin-top: 100px !important;
}

.mt150 {
  margin-top: 100px !important;
}

/*-----------------------------------------
    padding
-----------------------------------------*/
.pad0 {
  padding: 0 !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pb55 {
  padding-bottom: 55px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pb65 {
  padding-bottom: 65px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pb75 {
  padding-bottom: 75px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pb85 {
  padding-bottom: 85px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.pb95 {
  padding-bottom: 95px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

.pt0 {
  padding-top: 0px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pt65 {
  padding-top: 65px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pt75 {
  padding-top: 75px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pt85 {
  padding-top: 85px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pt95 {
  padding-top: 95px !important;
}

.pt100 {
  padding-top: 100px !important;
}

.fs12 {
  font-size: 12px !important;
}

.fs13 {
  font-size: 13px !important;
}

.fs14 {
  font-size: 14px !important;
}

.fs15 {
  font-size: 15px !important;
}

.fs16 {
  font-size: 16px !important;
}

.fs17 {
  font-size: 17px !important;
}

.fs18 {
  font-size: 18px !important;
}

.fs19 {
  font-size: 19px !important;
}

.fs20 {
  font-size: 20px !important;
}

.fs22 {
  font-size: 22px !important;
}

.fs24 {
  font-size: 24px !important;
}

.fs26 {
  font-size: 26px !important;
}

.fs28 {
  font-size: 28px !important;
}

.fs30 {
  font-size: 30px !important;
}

.fw-l {
  font-weight: var(--fw-l, 300) !important;
}

.fw-r {
  font-weight: var(--fw-r, 400) !important;
}

.fw-m {
  font-weight: var(--fw-m, 500) !important;
}

.fw-b {
  font-weight: var(--fw-b, 700) !important;
}

.ff-sans {
  font-family: "Noto Sans JP", sans-serif !important;
}

.ff-serif {
  font-family: "Noto Serif JP", serif !important;
}

.ff-custom {
  font-family: var(--ff-custom, "Noto Serif JP") !important;
}

.flex {
  display: flex;
}
.flex .flex_left {
  margin-right: auto;
}
.flex .flex_right {
  margin-left: auto;
}

.pc_block {
  display: block !important;
}
@media screen and (max-width: 767px) {
  .pc_block {
    display: none !important;
  }
}

.sp_block {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .sp_block {
    display: block !important;
  }
}

.tab_block {
  display: none !important;
}
@media screen and (max-width: 960px) {
  .tab_block {
    display: block !important;
  }
}

.disp_none {
  display: none !important;
}

.txt_center {
  text-align: center !important;
}

.txt_right {
  text-align: right !important;
}

.txt_left {
  text-align: left !important;
}

.txt_Xsmall {
  font-size: 80% !important;
}

.txt_small {
  font-size: 90% !important;
}

.txt_large {
  font-size: 110% !important;
}

.txt_Xlarge {
  font-size: 120% !important;
}

.animate {
  opacity: 0;
  transition: all 1.5s ease 0s;
}
.animate.show {
  opacity: 1 !important;
  transform: none !important;
}
.animate.fadeUp {
  transform: translateY(30px);
}
.animate.fadeDown {
  transform: translateY(-30px);
}
.animate.fadetoLeft {
  transform: translateX(30px);
}
.animate.fadetoRight {
  transform: translateX(-30px);
}

.animateList > .box {
  opacity: 0;
  transition: all 1.5s ease 0s;
}
.animateList > .box.show {
  opacity: 1 !important;
  transform: none !important;
}
.animateList.fadeUpList > .box {
  transform: translateY(30px);
}
.animateList.fadeDownList > .box {
  transform: translateY(-30px);
}

.site_header {
  padding: 10px 0;
  width: 100%;
  position: sticky;
  top: 0;
  z-index: 20;
}
.site_header .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.site_header .site_logo {
  margin-right: auto;
  font-weight: var(--fw-b, 700);
  font-size: 22px;
  flex: none;
}
.site_header .site_logo span {
  display: block;
  font-size: 14px;
}
.site_header .site_logo img {
  display: block;
}
.nav_main ul {
  display: flex;
  align-items: center;
}
.nav_main ul li {
  position: relative;
}
.nav_main a {
  display: block;
  padding: 5px 20px;
  font-weight: var(--fw-m, 500);
  font-size: 16px;
  white-space: nowrap;
  text-align: center;
  position: relative;
}
.nav_main .current-menu-item > a,
.nav_main .current-menu-parent > a {
  color: var(--c-color1, #51829b);
}
.nav_main > ul > li.menu-item-has-children > .sub-menu {
  position: absolute;
  top: 100%;
  background: #fff;
  z-index: 10;
}
@media screen and (max-width: 960px) {
  .nav_main {
    opacity: 0;
    pointer-events: none;
    transition: all 0.6s ease 0s;
    width: auto;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    z-index: 900;
    overflow: auto;
    text-align: center;
  }
  .nav_main.active {
    opacity: 1;
    pointer-events: auto;
  }
  .nav_main.active ul {
    opacity: 1;
    bottom: 0;
    transition: all 0.5s ease 0.3s;
  }
  .nav_main ul {
    flex-direction: column;
    justify-content: center;
    opacity: 0;
    position: relative;
    bottom: -10px;
    display: inline-flex;
    gap: 30px;
    min-height: 100%;
    height: auto;
  }
  .nav_main > ul > li.menu-item-has-children > .sub-menu {
    display: block;
    position: relative;
    top: 0;
    background: none;
  }
}

.toggle_btn {
  display: none;
}
@media screen and (max-width: 960px) {
  .toggle_btn {
    display: block;
    position: relative;
    width: 50px;
    height: 50px;
    cursor: pointer;
    z-index: 999;
  }
  .toggle_btn span {
    display: inline-block;
    transition: all 0.4s;
    position: absolute;
    left: 13px;
    height: 2px;
    background-color: #666;
  }
  .toggle_btn span:nth-of-type(1) {
    top: 22px;
    width: 50%;
  }
  .toggle_btn span:nth-of-type(2) {
    top: 29px;
    width: 30%;
  }
}
.toggle_btn.active span:nth-of-type(1) {
  top: 20px;
  left: 16px;
  transform: translateY(6px) rotate(-45deg);
  width: 35%;
}
.toggle_btn.active span:nth-of-type(2) {
  top: 32px;
  left: 16px;
  transform: translateY(-6px) rotate(45deg);
  width: 35%;
}

.site_footer {
  padding: 10px 0;
}
.site_footer .footer_nav ul {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.site_footer .footer_nav a {
  padding: 5px 10px;
  font-size: 13px;
  color: var(--c-txt1, #222);
}
.site_footer .footer_nav a:hover {
  opacity: 0.85;
}

.copyright {
  font-size: 12px;
  text-align: center;
  padding: 30px 0;
}

.mainvisual {
  position: relative;
  width: 100%;
}

.page_header {
  text-align: center;
  padding: 100px 40px;
  background: var(--c-color3, #9bb0c1);
}
@media screen and (max-width: 767px) {
  .page_header {
    padding: 50px 40px;
  }
}
.page_header .page_title {
  font-size: 30px;
  font-weight: var(--fw-b, 700);
}
@media screen and (max-width: 767px) {
  .page_header .page_title {
    font-size: 20px;
  }
}
.page_header .page_subtitle {
  font-size: 15px;
}

.page_content {
  margin: 0;
}

.main {
  padding: 100px 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .main {
    padding: 50px 0;
  }
}
.main article .page_title {
  font-size: 28px;
  margin-bottom: 1em;
  font-weight: var(--fw-b, 700);
}
.main article .post_meta {
  display: flex;
  align-items: center;
  gap: 1em;
}
.main article .post_meta .date {
  font-size: 14px;
}
.main article .post_meta .category a {
  font-size: 14px;
  line-height: 1;
}

/*-----------------------------------------
    記事リスト
-----------------------------------------*/
.article_list .item {
  border-bottom: 1px solid #ccc;
  padding: 5px 0;
}
.article_list .item:first-child {
  border-top: 1px solid #ccc;
}
.article_list .item a {
  display: block;
  padding: 20px 10px;
  transition: all 0.3s ease 0s;
}
.article_list .item a:hover {
  background: #eee;
}
.article_list .title {
  font-size: 18px;
  font-weight: var(--fw-m, 500);
  margin-bottom: 1em;
  line-height: 1.5;
}
.article_list .metadata {
  display: flex;
  align-items: center;
  gap: 1em;
  margin-bottom: 0.5em;
}
.article_list .date {
  font-size: 14px;
  color: var(--c-txt2, #555);
}
.article_list .category {
  font-size: 14px;
  color: var(--c-txt2, #555);
}
.article_list .excerpt {
  font-size: 14px;
  color: var(--c-txt2, #555);
  font-weight: var(--fw-r, 400);
}

.article_list.-thumb .item a {
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .article_list.-thumb .item a {
    flex-direction: column;
  }
}
.article_list.-thumb .item .img {
  width: 300px;
  flex: none;
}
@media screen and (max-width: 767px) {
  .article_list.-thumb .item .img {
    text-align: center;
    width: 100%;
  }
}

.article_list.-col {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .article_list.-col {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

.breadcrumb {
  font-size: 14px;
  margin-top: 40px;
  width: 100%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .breadcrumb {
    font-size: 12px;
    overflow: auto;
  }
}
.breadcrumb ul {
  display: flex;
  gap: 5px;
  align-items: center;
}
.breadcrumb ul li {
  flex: none;
}
.breadcrumb ul li a {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: var(--c-link, #28546a);
}
.breadcrumb ul li::after {
  content: "/";
  margin-left: 5px;
}
.breadcrumb ul li:last-child::after {
  content: "";
}

.pagination ul {
  display: flex;
  justify-content: center;
  align-content: center;
  gap: 5px;
  padding: 30px 0;
}
.pagination ul .page-numbers {
  color: var(--c-txt1, #222);
  display: grid;
  width: 36px;
  height: 36px;
  text-align: center;
  place-content: center;
  font-size: 14px;
}
.pagination ul .page-numbers.next, .pagination ul .page-numbers.prev {
  width: auto;
  padding: 0 10px;
}
.pagination ul .page-numbers:hover {
  color: var(--c-color1, #51829b);
  font-weight: var(--fw-b, 700);
}
.pagination ul .current {
  background: var(--c-color1, #51829b);
  font-weight: var(--fw-b, 700);
  color: #FFF;
  border-radius: 50%;
}
.pagination ul .current:hover {
  color: #FFF;
}

/*-----------------------------------------
    ボタン
-----------------------------------------*/
.btns {
  display: flex;
  gap: 40px;
  justify-content: center;
  align-items: stretch;
  margin: 40px 0;
}

.btn,
.is-style-themebtn .wp-block-button__link,
.header_cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 50px;
  color: #fff;
  background: var(--c-color1, #51829b);
  border-radius: 100px;
  max-width: 100%;
  height: 100%;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  cursor: pointer;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  transition: all 0.5s ease 0s;
}
.btn:hover,
.is-style-themebtn .wp-block-button__link:hover,
.header_cta a:hover {
  opacity: 0.85;
}

.pagetop {
  position: fixed;
  right: 30px;
  bottom: 30px;
}
.pagetop a {
  display: block;
  text-align: center;
}

/*-----------------------------------------
    Slick
-----------------------------------------*/
.slick-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 24px;
  z-index: 9;
}
.slick-dots li button {
  background: #999;
  color: var(--c-color1, #51829b);
  width: 30px;
  height: 4px;
  display: block;
  text-indent: -1000%;
  overflow: hidden;
  border: none;
  cursor: pointer;
}
.slick-dots li.slick-active button {
  background: var(--c-color1, #51829b);
}

.slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  text-indent: -1000%;
  overflow: hidden;
  border: none;
  width: 12px;
  height: 20px;
  z-index: 5;
  cursor: pointer;
}
.slick-arrow.slick-prev {
  left: 30px;
  background: url(../addons/slick/slick-prev.svg) no-repeat center/contain;
}
.slick-arrow.slick-next {
  right: 30px;
  background: url(../addons/slick/slick-next.svg) no-repeat center/contain;
}

/*-----------------------------------------
    Unit - Form
-----------------------------------------*/
form .sizeXS {
  max-width: 80px;
}
form .sizeS {
  max-width: 150px;
}
form .sizeM {
  max-width: 300px;
}
form .sizeL {
  max-width: 500px;
}
form .sizeXL {
  max-width: 100%;
}
form .required {
  color: var(--c-red, #db5151);
}
form input[type=text],
form input[type=email],
form input[type=number],
form input[type=tel],
form input[type=password],
form textarea,
form select {
  display: inline-block;
  padding: 6px 12px;
  color: var(--c-txt1, #222);
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  width: 100%;
  word-break: break-all;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
}
form input[type=text]:focus,
form input[type=email]:focus,
form input[type=number]:focus,
form input[type=tel]:focus,
form input[type=password]:focus,
form textarea:focus,
form select:focus {
  outline: 1px solid var(--c-color1, #51829b);
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.2);
}
form input[type=submit],
form input[type=button],
form button {
  display: inline-block;
  padding: 10px 50px;
  color: #555;
  background: #ccc;
  border: none;
  border-radius: 100px;
  max-width: 100%;
  width: 260px;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  cursor: pointer;
  font-weight: var(--fw-m, 500);
  line-height: 1.5;
}
form input[type=submit]:hover,
form input[type=button]:hover,
form button:hover {
  opacity: 0.8;
}
form input[type=submit] {
  background: var(--c-color1, #51829b);
  color: #fff;
}
form .label,
form label {
  display: inline-block;
  margin-bottom: 5px;
  vertical-align: top;
}
form input::-moz-placeholder {
  color: #999;
}
form input::placeholder {
  color: #999;
}

.wpcf7 form .wpcf7-response-output {
  border: none !important;
  text-align: center;
}
.wpcf7 form .wpcf7-not-valid-tip {
  font-size: 14px;
  color: var(--c-red, #db5151);
  font-weight: var(--fw-m, 500);
}
.wpcf7 form .btns {
  display: flex;
  justify-content: center;
  gap: 40px;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .wpcf7 form .btns {
    gap: 20px;
  }
}
.wpcf7 form .wpcf7-spinner {
  position: absolute;
}
.wpcf7 form.invalid {
  border: none;
}
.wpcf7 form.invalid .wpcf7-response-output {
  color: var(--c-red, #db5151);
}
.wpcf7 form .-contact th {
  white-space: nowrap;
}
.wpcf7 form .-contact.-confirm .td_textarea p {
  white-space: pre-line;
}

/*-----------------------------------------
    Snow monkey form
-----------------------------------------*/
.snow-monkey-form {
  max-width: 600px;
  margin: 50px auto;
}
.snow-monkey-form .smf-progress-tracker {
  padding: 0;
}
.snow-monkey-form .smf-progress-tracker li {
  margin: 0;
  list-style: none;
}
.snow-monkey-form .smf-item__description a {
  color: var(--c-link, #28546a);
  text-decoration: underline;
}

.grecaptcha-badge {
  visibility: hidden;
}

/*-----------------------------------------
    ブロック
-----------------------------------------*/
.page_content .alignfull {
  left: calc(50% - 50vw + var(--scrollbar) / 2);
  position: relative;
  width: calc(100vw - var(--scrollbar));
  padding: 80px 0;
}
.page_content .alignfull .wp-block-group__inner-container {
  margin: 0 auto;
  max-width: 1200px;
  padding: 0 40px;
}
@media screen and (max-width: 767px) {
  .page_content .alignfull .wp-block-group__inner-container {
    padding: 0 20px;
  }
}

.block-editor-block-list__layout .wp-block[data-align=full] .wp-block-group {
  width: 100%;
  padding: 80px 0;
}
.block-editor-block-list__layout .wp-block[data-align=full] .wp-block-group .wp-block-group__inner-container {
  margin: 0 auto;
  max-width: 1200px;
  padding: 0 40px;
}
@media screen and (max-width: 767px) {
  .block-editor-block-list__layout .wp-block[data-align=full] .wp-block-group .wp-block-group__inner-container {
    padding: 0 20px;
  }
}

.page_content,
.block-editor-block-list__layout {
  font-size: var(--fs-base, 16px);
  /*-----------------------------------------
      テキスト
  -----------------------------------------*/
  /*-----------------------------------------
      カラム
  -----------------------------------------*/
  /*-----------------------------------------
      メディア
  -----------------------------------------*/
  /*-----------------------------------------
  	ボタン
  -----------------------------------------*/
  /*-----------------------------------------
      追加スタイル
  -----------------------------------------*/
  /*-----------------------------------------
      ACF　追加ブロック
  -----------------------------------------*/
}
@media screen and (max-width: 767px) {
  .page_content,
  .block-editor-block-list__layout {
    font-size: var(--fs-base, 15px);
  }
}
.page_content *:first-child,
.block-editor-block-list__layout *:first-child {
  margin-top: 0;
}
.page_content *:last-child,
.block-editor-block-list__layout *:last-child {
  margin-bottom: 0;
}
.page_content h1,
.page_content h2,
.page_content h3,
.page_content h4,
.page_content h5,
.page_content h6,
.block-editor-block-list__layout h1,
.block-editor-block-list__layout h2,
.block-editor-block-list__layout h3,
.block-editor-block-list__layout h4,
.block-editor-block-list__layout h5,
.block-editor-block-list__layout h6 {
  margin: 3em 0 1.5em;
  line-height: 1.6;
  font-weight: var(--fw-b, 700);
}
.page_content h1,
.block-editor-block-list__layout h1 {
  font-size: 36px;
}
@media screen and (max-width: 767px) {
  .page_content h1,
  .block-editor-block-list__layout h1 {
    font-size: 28px;
  }
}
.page_content h2,
.block-editor-block-list__layout h2 {
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .page_content h2,
  .block-editor-block-list__layout h2 {
    font-size: 20px;
  }
}
.page_content h3,
.block-editor-block-list__layout h3 {
  font-size: 20px;
  font-weight: var(--fw-b, 700);
  color: var(--c-color1, #51829b);
}
@media screen and (max-width: 767px) {
  .page_content h3,
  .block-editor-block-list__layout h3 {
    font-size: 18px;
  }
}
.page_content h4,
.block-editor-block-list__layout h4 {
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .page_content h4,
  .block-editor-block-list__layout h4 {
    font-size: 16px;
  }
}
.page_content h5,
.block-editor-block-list__layout h5 {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .page_content h5,
  .block-editor-block-list__layout h5 {
    font-size: 15px;
  }
}
.page_content h6,
.block-editor-block-list__layout h6 {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .page_content h6,
  .block-editor-block-list__layout h6 {
    font-size: 14px;
  }
}
.page_content p,
.page_content ul,
.page_content ol,
.page_content table,
.page_content figure,
.block-editor-block-list__layout p,
.block-editor-block-list__layout ul,
.block-editor-block-list__layout ol,
.block-editor-block-list__layout table,
.block-editor-block-list__layout figure {
  margin: 1.5em 0;
  line-height: 1.6;
}
.page_content p,
.block-editor-block-list__layout p {
  line-height: 2;
}
.page_content ul,
.block-editor-block-list__layout ul {
  padding-left: 2em;
}
.page_content ul li,
.block-editor-block-list__layout ul li {
  list-style: disc;
  margin: 10px 0;
}
.page_content ul li::marker,
.block-editor-block-list__layout ul li::marker {
  color: var(--c-color1, #51829b);
}
.page_content ol,
.block-editor-block-list__layout ol {
  padding-left: 2em;
}
.page_content ol li,
.block-editor-block-list__layout ol li {
  list-style: decimal;
  margin: 10px 0;
}
.page_content ol li::marker,
.block-editor-block-list__layout ol li::marker {
  color: var(--c-color1, #51829b);
  font-weight: var(--fw-m, 500);
}
.page_content li ol,
.page_content li ul,
.block-editor-block-list__layout li ol,
.block-editor-block-list__layout li ul {
  margin-top: 10px !important;
}
.page_content li ul li,
.block-editor-block-list__layout li ul li {
  list-style: circle;
}
.page_content li ol li,
.block-editor-block-list__layout li ol li {
  list-style: lower-roman;
}
.page_content table,
.page_content tbody,
.page_content tr,
.page_content th,
.page_content td,
.block-editor-block-list__layout table,
.block-editor-block-list__layout tbody,
.block-editor-block-list__layout tr,
.block-editor-block-list__layout th,
.block-editor-block-list__layout td {
  height: auto !important;
}
.page_content table,
.block-editor-block-list__layout table {
  border: none;
  margin-bottom: 2em;
  background: #fff;
}
.page_content table th,
.block-editor-block-list__layout table th {
  border: 1px solid #ccc;
  text-align: center;
  padding: 10px 15px;
  font-weight: var(--fw-m, 500);
  background: var(--c-bg2, #e1eaf1);
}
.page_content table td,
.block-editor-block-list__layout table td {
  border: 1px solid #ccc;
  padding: 10px 15px;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .page_content .is-style-breaktable table,
  .page_content table.table-break,
  .block-editor-block-list__layout .is-style-breaktable table,
  .block-editor-block-list__layout table.table-break {
    display: block;
    width: 100% !important;
    height: auto !important;
  }
  .page_content .is-style-breaktable table tbody,
  .page_content .is-style-breaktable table thead,
  .page_content .is-style-breaktable table tr,
  .page_content .is-style-breaktable table th,
  .page_content .is-style-breaktable table td,
  .page_content table.table-break tbody,
  .page_content table.table-break thead,
  .page_content table.table-break tr,
  .page_content table.table-break th,
  .page_content table.table-break td,
  .block-editor-block-list__layout .is-style-breaktable table tbody,
  .block-editor-block-list__layout .is-style-breaktable table thead,
  .block-editor-block-list__layout .is-style-breaktable table tr,
  .block-editor-block-list__layout .is-style-breaktable table th,
  .block-editor-block-list__layout .is-style-breaktable table td,
  .block-editor-block-list__layout table.table-break tbody,
  .block-editor-block-list__layout table.table-break thead,
  .block-editor-block-list__layout table.table-break tr,
  .block-editor-block-list__layout table.table-break th,
  .block-editor-block-list__layout table.table-break td {
    display: block;
    width: 100% !important;
    height: auto !important;
  }
  .page_content .is-style-breaktable table tr,
  .page_content table.table-break tr,
  .block-editor-block-list__layout .is-style-breaktable table tr,
  .block-editor-block-list__layout table.table-break tr {
    border-bottom: 1px solid #ccc;
  }
  .page_content .is-style-breaktable table th,
  .page_content table.table-break th,
  .block-editor-block-list__layout .is-style-breaktable table th,
  .block-editor-block-list__layout table.table-break th {
    text-align: left;
    background: var(--c-bg2, #e1eaf1);
    padding: 8px 10px;
  }
}
.page_content .table-scroll-x,
.page_content .is-style-scrolltable,
.block-editor-block-list__layout .table-scroll-x,
.block-editor-block-list__layout .is-style-scrolltable {
  overflow-x: auto;
  max-width: 100%;
  margin: 0 auto;
  text-align: left;
  padding: 1px;
}
.page_content .table-scroll-x .scroll-hint,
.page_content .is-style-scrolltable .scroll-hint,
.block-editor-block-list__layout .table-scroll-x .scroll-hint,
.block-editor-block-list__layout .is-style-scrolltable .scroll-hint {
  font-size: 13px;
  color: var(--c-txt2, #555);
  margin-bottom: 5px;
}
.page_content .table-scroll-x .scroll-hint::after,
.page_content .is-style-scrolltable .scroll-hint::after,
.block-editor-block-list__layout .table-scroll-x .scroll-hint::after,
.block-editor-block-list__layout .is-style-scrolltable .scroll-hint::after {
  content: "\e902";
  font-family: "icomoon" !important;
  display: inline-block;
  animation: yurayura 2s ease-in-out infinite;
}
@keyframes yurayura {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(5px);
  }
  100% {
    transform: translateX(0);
  }
}
.page_content .table-scroll-x table,
.page_content .is-style-scrolltable table,
.block-editor-block-list__layout .table-scroll-x table,
.block-editor-block-list__layout .is-style-scrolltable table {
  width: 100%;
  white-space: nowrap;
  margin-top: 0;
}
.page_content .wp-block-table.is-style-stripes td,
.page_content .wp-block-table.is-style-stripes th,
.block-editor-block-list__layout .wp-block-table.is-style-stripes td,
.block-editor-block-list__layout .wp-block-table.is-style-stripes th {
  background: none;
}
.page_content a,
.block-editor-block-list__layout a {
  color: var(--c-link, #28546a);
  text-decoration: underline;
  transition: all 0.3s ease 0s;
}
.page_content a:hover,
.block-editor-block-list__layout a:hover {
  color: var(--c-link-hover, #b06939);
}
.page_content a[target=_blank]::after,
.block-editor-block-list__layout a[target=_blank]::after {
  content: " \e938";
  font-family: "icomoon" !important;
  text-decoration: none;
}
.page_content figure a::after,
.block-editor-block-list__layout figure a::after {
  display: none;
}
.page_content .wp-block-buttons,
.block-editor-block-list__layout .wp-block-buttons {
  margin: 1.5em 0;
  gap: 20px;
  text-align: center;
}
.page_content .wp-block-button__link[target=_blank]::after,
.page_content .btn[target=_blank]::after,
.block-editor-block-list__layout .wp-block-button__link[target=_blank]::after,
.block-editor-block-list__layout .btn[target=_blank]::after {
  content: "";
}
.page_content strong,
.block-editor-block-list__layout strong {
  font-weight: var(--fw-b, 700);
}
.page_content em,
.block-editor-block-list__layout em {
  font-style: italic;
}
.page_content s,
.block-editor-block-list__layout s {
  text-decoration: line-through;
}
.page_content sup,
.block-editor-block-list__layout sup {
  vertical-align: super;
  font-size: smaller;
}
.page_content sub,
.block-editor-block-list__layout sub {
  vertical-align: sub;
  font-size: smaller;
}
.page_content mark,
.block-editor-block-list__layout mark {
  background: linear-gradient(transparent 60%, var(--c-marker, #fff2aa) 60%);
}
.page_content .wp-block-quote,
.block-editor-block-list__layout .wp-block-quote {
  border-left: 4px solid #555;
  margin: 0 auto 2em;
  padding-left: 1em;
}
.page_content .wp-block-quote p,
.block-editor-block-list__layout .wp-block-quote p {
  font-size: 18px;
  margin-bottom: 1em;
}
.page_content .wp-block-quote cite,
.block-editor-block-list__layout .wp-block-quote cite {
  font-size: 13px;
  color: var(--c-txt2, #555);
  font-style: normal;
}
.page_content .wp-block-pullquote,
.block-editor-block-list__layout .wp-block-pullquote {
  padding: 3em 0 1em;
  border-top: 4px solid #555;
  border-bottom: 4px solid #555;
  margin-bottom: 2em;
}
.page_content .wp-block-pullquote blockquote p,
.block-editor-block-list__layout .wp-block-pullquote blockquote p {
  font-size: 30px;
  color: var(--c-txt1, #222);
  margin-bottom: 1em;
}
.page_content .wp-block-pullquote blockquote cite,
.block-editor-block-list__layout .wp-block-pullquote blockquote cite {
  font-size: 16px;
  color: var(--c-txt2, #555);
  font-style: normal;
}
.page_content .wp-block-pullquote .wp-block-pullquote__citation,
.block-editor-block-list__layout .wp-block-pullquote .wp-block-pullquote__citation {
  margin-top: 30px;
}
.page_content pre,
.page_content code,
.block-editor-block-list__layout pre,
.block-editor-block-list__layout code {
  font-family: "Noto Sans JP", sans-serif;
}
.page_content .wp-block-preformatted,
.block-editor-block-list__layout .wp-block-preformatted {
  font-family: inherit;
  margin-bottom: 2em;
}
.page_content .wp-block-code,
.block-editor-block-list__layout .wp-block-code {
  font-family: inherit;
  border: 1px solid var(--c-color1, #51829b);
  border-radius: 8px;
  padding: 1em;
  margin-bottom: 2em;
}
.page_content .wp-block-verse,
.block-editor-block-list__layout .wp-block-verse {
  margin-bottom: 2em;
}
.page_content .wp-block-columns,
.block-editor-block-list__layout .wp-block-columns {
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .page_content .wp-block-columns,
  .block-editor-block-list__layout .wp-block-columns {
    flex-direction: column;
  }
}
.page_content .wp-block-columns .wp-block-column figure,
.block-editor-block-list__layout .wp-block-columns .wp-block-column figure {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .page_content .wp-block-columns .wp-block-column,
  .block-editor-block-list__layout .wp-block-columns .wp-block-column {
    margin-bottom: 15px;
  }
}
.page_content .wp-block-columns.reverse,
.block-editor-block-list__layout .wp-block-columns.reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .page_content .wp-block-columns.reverse,
  .block-editor-block-list__layout .wp-block-columns.reverse {
    flex-direction: column;
  }
}
.page_content .wp-block-file,
.block-editor-block-list__layout .wp-block-file {
  margin-bottom: 2em;
}
.page_content .wp-block-file .wp-block-file__embed,
.block-editor-block-list__layout .wp-block-file .wp-block-file__embed {
  border: 1px solid #ccc;
}
.page_content .wp-block-file a[target=_blank],
.block-editor-block-list__layout .wp-block-file a[target=_blank] {
  font-size: 18px;
}
.page_content .wp-block-file .wp-block-file__button,
.block-editor-block-list__layout .wp-block-file .wp-block-file__button {
  background: var(--c-color1, #51829b);
  text-decoration: none;
  font-size: 15px;
  margin-left: 1.5em;
}
.page_content hr,
.block-editor-block-list__layout hr {
  display: block;
  margin: 40px 0;
  border: none;
  border-bottom: 1px solid #ccc;
  max-width: none !important;
}
.page_content figure,
.block-editor-block-list__layout figure {
  display: block;
  text-align: center;
}
.page_content figcaption,
.block-editor-block-list__layout figcaption {
  font-size: 14px;
  color: var(--c-txt2, #555);
}
.page_content .wp-block-image,
.block-editor-block-list__layout .wp-block-image {
  margin-bottom: 2em;
}
.page_content .alignright,
.block-editor-block-list__layout .alignright {
  float: right;
  margin-left: 2em;
  margin-bottom: 2em;
}
.page_content .alignleft,
.block-editor-block-list__layout .alignleft {
  float: left;
  margin-right: 2em;
  margin-bottom: 2em;
}
@media screen and (max-width: 767px) {
  .page_content .alignright,
  .page_content .alignleft,
  .block-editor-block-list__layout .alignright,
  .block-editor-block-list__layout .alignleft {
    float: none;
    margin: 0 auto 2em;
    display: block;
  }
}
.page_content .wp-block-group,
.block-editor-block-list__layout .wp-block-group {
  position: relative;
}
.page_content .has-text-align-center,
.block-editor-block-list__layout .has-text-align-center {
  text-align: center !important;
}
.page_content .has-text-align-right,
.block-editor-block-list__layout .has-text-align-right {
  text-align: right !important;
}
.page_content .has-text-align-left,
.block-editor-block-list__layout .has-text-align-left {
  text-align: left !important;
}
.page_content .is-style-border img,
.block-editor-block-list__layout .is-style-border img {
  border: 1px solid #ddd;
}
.page_content .list_with_border li,
.block-editor-block-list__layout .list_with_border li {
  border-bottom: 1px dashed var(--c-color1, #51829b);
  padding: 0 0 10px;
}
.page_content .has-small-font-size,
.block-editor-block-list__layout .has-small-font-size {
  font-size: 85%;
}
.page_content .is-style-bg,
.block-editor-block-list__layout .is-style-bg {
  background: var(--c-bg2, #e1eaf1);
  padding: 20px;
}
.page_content .is-style-border img,
.block-editor-block-list__layout .is-style-border img {
  border: 1px solid #ddd;
}
.page_content .block-blogcard,
.block-editor-block-list__layout .block-blogcard {
  margin-bottom: 30px;
}
.page_content .block-blogcard a,
.block-editor-block-list__layout .block-blogcard a {
  border: 1px solid #ccc;
  border-radius: 4px;
  display: flex;
  padding: 10px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  align-items: flex-start;
  text-decoration: none;
  gap: 20px;
}
.page_content .block-blogcard a .labeltext,
.block-editor-block-list__layout .block-blogcard a .labeltext {
  font-size: 10px;
  font-weight: var(--fw-m, 500);
  margin: 0;
  text-align: center;
  background: #333;
  color: #fff;
  padding: 3px 5px;
  line-height: 1;
  display: inline-block;
}
.page_content .block-blogcard a figure,
.block-editor-block-list__layout .block-blogcard a figure {
  width: 120px;
}
@media screen and (max-width: 767px) {
  .page_content .block-blogcard a figure,
  .block-editor-block-list__layout .block-blogcard a figure {
    width: 30%;
  }
}
.page_content .block-blogcard a .text_wrap,
.block-editor-block-list__layout .block-blogcard a .text_wrap {
  flex: 1;
}
.page_content .block-blogcard a .post-title,
.block-editor-block-list__layout .block-blogcard a .post-title {
  margin: 0;
  font-size: 15px;
  line-height: 1.4;
  text-decoration: underline;
}
.page_content .block-linkcard,
.block-editor-block-list__layout .block-linkcard {
  margin-bottom: 30px;
}
.page_content .block-linkcard a,
.block-editor-block-list__layout .block-linkcard a {
  border: 1px solid var(--c-color1, #51829b);
  border-radius: 4px;
  display: flex;
  padding: 10px;
  text-decoration: none;
  -moz-column-gap: 5px;
       column-gap: 5px;
  color: var(--c-color1, #51829b);
  font-weight: var(--fw-m, 500);
}
.page_content .block-linkcard a::after,
.block-editor-block-list__layout .block-linkcard a::after {
  content: "\e938";
  font-family: "icomoon" !important;
}
.page_content .pdfemb-viewer,
.block-editor-block-list__layout .pdfemb-viewer {
  margin-bottom: 2em;
}

/*-----------------------------------------
    FAQ
-----------------------------------------*/
.ptn_faq {
  margin-bottom: 10px;
  background: #FFF;
  border-radius: 10px;
  border: 1px solid #ddd;
}
.ptn_faq .faq_q::before,
.ptn_faq .faq_a::before {
  display: grid;
  place-content: center;
  color: var(--c-color1, #51829b);
  font-size: 18px;
  font-weight: var(--fw-b, 700);
  flex: none;
}
.ptn_faq .faq_q > div,
.ptn_faq .faq_a > div {
  flex: auto;
}
.ptn_faq .faq_q p,
.ptn_faq .faq_a p {
  margin: 0;
}
.ptn_faq .faq_q {
  font-size: 18px;
  display: flex;
  align-items: flex-start;
  gap: 15px;
  font-weight: var(--fw-m, 500);
  cursor: pointer;
  padding: 15px 20px;
}
@media screen and (max-width: 767px) {
  .ptn_faq .faq_q {
    font-size: 16px;
    line-height: 1.5;
  }
}
.ptn_faq .faq_q::before {
  content: "Q";
}
.ptn_faq .faq_q::after {
  content: "\e904";
  font-family: "icomoon" !important;
  flex: none;
  align-self: center;
  margin-left: auto;
}
.ptn_faq .faq_q.is-open::after {
  transform: rotate(180deg);
}
.ptn_faq .faq_a {
  display: flex;
  gap: 15px;
  align-items: flex-start;
  border-top: 1px dotted #CCC;
  padding: 15px 0;
  margin: 0 20px;
}
.ptn_faq .faq_a p {
  font-weight: var(--fw-r, 400);
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .ptn_faq .faq_a p {
    font-size: 15px;
  }
}
.ptn_faq .faq_a::before {
  content: "A";
}

/*-----------------------------------------
    ニュースリスト
-----------------------------------------*/
ul.newsList {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 40px 40px;
}
@media screen and (max-width: 767px) {
  ul.newsList {
    padding: 0 15px 40px;
  }
}
ul.newsList li {
  list-style: none;
  border-bottom: 1px solid #ccc;
  position: relative;
  padding: 30px 10px;
}
ul.newsList .wp-block-latest-posts__post-title {
  display: block;
  font-size: 16px;
  text-decoration: none;
  color: var(--c-txt1, #222);
}
ul.newsList .wp-block-latest-posts__post-title::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}
ul.newsList .wp-block-latest-posts__post-date {
  color: var(--c-txt2, #555);
  font-size: 13px;
}
ul.newsList .wp-block-latest-posts__post-excerpt {
  color: var(--c-txt2, #555);
  font-size: 13px;
}/*# sourceMappingURL=common.css.map */