@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/*************** 共通リセット ***************/
p,.body, a,.navi-in a, .breadcrumb, .breadcrumb-caption, #header .site-name-text,
.site-name-text, .copyright,
.entry-content>*, .mce-content-body>*, .article p, .demo .entry-content p, .article dl, .article ul, .article ol, .article blockquote, .article pre, .article table, .article .toc, .body .article, .body .column-wrap, .body .new-entry-cards, .body .popular-entry-cards, .body .navi-entry-cards, .body .box-menus, .body .ranking-item, .body .rss-entry-cards, .body .widget, .body .author-box, .body .blogcard-wrap, .body .login-user-only, .body .information-box, .body .question-box, .body .alert-box, .body .information, .body .question, .body .alert, .body .memo-box, .body .comment-box, .body .common-icon-box, .body .blank-box, .body .button-block, .body .micro-bottom, .body .caption-box, .body .tab-caption-box, .body .label-box, .body .toggle-wrap, .body .wp-block-image, .body .booklink-box, .body .kaerebalink-box, .body .tomarebalink-box, .body .product-item-box, .body .speech-wrap, .body .wp-block-categories, .body .wp-block-archives, .body .wp-block-archives-dropdown, .body .wp-block-calendar, .body .ad-area, .body .wp-block-gallery, .body .wp-block-audio, .body .wp-block-cover, .body .wp-block-file, .body .wp-block-media-text, .body .wp-block-video, .body .wp-block-buttons, .body .wp-block-columns, .body .wp-block-separator, .body .components-placeholder, .body .wp-block-search, .body .wp-block-social-links, .body .timeline-box, .body .blogcard-type, .body .btn-wrap, .body .btn-wrap a, .body .block-box, .body .wp-block-embed, .body .wp-block-group, .body .wp-block-table, .body .scrollable-table, .body .wp-block-separator, .body .wp-block, .body .video-container, .comment-area, .related-entries, .pager-post-navi, .comment-respond {
  margin: 0;
  padding: 0;
  line-height: 1;
  font-size: 18px;
  color: #42210A;
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
  border: none;
}
.article h1, .article h2, .article h3, .article h4, .article h5, .article h6, h7, h8, h9 {
  line-height: 1;
  font-weight: normal;
  font-size: 18px;
  border: none;
  margin-bottom: 50px;
  font-weight: bold;
}
a {
  text-decoration: none;
}
a:hover {
  color: #42210A;
  opacity: .6;
  transition: all .5s ease;
}
.container {
  background-color: #fff;
}

/* header */
.header {
  position: relative;
}
.body:not(.home) .header {
  background-size: cover;
}
.article-header {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.content-in .article-header {
  display: none;
}
.article-header .date-tags {
  display: none;
}
.body:not(.home) .header {
  padding-bottom: 300px;
}
.body.error404 .header {
  padding-bottom: 50px;
}
.error404 .search-nav-buttons {
  display: none;
}
.error404 .post.article {
  max-width: 800px;
  margin: 0 auto 100px;
  padding-left: 15px;
  padding-right: 15px;
}
.tagline {
  display: none;
}
.logo-text {
  padding: 0;
}
.site-name-text-link {
  padding: 0;
}
.navi {
  background-color:transparent;
}
.navi-in > ul li {
  width: auto;
  height: auto;
}
.navi-in .menu-pc {
  display: block;
}
.slicknav_menu {
  display: none;
}
.fa-home:before {
  content: none;
}
.fa-fw {
  width: auto;
}
.navi .navi-in ul li.current_page_item a {
  text-decoration: underline;
}

/* content */
.content {

  margin: 0;
}
main.main, div.sidebar {
  padding: 0;
}
.main {
  background-color: inherit;
  padding: 0;
  border: none;
}
.entry-title {
  max-width: 1230px;
  margin: 0 auto;
  background-color: aquamarine;
}
.wrap {
  max-width: 1230px;
  margin: 0 auto;
}
.content-in.wrap {
  width: 100%;
  max-width: 100%;
  padding: 0;
}
.column-full-wide .content-in {
  max-width: 1230px;
  margin: 0 auto;
  background-color: antiquewhite;
}
.entry-content {
  margin: 0;
}
.wrap,
.entry-title {
  padding-left: 15px;
  padding-right: 15px;
}

/* footer */
.author-info,
.article-footer .entry-categories-tags {
  display: none;
}
.footer {
  background-color: #0f0;
  margin: 0;
  padding: 0;
}
.footer-bottom {
  margin: 0;
  padding: 0;
}
.footer-bottom-logo,
.footer-bottom-content {
  float: none;
  position: relative;
}
.logo-footer {
  margin: 0;
}
.footer-bottom-content {
  text-align: center;
}
.copyright {
  margin: 0;
}
/* より一般的なタブレット範囲を対象にする場合（例: 768px から 1440px） */
@media only screen and (min-width: 768px) and (max-width: 1440px) {
	body {
		min-width: 1440px;
	}
  .wrap {
    width: 100%;
  }
}
/* スマートフォン版のスタイル */
@media screen and (max-width: 767px) {
  main.main, div.sidebar {
    padding: 0;
  }
  .entry-title, .article h2 {

  }
}

ul {
  list-style: none;
}
ol,ul {
  margin: 0;
  padding: 0;
}
.btn {
  border: none;
  color: inherit;
  font-weight: normal;
  border-radius: 0;
  line-height: 1;
  padding: 0;
  background-color: inherit;
  transition: none;
  font-size: inherit;
}
.article ul li, .article ol li {
  margin: 0;
}
.column-full-wide .content-in {
  max-width: 100%;
  background-color: #fff;
  padding: 0;
}
.entry-content section article {
  max-width: 1230px;
  margin: 0 auto;
  padding: 80px 15px 100px;
}
.entry-content section:nth-child(even) {
  background-color: #DEEEE7;
}
body {
  position: relative;
}
.home .header {
  padding-bottom: 800px;
}
.header-in {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100%;
    background-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    z-index: 999;
    padding: 0;
}
.header_wrap {
  width: 1440px;
  padding-left: 15px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header_wrap ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}
.header_wrap ul.left li {
  margin-right: 10px;
}
.header_wrap ul.left img.logo {
  width: 74px;
  height: auto;
}
.header_wrap ul.left img {
  width: 108px;
  height: auto;
  display: block;
}
.header_wrap .right {
  margin-left: 15px;
  font-size: 14px;
  line-height: 1.5;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.header_wrap .right a.btn,
.header_wrap .right .tel.xp,
.header_wrap .right .eigyo {
  margin-right: 15px;
}
.header_wrap .right .eigyo p {
  font-size: 14px;
  line-height: 1.5;
}
.header_wrap .right .tel.xp p {
  font-size: 10px;
  line-height: 1.3;
}
.header_wrap .right .eigyo span.xp {
  display: inline-block;
  padding: 4px 10px;
  font-size: 12px;
  background-color: #28AF74;
  border-radius: 4px;
  color: #fff;
  line-height: 1;
}
.header_wrap .right .tel.xp {
  position: relative;
  font-size: 10px;
  padding-left: 60px;
  padding-top: 5px;
}
.header_wrap .right .tel.xp span {
  font-size: 28px;
  font-kerning: none;
  letter-spacing: 5px;
}
.header_wrap .right .tel.xp::before {
  content: "";
  position: absolute;
  border-radius: 4px;
  width: 48px;
  height: 48px;
  background-color: #42210A;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.tel.xp::after {
  content: "";
  position: absolute;
  width: 32px;
  height: 32px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../../../common/img/icon_phone.png);
  top: 50%;
  left: 8px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.header_wrap .right a.btn {
  position: relative;
}
.body_btn {
  width: 100%;
  position: fixed;
  bottom: 10px;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  display: none;
}
.body_btn ul {
  display: flex;
  justify-content: center;
}
.body_btn ul li {
  margin-right: 5px;
}
.body_btn .eigyo p,
.body_btn .tel.xp p,
.header_wrap .right .eigyo .btn.tel {
  display: none;
}
.body_btn .eigyo .btn.tel  {
  background-color: #42210A;
}
a.btn::after {
  content: "";
  position: absolute;
  width: 30px;
  height: 30px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../../../common/img/icon_line.png);
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  margin: 0;
}
.go-to-top {
  z-index: 998;
  bottom: 50px;
  right: 25px;
}
.go-to-top-button {
  width: 85px;
  height: 65px;
  background-color: transparent;
  border-radius: 0;
}
.go-to-top:hover {
  opacity: .6;
}
.fa-angle-double-up:before {
  content: "";
  position: absolute;
  width: 85px;
  height: 45px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../../../common/img/logo.png);
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.fa-angle-double-up::after {
  content: "トップへ↑";
  position: absolute;
  width: 85px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  font-size: 16px;
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
}
a.btn.mail::after {
  height: 23px;
  background-image: url(../../../common/img/icon_pc.png);
}
.body_btn a.btn {
  font-size: 12px;
  padding: 15px 15px 15px 50px;
  min-width: auto;
}
.body_btn a.btn.tel {
  padding-left: 40px;
}
.body_btn a.btn.line {
  padding-left: 60px;
}
.body_btn a.btn.tel::after {
  width: 24px;
  height: 24px;
  background-image: url(../../../common/img/icon_phone.png);
}
.body_btn .tel.xp::after {
  content: none;
}
.btn {
  display: block;
  font-size: 18px;
  color: #fff;
  padding: 14px 24px 14px 50px;
  border-radius: 30px;
  background-color: #28AF74;
  text-decoration: none;
  background-repeat: no-repeat;
  background-position: 20px center;
  min-width: 180px;
  font-weight: bold;
}
.btn.mail {
  background-color: #EB9200;
}
header nav {
  position: fixed;
  width: 300px;
  top: 80px;
  right: -300px;
  background-color: rgba(33,33,33,.9);
  height: 100%;
  z-index: 999;
}
header nav.is-open {
  right: 0;
  transition: all .5s ease;
}
.header_wrap .right .navi li {
  margin: 0;
  line-height: 1;
  border-bottom: solid 1px #fff;
}
.navi li {
  text-align: left;
  padding: 24px 0;
}
.navi li a {
  color: #fff;
}
.btn-gnavi_box {
  position: relative;
  background-color: #28AF74;
  padding: 21px 22px;
  z-index: 1001;
}
.btn-gnavi {
  position: relative;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 28px;
  height: 28px;
  cursor: pointer;
  transition: all 400ms;
  -webkit-transition:all 400ms;
  z-index: 1000;
  background-color: inherit;
}
.btn-gnavi span {
    position: absolute;
    width: 30px;
    height: 4px;
    background: #fff;
    border-radius: 10px;
    -webkit-transition: all 400ms;
    transition: all 400ms
}
.btn-gnavi_box p.txt {
    font-size: 10px;
    color: #fff;
}
.btn-gnavi span:nth-child(1) {
  top: 0;
}
.btn-gnavi span:nth-child(2) {
  top: 10px;
}
.btn-gnavi span:nth-child(3) {
  top: 20px;
}
.btn-gnavi.hb-open {
  transform: rotate(180deg);
  -webkit-transform:rotate(180deg);
  background-color: inherit;
}
.btn-gnavi.hb-open span {
  background: #fff;
}
.btn-gnavi.hb-open span:nth-child(1) {
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 24px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
.btn-gnavi.hb-open span:nth-child(2) {
  opacity: 0;
}
.btn-gnavi.hb-open span:nth-child(3) {
  top: 12px;
  width: 24px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
.navi-in.wrap {
  width: auto;
  max-width: inherit;
  background-color: #28AF74;
  height: 100vh;
  padding: 40px;
  overflow-y: auto;
}
#navi-overlay {
    display: none; /* 初期状態は非表示 */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 998; /* ナビ(999)より下、ボタン(1001)より下 */
    cursor: pointer;
}
ul.sns {
  display: flex;
  justify-content: space-between;
  padding: 60px 60px 15px;
  justify-content: space-between;
}
ul.sns li {
  width: 40%;
  padding: 0;
  text-align: center;
  border: none;
}
.nav_bot p {
  text-align: center;
  margin-bottom: 100px;
}
.nav_bot span,
.nav_bot p a {
  display: inline-block;
  width: auto;
  height: auto;
  font-size: 14px;
  color: #fff;
  line-height: 1;
  margin-bottom: 20px;
}
.nav_bot p a {
  text-decoration: underline;
}
.navi-in a:hover,
a:hover {
  text-decoration: underline;
}
.navi-in a:hover {
  background-color: transparent;
  color: #fff;
}
.navi-footer-in a:hover {
  background-color: transparent;
  text-decoration: underline;
}
.btn:hover {
  text-decoration: none;
  opacity: 1;
  background-color: #108F58;
}
.btn.mail:hover {
  background-color: #DD8900;
}
.footer {
  background-color: #FBE9CC;
  padding-top: 60px;
}
.footer_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.footer_wrap .left {
  display: flex;
  justify-content: space-between;
}
.navi .item-label, .navi .item-description {
  overflow: visible;
}
@media screen and (max-width: 767px) {
  .header_wrap {
    width: 100%;
  }
  .header_wrap .right .eigyo,
  .header_wrap .right .tel.xp,
  .header_wrap .right .box {
    display: none;
  }
}
.footer .left {
  width: 24%;
}
.footer .sns {
  width: 20%;
  padding: 0 60px;
}
.footer .right {
  width: 56%;
}
.footer .logo {
  width: 120px;
  padding-right: 10px;
}
.navi-footer-in > .menu-footer {
  display: grid;
  grid-auto-flow: column; /* 要素を横ではなく縦に並べる */
  grid-template-rows: repeat(3, auto); /* 1列に3つの行を作成 */
  gap: 20px 60px; /* 行間の余白は0、列間の余白は20px */
  list-style: none;
}
.footer-bottom.fnm-text-width .menu-footer li {
  border: none;
  width: 100%;
  margin: 0;
  display: block;
  text-align: left;
}
.footer-bottom.fnm-text-width .menu-footer li a {
  padding: 0;
  text-align: left;
  font-size: 16px;
  color: #42210A;
}
.footer-bottom.fnm-text-width .menu-footer li.current_page_item a {
  text-decoration: underline;
}
.footer-bottom-content {
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
  padding: 15px 0 30px;
  border-top: solid 1px #42210A;
  width: 100%;
  font-size: 12px;
}
.footer-bottom-content .box {
  display: flex;
  justify-content: space-between;
  padding: 0 15px;
}
.footer-bottom-content .box a {
  margin-right: 30px;
  font-size: 12px;
  white-space: nowrap;
}
.footer-bottom-content .box a {
  margin-right: 30px;
  font-size: 12px;
  white-space: nowrap;
  text-decoration: underline;
}
.footer-bottom-content p.attxp {
  font-size: 12px;
}
.copyright {
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .footer-bottom-content .box,
  .footer-bottom-content,
  .footer_wrap {
    display: block;
  }
  .navi-footer-in > .menu-footer {
    display: block;
  }
  .footer .sns,
  .footer .left,
  .footer .right {
    max-width: 286px;
    width: 100%;
    margin:  0 auto;
  }
  .footer .sns {
    max-width: 120px;
    padding: 0;
  }
  .navi-footer {
    width: 160px;
    margin: 0 auto;
  }
  .footer-bottom.fnm-text-width .menu-footer li {
    margin-bottom: 20px;
  }
  .footer-bottom.fnm-text-width .menu-footer li a {
    font-size: 16px;
  }
  .footer-bottom-content .box a {
    margin-right: 0;
  }
  .footer .left {
    margin-bottom: 20px;
  }
  .footer .sns {
    margin-bottom: 40px;
  }
  .footer-bottom-content p {
    margin-bottom: 20px;
  }
  .copyright {
    padding-top: 20px;
  }
  .body_btn {
    display: block;
  }
  .go-to-top {
    bottom: 65px;
  }
}

.slider-gallery {
  width: 880px;
  max-width: 100%;
  margin: 0 auto;
}
.slider-hero {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}
.slider-hero .slick-slide {
  margin: 0 60px;
}
.slick-next::before,
.slick-prev:before {
  content: none;
}
.slick-prev, .slick-next {
  width: 62px;
  height: 62px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../../../common/img/slider_arrow.png);
  top: 50%;
  left: -10%;
  transform: translateY(-50%) rotate(180deg);
  -webkit-transform: translateY(-50%) rotate(180deg);
  -ms-transform: translateY(-50%) rotate(180deg);
  z-index: 100;
}
.slick-next {
  left: auto;
  right: -10%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.slider-hero .slick-prev,
.slider-hero .slick-next {
  left: 155px;
}
.slider-hero .slick-next {
  left: auto;
  right: 155px;
}
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
  background: url(../../../common/img/slider_arrow.png);
  background-size: contain;
}
.slick-dotted.slick-slider {
  margin-bottom: 100px;
}
.slide-card {
  width: 100%;
  border-radius: 20px;
  background-color: #fff;
  padding: 40px;
  box-sizing: border-box;
  border: solid 2px #EB9200;
}
#voice ul.box,
.slider-hero ul.box {
  display: flex;
  justify-content: space-between;
}
#voice ul.box li span.xp,
.slider-hero ul.box li span.xp {
  display: inline-block;
  background-color: #EB9200;
  color: #fff;
  font-size: 14px;
  padding: 10px;
  border-radius: 5px;
  margin-bottom: 15px;
}
#voice ul.box li p.title,
.slider-hero ul.box li p.title {
  font-size: 24px;
  margin-bottom: 15px;
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
  margin-top: 0;
  line-height: 1;
}
#voice ul.box img,
.slider-hero ul.box img {
  padding-right: 40px;
}
#voice ul.box img.xp,
.slider-hero ul.box img.xp {
  display: inline;
}
#voice ul.box p.xp,
.slider-hero ul.box p.xp {
  border-bottom: solid 2px #42210A;
  padding-bottom: 15px;
  margin-bottom: 20px;
  margin-top: 0;
  line-height: 1;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
#voice ul.box p.xp span,
.slider-hero ul.box p.xp span {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 14px;
}
#voice ul.box p.xp img,
.slider-hero ul.box p.xp img {
  height: 24px;
}
#voice ul.box p.txt,
.slider-hero ul.box p.txt {
  line-height: 2;
  font-size: 16px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal;
  margin-top: 0;
}
.slider-hero ul.slick-dots li button:before {
  font-size: 20px;
  color: #42210A;
  background-color: transparent;
}
.slider-hero ul.slick-dots li.slick-active button:before {
  color: #42210A;
  opacity: 1;
}
.slider-hero ul.slick-dots {
  bottom: -50px;
}
.slider-hero ul.slick-dots li {
  margin: 8px;
}
.slider-hero ul.box {
  align-items: center;
}
.slider-hero ul.box li.aaa {
  width: 40%;
}
.slider-hero ul.box li.bbb {
  width: 60%;
}
.slider-gallery .slick-dots {
  display: flex !important;
  bottom: -15px;
}
.slider-gallery .slick-dots li {
  width: 100%;
  height: 8px;
  margin: 0 5px;
  border-radius: 4px;
}
.slider-gallery .slick-dots li button {
  width: 100%;
  height: 8px;
  padding: 0;
  border-radius: 4px;
}
.slick-dots li button:before {
  width: 100%;
  height: 8px;
  padding: 0;
  font-size: 0;
  border-radius: 4px;
  background-color: #EB9200;
}

@media screen and (max-width: 767px) {
  .slick-dotted.slick-slider {
    margin-bottom: 0;
  }
  .slider-hero ul.box {
    flex-wrap: wrap;
  }
  .slider-hero .slick-slide {
    margin-left: 15px;
    margin-right: 15px;
  }
  #voice .slider-hero ul.box li.aaa,
  #voice .slider-hero ul.box li.bbb {
    width: 100%;
  }
  #voice .slider-hero ul.box img {
    padding-right: 0;
    padding-bottom: 20px;
    width: 60%;
    margin: 0 auto;
  }
  #voice .slider-hero ul.box li.bbb p.xp img {
    padding: 0;
    width: auto;
    margin: 0;
  }
  .slide-card {
    padding: 24px;
  }
  .slick-prev, .slick-next {
    width: 30px;
    height: 30px;
    top: 18%;
  }
  .slider-hero .slick-next {
    right: 8%;
  }
  .slider-hero .slick-prev {
    left: 8%;
  }
  .slider-hero ul.box li p.title {
    line-height: 1.5;
  }
  #voice ul.box li p.title, .slider-hero ul.box li p.title {
    font-size: 16px;
    line-height: 2;
  }
  #voice ul.box p.txt, .slider-hero ul.box p.txt {
    font-size: 14px;
  }
  #voice ul.box li span.xp, .slider-hero ul.box li span.xp {
    font-size: 12px;
  }
}

section article ul,
section article .box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 40px;
}
section article ul li img,
section article .box img {
  border-radius: 4px;
}
section article .btn_in {
  text-align: center;
}
section article a.btn {
  padding: 16px 40px;
  display: inline-block;
  font-size: 16px;
}
section article a.btn::after {
  content: none;
}
section article .box .left {
  width: 30%;
}
section article .box .right {
  width: 66%;
}
section article .box p {
  line-height: 2;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal;
  margin-bottom: 20px;
}

/* 共通タイトル */
.article h3 {
  font-size: 24px;
  position: relative;
  z-index: 1;
  margin-bottom: 15px;
}
.article h3::after {
  content: "";
  width: 34px;
  height: 34px;
  position: absolute;
  background-color: #F5C980;
  border-radius: 50%;
  left: 15px;
  top: 15px;
  z-index: -1;
}
.article h4 {
  font-size: 24px;
  position: relative;
  z-index: 1;
  margin-bottom: 20px;
  text-align: center;
}
.article h4 span {
  display: inline-block;
  position: relative;
}
.article h4 span::before {
  content: "";
  position: absolute;
  width: 32px;
  height: 26px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../../../common/img/icon_kune.png);
  top: 50%;
  left: -40px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.article h4::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 20px;
  top: 20px;
  left: 0;
  background-color: #F5C980;
  z-index: -1;
}
span.mark {
  font-size: 32px;
  color: #28AF74;
  font-style: italic;
  padding-right: 20px;
}

/* トップページ */
h1.entry-title {
  font-size: 54px;
  background-color: transparent;
  text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #fff, 0 0 30px #fff, 0 0 50px #fff;
  max-width: 1440px;
  white-space: nowrap;
}
body:not(.home) h1.entry-title {
  font-size: 40px;
  margin-top: 50px;
}
.article h2 {
  font-size: 32px;
  background-color: transparent;
  text-align: center;
  position: relative;
}
.article h2::after {
  content: "";
  position: absolute;
  width: 60px;
  height: 2px;
  background-color: #28AF74;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
h1.entry-title span {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal;
  display: block;
  font-size: 20px;
  text-shadow: none;
  padding-top: 20px;
}
#breadcrumb {
  text-align: right;
  margin: 0 auto;
  padding: 20px 15px;
}
.home #breadcrumb {
  display: none;
}

#breadcrumb span.breadcrumb-caption {
  font-size: 12px;
  color: #A19085;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal;
}
#breadcrumb .breadcrumb-home a span.breadcrumb-caption {
  color: #000;
  text-decoration: underline;
}
.fa-angle-right {
  content: "";
  position: relative;
  width: 6px;
  height: 10px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../../../common/img/subtract.svg);
  top: 1px;
  left: 0;
}
.fa-angle-right:before {
  content: none;
}
.breadcrumb.sbp-main-before + .content, .breadcrumb.pbp-main-before + .content {
  margin: 0;
}
.body.single #breadcrumb {
  margin-top: 80px;
}
.body.single .header {
  padding-bottom: 0;
}
.fa-folder-open:before,
.fa-file-o:before {
  content: none;
}
#list {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-direction: inherit;
  max-width: 1230px;
  margin: 0 auto;
  flex-wrap: wrap;
  margin-bottom: 50px;
}
#list::after {
  content: "";
  display: block;
  width: 31%;
}
#list .my-post-card {  
  width: 31%;
  padding: 16px;
  border-radius: 10px;
  box-shadow: 0px 2px 18px 0px rgba(0, 0, 0, 0.4);
}
#list .my-post-card .post-thumb {
  margin-bottom: 10px;
}
#list .my-post-cardt .post-thumb img {
  border-radius: 5px;
}
#list .my-post-card .meta-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.post-update {
  display: none;
}
.fa-tag::before,
.fa-folder::before {
  content: none;
}
.cat-link,
.tag-link {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  font-size: 12px;
  padding: 8px 16px;
  border-radius: 3px;
  color: #fff;
  border: none;
}
.cat-link:hover,
.tag-link:hover {
  text-decoration: none;
}
.cat-link {
  background-color: #8C7D70;
}
.cat-link.cat-link-4 {
  display: none;
}
.tag-link {
  background-color: #65BFA6;
}
.tag-link:hover, .comment-reply-link:hover {
  background-color: #65BFA6;
  color: #fff;
}
.tag-link.tag-link-8 {
  background-color: #D9965B;
}
.tag-link.tag-link-9 {
  background-color: #F28177;
}
.tag-link.tag-link-10 {
  background-color: #6F8C30;
}
.post-title {
  line-height: 1.5;
  margin-top: 10px;
}
.entry-categories-tags {
  margin-bottom: 0;
}
.date-tags {
  margin: 0;
  line-height: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.single .date-tags {
  margin-bottom: 50px;
}
.post-date {
  padding: 0;
  color: #A19085;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  font-size: 12px;
}
h3.post-title {
  padding: 0;
}
h3.post-title a {
  font-size: 16px;
  line-height: 2;
}

/* single */
.body.single .header .entry-title {
  display: none;
}
.body.single .entry-content.cf {
  min-height: 200px;
  max-width: 880px;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  margin-bottom: 100px;
}
.body.single .entry-content.cf p {
  margin-bottom: 20px;
  line-height: 2;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal;
  font-size: 16px;
}
.body.single .entry-content.cf h1 {
  text-shadow: none;
  font-size: 32px;
  line-height: 1.5;
  margin: 30px 0 10px;
}
.entry-eye-catch-content {
  margin-bottom: 50px;
}
.entry-eye-catch-content img {
  width: 100%;
  margin-bottom: 50px;
}
.archive-title {
  display: none;
}
.content section article ul li {
  width: 23%;
}
h3.post-title::after {
  content: none;
}

/* top */
#access h2 {
  position: absolute;
  top: -132px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 1;
}
.kids_list p,
.shojo p {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal;
  font-size: 16px;
  margin-bottom: 15px;
  line-height: 2;
}
.kids_list img,
.shojo img {
  margin-bottom: 10px;
}
section#access {
  margin-top: 200px;
  margin-bottom: 100px;
}
section#access .box .box {
  margin-bottom: 30px;
}
section#access article .left {
  width: 55%;
  padding: 60px;
}
section#access article {
  padding-top: 0;
  padding-bottom: 0;
}
section#access article .left .left {
  width: 30%;
  padding: 0;
}
section#access article .left .right {
  width: 65%;
}
section#access article .right {
  width: 45%;
}
section#access article .left .right p {
  font-size: 16px;
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
}
section article.accessxp .box .left p.xp,
section#access article .left p.xp {
  font-size: 16px;
  text-align: right;
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
}
section article.accessxp .box .left p.xp span,
section#access article .left p.xp span {
  color: #EB9200;
}
.body table {
  border-collapse: inherit;
  border-top: solid 1px #42210A;
  border-right: solid 1px #42210A;
  border-left: solid 1px #42210A;
  font-size: 16px;
  margin-bottom: 15px;
}
table th {
  background-color: #EAF7F2;
  padding: 20px 0;
}
.body table td {
  text-align: center;
  color: #EB9200;
  background-color: #fff;
  border-left: none;
  border-right: none;
  border-bottom: solid 1px #42210A;
}
.body table th {
  border-left: none;
  border-right: none;
  border-bottom: solid 1px #42210A;
}
span.att {
  margin-top: 10px;
  font-size: 12px;
  display: block;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal;
}
#voice article.top {
  padding-bottom: 50px;
}
#voice article.bottom {
  padding-top: 0;
}
#cta {
  background-color: #D4EFE3;
  padding: 80px 0 100px;
  margin-bottom: 150px;
}
#cta ul {
  max-width: 1200px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 20px;
  align-items: stretch;
  padding: 20px;
}
#cta ul li {
  position: relative;
  width: 33.33%;
  padding: 120px 20px 20px 20px;
  border-right: solid 2px #A19085;
  text-align: center;
}
#cta ul li p.title {
  font-size: 20px;
  height: 72px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
  line-height: 2;
}
#cta ul li::before {
  content: "";
  position: absolute;
  width: 80px;
  height: 80px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../../../common/img/icon_cir_phone.png);
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
#cta ul li:nth-child(2):before {
  background-image: url(../../../common/img/icon_cir_line.png);
}
#cta ul li:nth-child(3):before {
  background-image: url(../../../common/img/icon_cir_pc.png);
}
#cta ul li:last-child {
  border: none;
}
#cta ul li .btn_in {
  font-size: 20px;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 0;
}
#cta ul li .btn_in p {
  width: 100%;
  margin: 0;
  font-size: 14px;
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
}
#cta ul li .btn_in p.tel a {
  width: 100%;
  margin: 0;
  font-size: 32px;
  color: #28AF74;
  letter-spacing: 4px;
}
#cta ul li .btn_in p.tel span {
  font-size: 16px;
  letter-spacing: 0;
}

/* about */
.article h6 {
  font-size: 24px;
  padding: 0;
  margin-bottom: 20px;
  line-height: 2;
}
.aboutxp p {
  margin-bottom: 20px;
}
.about .box {
  max-width: 900px;
  margin: 0 auto;
  flex-direction: row-reverse;
}
.about .box .left {
  width: 55%;
}
.about .box .right {
  width: 40%;
}
.about .box .left p {
  background-color: #D4EFE3;
  border-radius: 10px;
  padding: 30px 20px;
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
}
.about .name_box .left {
  width: 50%;
}
.about .name_box .right {
  position: relative;
  width: 45%;
}
.name {
  position: absolute;
  right: 10px;
  bottom: 10px;
  border: solid 2px #94D7BA;
  border-radius: 5px;
  padding: 12px 16px;
  background-color: #fff;
  font-size: 14px;
}
.name span {
  font-size: 18px;
}
section#white p.txt.center.xp {
  line-height: 1;
  margin: 0;
  position: relative;
  top: -75px;
}
.accordion-008 {
  max-width: 100%;
  margin-bottom: 15px;
  border-radius: 10px;
  box-shadow: 0 7px 15px -5px rgb(0 0 0 / 5%);
  background-color: #fff;
  border: solid 1px #28AF74;
  padding: 20px 20px 20px 50px;
  position: relative;
}
.accordion-008::before {
  content: "Q.";
  position: absolute;
  top: 15px;
  left: 20px;
  color: #28AF74;
  font-size: 24px;
}
.accordion-008 summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  cursor: pointer;
  font-size: 16px;
}
.accordion-008 summary::-webkit-details-marker {
  display: none;
}
.accordion-008 summary::before,
.accordion-008 summary::after {
  width: 2px;
  height: .9em;
  border-radius: 5px;
  background-color: #42210A;
  content: '';
}
.accordion-008 summary::before {
  position: absolute;
  right: 0;
  rotate: 90deg;
}
.accordion-008 summary::after {
  transition: rotate .3s;
}
.accordion-008[open] summary::after {
  rotate: 90deg;
}
.accordion-008 p {
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: 20px 0 0 0;
  transition: transform .5s, opacity .5s;
  position: relative;
}
.accordion-008 p::before {
  content: "A.";
  position: absolute;
  top: 10px;
  left: -30px;
  color: #EB9200;
  font-size: 24px;
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
}
.accordion-008[open] p {
  transform: none;
  opacity: 1;
  font-size: 16px;
  line-height: 2;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal; 
}
p.caption {
  font-size: 16px;
  line-height: 1.5;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal;
  margin-top: 20px;
}

/* plan */
section article.accessxp ul li,
section article ul.plan li {
  width: 48%;
  border: solid 2px #28AF74;
  border-radius: 5px;
}
section article.accessxp ul li .title,
section article ul.plan li .title {
  background-color: #28AF74;
  text-align: center;
  color: #fff;
  margin: 0;
  padding: 15px;
  font-size: 24px;
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
  line-height: 1;
}
section article ul.plan.xp li {
  width: 31%;
  border: solid 2px #EB9200;
  height: 200px;
}
section article ul.plan.xp li p.title {
  background-color: #EB9200;
}
section article ul.plan.xp li p.title span {
  display: inline-block;
  position: relative;
}
section#white article.accessxp ul li.xp,
section#white article ul.plan.xp li.xp {
  margin-bottom: 0;
}
article.accessxp ul li table,
section article ul.plan table {
  padding: 0 40px;
  width: 100%;
  height: calc(100% - 54px);
}
article.accessxp ul li table,
article.accessxp ul li table th,
article.accessxp ul li table td,
section article ul.plan table th,
section article ul.plan table td,
section article ul.plan table {
  border: none;
  text-align: center;
  background-color: transparent;
  color: #42210A;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal;
  font-size: 18px;
}
article.accessxp ul li table tr,
section article ul.plan table tr {
  background-color: transparent;
}
article.accessxp ul li table th,
section article ul.plan table th {
  width: 20%;
  border-bottom: solid 2px #A19085;
  position: relative;
  padding: 25px 0;
}
section article ul.plan table th::before {
  content: "";
  position: absolute;
  width: 24px;
  height: 20px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../../../common/img/icon_plan_a.png);
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
section article ul.plan table th.xp::before {
  background-image: url(../../../common/img/icon_plan_b.png);
}
section article ul.plan table th.end::before {
  background-image: url(../../../common/img/icon_plan_c.png);
}
section article ul.plan.xp table th::before {
  content: none;
}
section article ul.plan.xp li p.title span::before {
  content: "";
  position: absolute;
  width: 26px;
  height: 30px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../../../common/img/icon_plan_d.png);
  top: 50%;
  left: -35px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
section article ul.plan.xp li.xp p.title span::before {
  width: 20px;
  height: 37px;
  background-image: url(../../../common/img/icon_plan_e.png);
}
section article ul.plan.xp li.xxp p.title span::before {
  width: 32px;
  height: 32px;
  background-image: url(../../../common/img/icon_plan_f.png);
}
article.accessxp ul li.xp table th::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../../../common/img/icon_bus.png);
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
article.accessxp ul li.xp table th.end::before {
  background-image: url(../../../common/img/icon_train.png);
}
article.accessxp ul li table td,
section article ul.plan table td {
  text-align: left;
  border-bottom: solid 2px #A19085;
  line-height: 1.5;
}
section article ul.plan table td span {
  font-size: 32px;
  color: #28AF74;
  font-weight: 500;
}
section article ul.plan.xp table td span {
  font-size: 32px;
  color: #EB9200;
  font-weight: 500;
}
article.accessxp ul li table th.end,
article.accessxp ul li table td.end,
section article ul.plan.xp li.xxp table th,
section article ul.plan.xp li.xxp table td,
section article ul.plan.xp li.xp table th,
section article ul.plan.xp li.xp table td,
section article ul.plan table th.end,
section article ul.plan table td.end {
  border: none;
}
section article ul.plan.xp li table th {
  width: 40%;
}
section article ul.plan.xp li table td.xp {
  text-align: center;
}
section article ul.plan.xp li.xxp table td {
  text-align: center;
  line-height: 2;
}
article.accessxp ul li table td,
section article ul.plan table td {
  padding: 0;
}
section article ul.plan.xp li.xp table th,
section article ul.plan.xp li.xp table td,
section article ul.plan.xp li.xp table td.xp {
  padding-top: 0;
  padding-bottom: 0;
}
section article ul.plan.xp li.xp table td.xp {
  vertical-align: top;
}

/* kids */
.center {
  text-align: center;
}
section article ul.xp li {
  width: 32%;
}
section article ul.xp li h4 span::before {
  content: none;
}

/* flow */
.article #flow h3 {
  padding-top: 0;
  padding-bottom: 0;
}
.article #flow h3::after {
    top: 0;
    left: 10px;
}
#flow p.txt {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal;
  text-align: center;
  line-height: 2;
  margin-bottom: 50px;
}
#flow .box {
  position: relative;
  border: solid 2px #28AF74;
  border-radius: 10px;
  padding: 40px 40px 60px 40px;
  margin-bottom: 70px;
}
#flow .box::after {
  content: "";
  position: absolute;
  width: 28px;
  height: 20px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../../../common/img/icon_arrow.png);
  bottom: -47px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
#flow .box.end::after {
  content: none;
}
#flow .box img {
  border-radius: 4px;
}
#flow .box.xp {
  flex-direction: row-reverse;
}
#flow .box .left {
  width: 63%;
}
#flow .box .right {
  width: 33%;
}
.box .point {
  position: relative;
  background-color: #FBE9CC;
  font-size: 16px;
  padding: 24px 0 24px 90px;
  margin-top: 20px;
  line-height: 1;
  border-radius: 10px;
}
.box .point::before {
  content: "POINT";
  font-size: 12px;
  position: absolute;
  top: 10px;
  left: 30px;
  font-weight: bold;
}
.box .point::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 26px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../../../common/img/icon_point.png);
  top: 25px;
  left: 40px;
}

/* voice */
#voice article {
  max-width: 976px;
}
#voice .slide-card {
  margin-bottom: 30px;
}
#voice ul.box li.aaa {
  width: 40%;
}
#voice ul.box li.bbb {
  width: 60%;
}
#voice p.txt.center,
p.txt.center.voicexp {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal;
  line-height: 2;
  margin-bottom: 50px;
}
p.txt.center.voicexp {
  padding-left: 15px;
  padding-right: 15px;
}

/* access */
.access .box {
  background-color: #D4EFE3;
  border-radius: 20px;
  padding: 24px 40px;
  align-items: center;
}
.access .box .right p {
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
}
.map {
  position: relative;
  border-radius: 20px;
  width: 100%;
  height: 400px;
  z-index: 1;
  overflow: hidden;
}
.map iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}
section article.accessxp ul li {
  width: 48%;
  height: 280px;
}
section article.accessxp .box .left {
  width: 40%;
}
section article.accessxp .box .right {
  width: 58%;
}
section article.accessxp ul li .box {
  padding: 26px 40px;
}
section article.accessxp ul li .box .left p {
  font-size: 16px;
  margin: 0;
  line-height: 1.8;
}
section article.accessxp ul li .box .left p span {
  display: inline-block;
  font-weight: bold;
  padding-top: 5px;
}
section article.accessxp .box .left.xp {
  width: 46%;
}
section article.accessxp .box .right.xp {
  width: 50%;
}
.accessxp .right .point {
  line-height: 1.5;
  padding-right: 20px;
  margin-top: 0;
  margin-bottom: 10px;
}
.accessxp .right .point h9 {
  font-weight: bold;
}
.accessxp .right .point::before {
  top: 35px;
}
.accessxp .right .point::after {
  top: 55px;
}

/* contact */
#contact ul {
  align-items: stretch;
  width: 788px;
  margin: 0 auto;
}
#contact ul li {
  width: 48%;
  border: solid 2px #28AF74;
  border-radius: 5px;
}
#contact ul li .title {
  background-color: #28AF74;
  color: #fff;
  text-align: center;
  padding: 16px 0;
  font-size: 24px;
  margin: 0;
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
  line-height: 1;
}
#contact ul li .row {
  padding: 30px;
}
#contact ul li .row p {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal;
}
#contact ul li .row .kanz {
  background-color: #EB9200;
  color: #fff;
  border-radius: 5px;
  text-align: center;
  padding: 10px 0;
  margin-bottom: 15px;
  font-weight: bold;
  font-size: 18px;
  line-height: 1;
}
#contact ul li .row .tel {
  font-size: 32px;
  color: inherit;
  font-weight: bold;
  padding-left: 45px;
  margin-bottom: 20px;
  letter-spacing: 4px;
  position: relative;
  line-height: 1;
}
#contact ul li .row .tel::before {
  content: "";
  position: absolute;
  width: 32px;
  height: 32px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../../../common/img/icon_phone_green.png);
  top: 50%;
  left: 5px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
#contact ul li .row .uke {
  font-size: 16px;
  background-color: #D4EFE3;
  border-radius: 5px;
  text-align: center;
  padding: 10px 0;
  margin-bottom: 15px;
  font-weight: bold;
  line-height: 1;
}
#contact ul li .row .jik {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
  line-height: 1;
}
#contact ul li .row .jik span {
  display: inline-block;
  background-color: #F9DFB3;
  font-size: 14px;
  padding: 8px 14px;
  margin-right: 10px;
  border-radius: 5px;
}
#contact ul li .row .jik.xp span {
  background-color: #D7FBFF;
}
#contact ul li .row p.xxp {
  font-size: 14px;
  line-height: 1;
}
#contact ul li .row p.txt {
  font-size: 18px;
  line-height: 2;
  min-height: 140px;
  margin-bottom: 20px;
}
#contact ul li .row .btn_in a {
  width: 100%;
  position: relative;
  padding-left: 90px;
}
#contact ul li .row .btn_in a::before {
  content: "";
  position: absolute;
  width: 30px;
  height: 30px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../../../common/img/icon_line.png);
  top: 50%;
  left: 80px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
#contact ul li .row .btn_in.xp a::before {
  height: 23px;
  background-image: url(../../../common/img/icon_pc.png);
}
.wpcf7 {
  padding: 40px 100px;
  background-color: #DEEEE7;
  border-radius: 20px;
}
label {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
.wpcf7 form p {
  margin-bottom: 30px;
}
label span.att {
  display: inline;
  font-size: 10px;
  color: #fff;
  background-color: #E68843;
  font-weight: normal;
  padding: 4px 10px;
  border-radius: 4px;
  margin: 0 0 0 10px;
}
.wpcf7-list-item span {
 font-size: 16px;
}
.wpcf7-spinner {
  display: none !important;
}
section#contact,
.entry-content section#white {
  background-color: #fff;
}
section#white .xp {
  margin-bottom: 30px;
}
section#white p.txt {
  line-height: 2;
  margin-bottom: 50px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal;
}
section#white article.about .txt_box {
  margin-bottom: 50px;
}
section#white article.about .txt_box p {
  margin-bottom: 24px;
}
section#white input[type="checkbox"] {
  margin:3px 15px 0 0;
}
.submitbtn {
  text-align: center;
}
.submitbtn input {
  display: inline-block;
  background-color: #999999;
  color: #fff;
  width: auto;
  width: 50%;
  min-width: 300px;
  border-radius: 30px;
  font-size: 16px;
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
}
#target-submit {
  cursor: not-allowed;
}
#target-submit.is-active {
  cursor: pointer;
  background-color: #28AF74;
}

/* privacy */
#privacy div {
  padding-left: 15px;
  padding-right: 15px;
}
#privacy p {
  font-size: 16px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal;
  line-height: 1.5;
}
#privacy ul {
  list-style: disc;
  padding-left: 20px;
}
#privacy ul li {
  font-size: 16px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal;
  line-height: 1.5;
}

/* pager */
.pagination {
  margin: 0;
}
ul.pager-combined-list {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 100px;
}
.page-numbers {
  background-color: transparent;
  border: none;
  box-shadow: none;
  color: inherit;
  height: auto;
  width: auto;
  margin: 0;
  line-height: 1;
  border-radius: 0;
}
.pager-combined-list .pager-item {
  color: var(--cocoon-text-color);
  text-decoration: none;
  display: inline-block;
  height: 46px;
  width: 46px;
  border: none;
  margin: 0 4px;
  line-height: 44px;
  text-align: center;
  border-radius: 50%;
  font-size: 16px;
  box-shadow: 1px 1px 15px 1px rgba(40, 175, 116, 0.4);
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
}
.pager-item a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 16px;
}
.pagination .current,
.pager-item.current,
.pager-item a:hover {
  text-decoration: none;
  background-color: #28AF74;
  color: #fff;
  opacity: 1;
  transition: all .5s ease;
}
.pager-item.pager-prev a,
.pager-item.pager-next a {
  position: relative;
}
.pager-item.pager-prev a::before,
.pager-item.pager-next a::before {
  content: "";
  position: absolute;
  width: 14px;
  height: 22px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../../../common/img/subtract.svg);
  top: 12px;
  left: 18px;
}
.pager-item.pager-prev a::before {
  transform: rotate(180deg);
  left: 16px;
}
.pager-item.pager-next:hover a::before,
.pager-item.pager-prev:hover a::before {
  background-image: url(../../../common/img/subtract_hover.svg);
}

/* search */
.search-nav-buttons ul {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 1230px;
  margin: 50px auto;
  padding-left: 15px;
  padding-right: 15px
}
.search-nav-buttons ul li a {
  background-color: #D4EFE3;
  display: block;
  font-size: 16px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal;
  padding: 8px 24px;
  border-radius: 5px;
  margin: 0 4px;
}
.search-nav-buttons ul li a:hover,
.search-nav-buttons ul li.current a {
  background-color: #28AF74;
  color: #fff;
  text-decoration: none;
}
.read_marker {
  text-decoration: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: #F9DFB3;
  text-underline-offset: -25%;
  text-decoration-skip-ink: none;
}
.read_marker::before {
  width: 100%;
  height: 60%;
  left: 0;
  top: 50%;
  position: absolute;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .body:not(.home) .header {
    padding-bottom: 200px;
  }
  .body.error404 .header {
    padding-bottom: 50px;
  }
  .body.wp-singular.single.single-post .header {
    padding-bottom: 0;
  }
  body:not(.home) h1.entry-title {
    font-size: 24px;
    width: 100%;
  }
  section article ul,
  section article .box {
    flex-wrap: wrap;
  }
  .content section article ul li {
    width: 49%;
    margin-bottom: 20px;
  }
  #contact ul li,
  section article.accessxp .box .left.xp,
  section article.accessxp .box .right.xp,
  section article.accessxp .box .left,
  section article.accessxp .box .right,
  #voice ul.box li.aaa,
  #voice ul.box li.bbb,
  #flow .box .left,
  #flow .box .right,
  section article ul.plan.xp li,
  .content section article ul li,
  .about .box .left,
  .about .box .right,
  section#access article .left,
  section#access article .right,
  section article .box .left,
  section article .box .right,
  #cta ul li,
  #list .my-post-card,
  #access h2 {
    width: 100%;
  }
  section#access .box .box,
  section article .box .left {
    margin-bottom: 20px;
  }
  section#access article .left {
    padding: 30px;
  }
  #flow .box {
    padding: 20px;
  }
  .article-header {
    top: 30%;
    left: 0;
    transform: none;
  }
  h1.entry-title {
    font-size: 32px;
    width: 95%;
    white-space: inherit;
  }
  h1.entry-title span {
    font-size: 16px;
    line-height: 1.5;
  }
  .body.single .entry-content.cf h1,
  #cta ul li .btn_in p.tel,
  .article h2 {
    font-size: 20px;
    padding-left: 0;
    padding-right: 0;
  }
  span.mark {
    font-size: 20px;
  }
  #flow span.mark {
    display: block;
    margin-bottom: 10px;
  }
  section#access {
    margin-top: 150px;
  }
  #access h2 {
    top: -90px;
  }
  section article ul.plan.xp table td span,
  section article ul.plan table td span {
    font-size: 22px;
  }
  label,
  section article.accessxp ul li .title, section article ul.plan li .title,
  .article h6,
  #cta ul li p.title,
  .article h4,
  .article h3 {
    font-size: 16px;
  }
  .body.single .entry-content.cf h1,
  section#access article {
    padding-left: 0;
    padding-right: 0;
  }
  #cta {
    padding: 60px 15px 80px;
  }
  article.accessxp ul li.xp table th,
  article.accessxp ul li.xp table td,
  section article ul.plan table th,
  section article ul.plan table td,
  .search-nav-buttons ul li a,
  #contact ul li .row p.txt,
  section article.accessxp ul li .box .left p,
  #voice p.txt.center, p.txt.center.voicexp,
  #flow p.txt,
  .accordion-008[open] p,
  .accordion-008 summary,
  section#white p.txt,
  section#access article .left .right p,
  section article a.btn,
  section article .box p {
    font-size: 14px;
  }
  p.caption,
  #cta ul li .btn_in p,
  section article.accessxp .box .left p.xp, section#access article .left p.xp,
  .content section article ul li p {
    font-size: 12px;
  }
  #cta ul li .btn_in p.tel span {
    font-size: 10px;
  }
  section article a.btn {
    padding-left: 30px;
    padding-right: 30px;
    min-width: auto;
  }
  .article h3::after {
    width: 20px;
    height: 20px;
    left: 6px;
    top: 13px;
  }
  .article h4::after {
    height: 16px;
  }
  .article h4 span::before {
    width: 22px;
    height: 18px;
  }
  section#access article .left .left {
    width: 35%;
  }
  section#access article .left .right {
    width: 60%;
  }
  section#access article .left .right p {
    line-height: 1.7;
  }
  .body table {
    margin-bottom: 5px;
  }
  #cta ul li {
    border-bottom: solid 2px #A19085;
    border-right: none;
    padding-left: 5px;
    padding-right: 5px;
  }
  #list .my-post-card {
    padding: 0;
    box-shadow: none;
    margin-bottom: 30px;
    position: relative;
  }
  .post-thumb a img {
    border-radius: 10px;
  }
  .entry-categories,
  .entry-tags {
    position: absolute;
    top: 0;
    left: 15px;
  }
  .wp-singular .entry-tags {
    left: 0;
  }
  .cat-link, .tag-link {
    border-radius: 10px 0 0 0;
    border-right: solid 2px #fff;
    border-bottom: solid 2px #fff;
  }
  #list {
    margin-bottom: 0;
  }
  .slider-gallery .slick-prev,
  .slider-gallery .slick-next {
    top: 40%;
    left: 10px;
    right: auto;
  }
  .slider-gallery .slick-next {
    left: auto;
    right: 10px;
  }
  section article.about .box .right {
      margin-bottom: 20px;
  }
  body:not(.home) h1.entry-title {
    margin-top: 65px;
  }
  section#white article ul.plan.xp li.xxp {
    padding-bottom: 20px;
  }
  section#white article ul.plan.xp li.xp {
    margin-bottom: 30px;
    padding-bottom: 20px;
  }
  section#white article ul.plan.xp li.xxp p:not(.title) {
    margin-top: 20px;
  }
  .box .point {
    font-size: 14px;
    padding: 24px 14px 24px 60px;
    line-height: 1.5;
  }
  .box .point::before {
    top: 20px;
    left: 15px;
  }
  .box .point::after {
    top: 40px;
    left: 28px;
  }
  .article #flow h3 {
    padding-left: 0;
    padding-right: 0;
  }
  .article #flow h3::after {
    top: 2px;
    left: -5px;
  }
  #voice ul.box img {
    display: block;
    padding-right: 0;
    width: 60%;
    margin: 0 auto;
  }
  #voice ul.box p.xp img.xp {
    width: auto;
    margin: 0;
  }
  #contact ul {
    width: 100%;
  }
  #contact ul li .row .tel {
    font-size: 30px;
  }
  .submitbtn input {
    min-width: inherit;
  }
  .wpcf7 {
    padding: 20px;
  }
  label {
    flex-wrap: nowrap;
    align-items: flex-start;
  }
  .wpcf7-list-item span {
    font-size: 14px;
    line-height: 1.5;
  }
  .search-nav-buttons ul {
    flex-wrap: wrap;
  }
  .search-nav-buttons ul li {
    margin-bottom: 10px;
  }
  .archive #list .my-post-card,
  .blog #list .my-post-card {
    padding-left: 15px;
    padding-right: 15px;
  }
  .entry-eye-catch-content {
    position: relative;
  }
  .entry-eye-catch-content img {
    border-radius: 10px;
    margin-bottom: 0;
  }
  section article ul.plan.xp li.xp table,
  section article ul.plan.xp li.xxp table {
    margin-top: 20px;
  }
  .content section article ul.shojo li {
    width: 49%;
  }
  article.accessxp ul li.xp table td {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  article.accessxp ul li.xp table th::before {
    left: -15px;
  }
  section article.accessxp ul li {
    height: auto;
  }
  .accessxp .right .point h9 {
    font-size: 16px;
  }
  .accordion-008::before {
    top: 16px;
    left: 24px;
    font-size: 20px;
  }
  .accordion-008 p::before {
    top: 14px;
    left: -25px;
    font-size: 20px;
  }
  .slider-gallery .slick-dots {
    flex-wrap: nowrap;
    bottom: -30px;
  }
  .entry-content section article {
    padding-top: 60px;
    padding-bottom: 80px;
  }
  #voice p.txt.center,
  #flow p.txt,
  section#white p.txt,
  section#white article.about .txt_box p {
    text-align: left;
  }
  .body_btn a.btn {
    padding-right: 10px;
  }
}
.search-nav-buttons ul li.nav-tag a {
  background-color: #FFDFF1;
}
.search-nav-buttons ul li.nav-tag a:hover {
  background-color: #FFA1D4;
}
.opening {
  display: block;
  font-size: 54px;
  background-color: transparent;
  text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #fff, 0 0 30px #fff, 0 0 50px #fff;
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .opening {
    font-size: 28px;
  }
}
#note {
  display: none;
}
.kids_list {
  justify-content: center;
}
.kids_list li {
  padding-left: 15px;
  padding-right: 15px;
}
p.plan_att {
  max-width: 720px;
  margin: 0 auto;
  font-family: 'Noto Sans JP', sans-serif;
  padding-top: 50px;
  line-height: 2;
  font-weight: normal;
  font-size: .9em;
}
p.plan_att span {
  display: block;
  font-size: 1.2em;
  padding-bottom: 10px;
  text-align: center;
}

.youtube {
  max-width: 900px;
  margin: 100px auto;
  padding-bottom: 50px;
}
.youtube .video-container {
	position: relative;
	padding-top: 56.25%; /* 16:9 アスペクト比 */
  width: 100%;
  max-width: 100%;
}
.video-container .video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
  margin-top: 0;
}
.video-container iframe {
	position: absolute;
	top: 0;
	left: 0;
}
ul.plan {
  margin-bottom: 50px;
}
ul.plan.kids_sei {
  justify-content: center;
}
ul.plan .mini {
  font-size: .8em;
}
@media screen and (max-width: 767px) {
  .kids_list li {
    padding-left: 0;
    padding-right: 0;
  }
  section article ul.plan table {
    padding: 0 20px;
  }
  section article ul.plan table th {
    width: 30%;
  }
  p.plan_att span {
    text-align: left;
  }
  ul.plan {
    margin-bottom: 20px;
  }
}
