@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,200..900;1,200..900&family=Zen+Maru+Gothic&display=swap');
body {
    background: url(/wp-content/uploads/2025/06/p-bg02.jpg);
    background-color: #d1eaf8;
    position: relative;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: top;
}

body p,
body a,
body li,
body dt,
body dd,
body time,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body th,
body td,
body span,
body label,
body input {
    font-family: "Zen Maru Gothic", serif;
    font-weight: 400;
    font-style: normal;
}

p,
a,
li,
dt,
dd,
time,
h1,
h2,
h3,
h4,
h5,
h6,
th,
td,
span {
    font-size: 1.8rem;
}

.width01 {
    width: 90vw;
    margin: 0 auto;
}

.bg-w {
    background: #fff;
    padding: 100px 0;
}

.frame-w {
    background: #fff;
    padding: 20px;
    border-radius: 20px;
    box-shadow: 10px 10px #fff352;
}

.title01 {
    color: #333;
    font-size: 5em;
}

.title01::before {
    display: none;
}

iframe {
    width: 100%;
}

.mb100 {
    margin-bottom: 100px;
}

.header-menu {
    background-color: transparent;
}

.g-sub-nav02 .g-sub-nav-list.flex a {
    font-size: 1.4rem;
    line-height: 1;
    display: block;
    padding: 10px 15px;
    border-radius: 30px;
    text-align: center;
    margin-left: 15px;
    color: #fff;
    border: solid 2px #F58220;
    background-color: #F58220;
}

.header-menu .sub-menu {
    position: absolute;
    top: 100%;
    width: 300px;
}

.header-menu .sub-menu a {
    display: block;
    padding: 10px;
    border-right: none;
    background-color: #fff;
    color: var(--main);
}


/*スライド*/

.n2_clear {
    clear: both;
    border-radius: 20px;
    overflow: hidden;
}

.slider .inner {
    width: calc(100% - 80px);
    height: auto;
    overflow: hidden;
    margin: 0 auto;
    position: relative;
}

.header-menu .sub-menu li a {
    border-bottom: 1px dotted #2d8bd3;
    text-align: left;
    color: #333;
}

.header-menu>li a {
    color: #333;
}

#menu {
    background: #e5f3ff;
}

.contact-band {
    position: relative;
    background-image: url(/wp-content/uploads/2022/02/news-damy02.jpg);
    background-size: 100%;
}

.contact-band:after {
    content: "";
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    background-size: cover;
    display: block;
    z-index: 10;
    position: absolute;
    top: 0;
}

.contact-band-inner {
    position: relative;
    z-index: 20;
}

.contact-band .btn01 {
    background: #F58220;
    border: none;
}

.contact-band-tel-block.flex {
    margin-top: 40px;
    justify-content: center;
}

.contact-band-tel-box {
    width: 23%;
    margin: 1%;
    padding: 10px;
    margin-bottom: 20px;
    border-radius: 10px;
    border: 1px solid #fff352;
}

.contact-band-tel-box,
.contact-band-tel-box * {
    color: #fff352 !important;
}

.cf-cb-head {
    color: #fff352;
    background-color: transparent !important;
}

.cf-cb-head {
    font-size: 1.8rem;
    margin-bottom: 0;
}

.contact-band-tel-box fill {
    color: #fff352 !important;
}


/**/

.com-menu01-tit {
    background-color: #3C0 !important;
    color: #fff !important;
    border-radius: 30px;
    border: 2px solid #fff;
    line-height: 1;
    padding: 10px 20px !important;
    transform: translate(10px, -20px) !important;
}

.g-sub-nav02 .g-sub-nav-list.flex {
    align-items: center;
}

.g-sub-nav02 .g-sub-nav-list.flex li:first-child a {
    font-size: 2.4rem;
    background: transparent;
    color: #333;
    border: none;
}

.contact-band-title {
    color: #fff;
}

.cf-cb-txt {
    color: #fff;
    text-align: center;
}

.footer {
    background: #fff;
}

.footer-address p,
.footer-address a {
    color: #333;
}

.footer-menu>li>a {
    padding-left: 10px;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px dashed #333;
    display: block;
}

.footer-menu a {
    color: #333;
}

.footer-logo {
    width: 300px;
    margin: 0 auto;
}

.footer-menu-title {
    display: none;
}


/*ご挨拶*/

#greet {
    padding-bottom: 0;
}

.greet-box {
    background: #fff;
    padding: 50px;
}

#greet p {
    font-size: 20px;
}


/*写真エリア*/

.box-photo {
    display: flex;
    gap: 30px;
}

.box-photo li {
    flex: 1;
    border-radius: 10px;
}

.box-photo li:nth-child(2) {
    margin-top: 100px;
}

.box-photo li:nth-child(4) {
    margin-top: 100px;
}

.box-photo li img {
    border-radius: 10px;
    box-shadow: 10px 10px #fff352;
}

p.en {
    position: relative;
    font-family: "Source Sans 3", sans-serif;
    text-align: center;
    line-height: 1;
    padding: 10px;
    width: 200px;
    margin: 0 auto 20px;
    border-radius: 0;
}

p.en:after {
    content: "●";
    font-size: 14px;
    color: #34a9ee;
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

p.en span {
    font-family: "Source Sans 3", sans-serif;
    font-weight: 500;
    font-size: 3rem;
}

.char1 {
    color: #e03131;
}

.char2 {
    color: #fbb247;
}

.char3 {
    color: #5eb248;
}

.char4 {
    color: #683492;
}

.char5 {
    color: #2476bd;
}

.char6 {
    color: #e03131;
}

.char7 {
    color: #fbb247;
}

.char8 {
    color: #5eb248;
}

.char9 {
    color: #683492;
}

.char10 {
    color: #2476bd;
}

#news {
    background: linear-gradient(180deg, #34a9ee 0%, #34a9ee 60%, #e5f3ff 60%, #e5f3ff 100%);
    padding-bottom: 0;
}

#news .title01 {
    color: #fff352;
}

.news-list01 {
    margin-bottom: 25px;
    background: #fff;
    padding: 50px;
    margin-bottom: 0;
    border-radius: 10px 0 0 10px;
    box-shadow: 10px 10px #FF6;
    border-radius: 10px;
}

#news .btn01 {
    border: 2px solid #fff;
    background-color: #33CC00;
    font-size: 16px;
}

#news .btn01:hover {
    color: #fff
}

#news .btn01:hover .btn-arrow {
    fill: #fff;
}

.news-list01 li .news-cat a {
    background-color: transparent;
    border: 1px solid var(--main);
    color: var(--main);
    padding: 5px 10px;
}


/*Menu*/

#menu {
    background: #e5f3ff;
}

#photo {
    /*	background:  linear-gradient(180deg, transparent 0%, transparent 50%, #34a9ee 50%, #34a9ee 100%);;*/
}

.com-menu01-img {
    aspect-ratio: 2 / 1;
    object-fit: cover;
}

.com-menu01-img img {
    width: 100%;
    height: 100%;
    justify-content: cover;
}


/*投稿*/

.sub-header-txt {
    padding: 10px 25px;
    color: #333;
}

.single-info-wrap main {
    width: calc(100% - 440px);
    background: #fff;
    padding: 20px;
}


/**/

.list_service {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-bottom: 50px;
}

.list_service li {
    width: 30%;
    margin: 1%;
}

.list_service li img {
    width: 100%;
    height: 300px;
    object-fit: contain;
    background: #fff;
    box-shadow: 10px 10px #fff352;
    border-radius: 10px;
    padding: 20px;
}

.service-name {
    text-align: center;
    font-size: 1.3em;
    margin-top: 20px;
}

.table01 {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 16px;
    margin: 30px 0;
    overflow: hidden;
}

.table01 thead tr {
    background-color: #34a9ee;
    color: #fff;
    text-align: left;
    font-weight: bold;
}

.table01 th,
.table01 td {
    padding: 10px;
    border-bottom: 1px solid #e6e6e6;
}

.table01 tbody tr {
    transition: background-color 0.3s ease;
}

.table01 tbody tr:hover {
    background-color: #f0f8ff;
}

.table01 tbody tr:nth-child(even) {
    background-color: #f9f9f9;
}

.table01 th {
    border-bottom: 1px solid #2c93d4;
    width: 30%;
}

table a {
    color: var(--main);
}

.contact-form01 td {
    background: #fff;
}

.sub-header-txt {
    color: #fff;
    text-align: left;
    margin-right: auto;
    border-radius: 0 10px 10px 0;
    padding: 30px 50px;
    background: rgba(245, 130, 32, 0.7);
}

.com-faq01-list {
    background: #fff;
    padding: 20px 20px 0 20px;
    border-radius: 10px;
}

.title02 {
    padding: 10px 15px;
    font-weight: 700;
    text-align: center;
    font-size: 4rem;
    margin-bottom: 25px;
    background-color: transparent;
    color: #333;
}

.tablepress-table-name {
    padding: 10px 15px;
    font-weight: 700;
    text-align: center;
    font-size: 4rem;
    margin-bottom: 25px;
    background-color: transparent;
    color: #333;
}

#tablepress-7 td {
    width: 50%;
}

.list_pdf {
    display: flex;
    justify-content: flex-start;
}

.list_pdf li {
    width: 31%;
    margin: 1%;
}

.list_pdf li a {
    display: block;
    padding: 50px;
    background: #fff;
}

.com-box01-tit {
    color: #333!important;
}

.com-box01-sub-tit {
    display: none !important;
}

.com-box01-txt-inner {
    background: #fff;
    padding: 30px !important;
}

.list02 {
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}

.list02 li {
    width: 31%;
    margin: 2%;
}

.list02 img {
    border-radius: 10px;
    height: 350px;
    box-shadow: 10px 10px #fff352;
}

.list02 .tit {
    font-size: 1.2em;
    padding: 10px;
    border-bottom: 3px dotted #34a9ee;
}

.width1600 {
    max-width: 1600;
    width: 90%;
    margin: 0 auto;
}

.single-info-article img {
    width: auto;
}


/*2025-0821　追加*/
.more-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease;
  margin-top: 15px;
}

.more-content.open {
  max-height: 2000px; /* 十分大きくして文章全体が入るように */
}

/* ボタン中央寄せ＆デザイン調整 */
.read-more-btn {
  display: block;                       /* ブロック要素で中央寄せ */
  margin: 20px auto 0 auto;             /* 上マージン20px、左右autoで中央寄せ */
  padding: 14px 20px !important;        /* 内側の余白 */
  background-color: #3C0 !important;    /* 背景色 */
  color: #fff !important;               /* 文字色 */
  border-radius: 30px;                  /* 丸角 */
  /* border: 2px solid #fff; */               /* 枠線 */
  line-height: 1;                       /* 行間調整 */
  font-size: 20px;                       /* フォントサイズ */
  text-align: center;
  cursor: pointer;
  transform: translate(10px, -20px) !important; /* 位置調整 */
  transition: background-color 0.3s ease, transform 0.3s ease; /* ホバーで滑らかに変化 */
  width: 30%;
}

.read-more-btn:hover {
  background-color: #28a800 !important; /* ホバー時の背景色 */
  transform: translate(10px, -22px) !important; /* 少し上に動かすなど演出 */
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
  .read-more-btn {
    width: 80%; /* スマホは幅を広げる */
    padding: 12px 25px !important; /* タッチしやすいサイズに調整 */
    transform: translate(0, 0) !important; /* 位置調整も必要ならリセット */
  }
}

/* YouTube動画の親divがmb100のものだけに適用する場合 */
.mb100 iframe {
  max-width: 1000px;       /* 幅を調整 */
  width: 100%;             /* 画面幅に合わせる */
  height: auto;            /* 高さ自動 */
  aspect-ratio: 16 / 9;    /* 縦横比16:9 */
  border-radius: 20px;     /* 四つ角丸 */
  overflow: hidden;        /* 角丸をiframeに反映 */
  display: block;
  margin: 0 auto;          /* 中央寄せ */
  border: 0;
}