/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Sep 03 2026 | 06:12:17 */
html, body {
 margin: 0 !important;
 padding: 0 !important;
 overflow-x: hidden !important;
}

.wp-site-blocks,
.entry-content,
main {
 padding: 0 !important;
 margin: 0 !important;
 max-width: 100% !important;
 position: relative !important;
 z-index: 1 !important;
}

.entry-title,
h1.wp-block-post-title {
 display: none !important;
}

.wp-block-cover {
 width: 100vw !important;
 height: 100vh !important;
 min-height: 100vh !important;
 max-height: 100vh !important;
 padding: 0 !important;
 aspect-ratio: auto !important;
 overflow: hidden !important;
 position: relative !important;
 margin:  0 calc(50% - 50vw) 0 calc(50% - 50vw) !important;
}

.wp-block-cover video,
.wp-block-cover img:not(.custom-logo),
.wp-block-cover__video-background {
 width: 100vw !important;
 height: 100vh !important;
 min-height: 100vh !important;
 max-height: 100vh !important;
 position: absolute !important;
 top: 0 !important;
 left: 0 !important;
 margin: 0 !important;
 vertical-align: bottom !important;
 object-fit: cover !important;
 object-position: center center !important;
}

.custom-header-row {
 position: fixed !important;
 top: 25px !important;
 right: 30px !important;
 z-index: 999999999 !important;
 left: auto !important;
 bottom: auto !important;
 transform: none !important;
}

body,
#page,
main {
 transform: none !important;
 perspective: none !important;
 will-change: auto !important;
}

.custom-header-row .title-text,
.wp-block-cover h2.wp-block-heading.title-text,
 h2.title-text {
 color: #ffffff !important;
}

.entry-content p,
.entry-content p.wp-block-paragraph {
 font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W4", "Meiryo", sans-serif !important;
 font-weight: 500 !important;
 font-size: 1.05rem !important;
 line-height: 1.8 !important;       
 letter-spacing: 0.04em;
 color: inherit;
}



/*--- C.メニュー展開時 ---*/
.wp-block-navigation__responsive-container.is-menu-open p.top-menu,
.custom-header-row.open p.top-menu,
.custom-header-row.active p.top-menu {
 display: none !important;
}

/*--- その他 ---*/
h2.wp-block-heading {
 display: block !important;               
 writing-mode: horizontal-tb !important;
 height: auto !important;                 
 padding-top: 0 !important;               
 margin-top: 2.5em !important;
 margin-bottom: 1em !important;
 color: #1e73be !important;
 font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W6", sans-serif !important;
 font-weight: 700 !important;
 font-size: 2.2rem !important;
 letter-spacing: 0.05em;
}

.wp-block-cover h2.wp-block-heading,
.video-section h2 {
 display: inline-block !important;
 writing-mode: vertical-rl !important;
 text-orientation: mixed !important;
 font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", serif !important;
 font-size: 2.8rem !important;
 line-height: 2.0 !important;
 letter-spacing: 0.15em;
 text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.5) !important;
 z-index: 10;
 padding-top: 0px !important; 
 height: 70% !important;
 position: static !important;
 align-self: start !important;
 justify-self: start !important;
 margin: 60px 0 0 auto !important;
 transform: translateX(60px);
}

.content-link {
 margin-top: 30px;
 pointer-events: auto !important;
 padding-left: 24pt !important;
 background-size: 18pt 18pt;
 background-repeat: no-repeat;
 background-position: left center;
 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006da2' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='7 14 24 14 10 5'/%3E%3C/svg%3E");
}

.content-link a {
 display: inline-flex !important;
 align-items: center;
 width: max-content !important;
 color: #006da2 !important;
 font-size: 18pt !important;
 padding-bottom: 5px;
 text-decoration: none !important;
 text-underline-offset: 5px;
 text-decoration-thickness: 2px;
}

@media (max-width: 768px) {
 h2.wp-block-heading {
 display: block !important;               
 writing-mode: horizontal-tb !important;
 height: auto !important;                 
 padding-top: 0 !important;               
 margin-top: 1.7em !important;
 margin-bottom: 1em !important;
 color: #1e73be !important;
 font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W6", sans-serif !important;
 font-weight: 700 !important;
 font-size: 1.2rem !important;
 letter-spacing: 0.05em;
}

 .wp-block-cover h2.wp-block-heading,
 .video-section h2 {
  font-size: 1.2rem !important;
  line-height: 1.6 !important;
  padding-top: 0px !important;
  height: 85% !important;
  position: static !important;
  align-self: start !important;
  justify-self: start !important;
  margin: 30px 0 0 auto !important;
  letter-spacing: 0.1em;
  transform: translateX(30px);
 }

 .entry-content p,
 .entry-content p.wp-block-paragraph {
 font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W4", "Meiryo", sans-serif !important;
 font-weight: 500 !important;
 font-size: 1.00rem !important;
 line-height: 1.8 !important;       
 letter-spacing: 0.04em;
 color: inherit;
 }

.content-link a {
 display: inline-flex !important;
 align-items: center;
 width: max-content !important;
 color: #006da2 !important;
 font-size: 12pt !important;
 padding-bottom: 5px;
 text-decoration: none !important;
 text-underline-offset: 5px;
 text-decoration-thickness: 2px;
}


}

html.is-menu-open .wp-block-navigation__responsive-container-inside,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container-inside .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container-inside h2,
.wp-block-navigation__responsive-container-inside p {
 color: inherit;
}

html.is-menu-open .wp-block-navigation__responsive-container-inside svg {
 filter: none !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container-inside .wp-block-navigation-item__content {
 color: inherit;
}

/*--- LOGO ---*/
.wp-block-cover {
 position: relative !important;
}
.wp-block-cover .wp-block-group.center-logo-group,
.center-logo-group {
 display: block !important;
 float: none !important;
 flex: none !important;
 position: absolute !important;
 top: 50% !important;
 left: 50% !important;
 z-index: 20 !important;
 width: 300px !important;
 height: 300px !important;
 min-width: 300px !important;
 min-height: 300px !important;
 max-width: 300px !important;
 max-height: 300px !important;
 overflow: visible !important;
 transform: translate(-50%, calc(-50% - 12vh)) scale(0.3) !important;
 transform-origin: center center !important;
}
@media screen and (max-width: 767px) {
 .wp-block-cover .wp-block-group.center-logo-group,
 .center-logo-group {
  transform: translate(-50%, calc(-50% - 3.5vh)) scale(0.25) !important;
 }
}
.center-logo,
.center-logo img,
img.center-logo {
 position: static !important;
 width: 100% !important;
 height: 100% !important;
 max-width: 100% !important;
 max-height: 100% !important;
 object-fit: contain !important;
 clip-path: none !important;
 overflow: visible !important;
 transform: none !important;
 transform-origin: center center !important;
}

/*-----------------------*/
.bg-dark {
 position: relative;
 isolation: isolate;
}

html.is-menu-open .wp-block-navigation__responsive-container-inside .wp-block-site-logo,
html.is-menu-open .wp-block-navigation__responsive-container-inside .custom-logo-link {
 display: block !important;
 width: 250px !important;
 max-width: 250px !important;
 height: 250px !important;
 max-height: 250px !important;
 overflow: hidden !important;
 flex: 0 0 auto !important;
 align-self: center !important;
 margin: 0 auto 25px auto !important;
 position: relative !important;
}

html.is-menu-open .wp-block-navigation__responsive-container-inside .custom-logo,
html.is-menu-open .wp-block-navigation__responsive-container-inside img[sizes],
html.is-menu-open .wp-block-navigation__responsive-container-inside img {
 position: absolute !important;
 top: 0 !important;
 left: 0 !important;
 width: 100% !important;
 max-width: 100% !important;
 height: 100% !important;
 max-height: 100% !important;
 aspect-ratio: 1 / 1 !important;
 object-fit: contain !important; 
 transform: none !important;
}

 .bg-dark,
 .bg-dark p,
 .bg-dark a,
 .bg-dark h2 {
 color: #ffffff !important;
}

 .wp-block-navigation__responsive-container.is-menu-open {
 background-color: #f0f8ff !important;
 display: flex !important;
 flex-direction: column !important;
 width: 100vw !important;
 height: 100vh !important;
 min-height: 100vh !important;
 max-height: 100vh !important;
 position: fixed !important;
 top: 0 !important;
 left: 0 !important;
 right: 0 !important;
 bottom: 0 !important;
 z-index: 9999999999999 !important;
 margin: 0 !important;
 padding: 0 !important;
}

.wp-block-navigation__responsive-container.is-menu-open h1,
.wp-block-navigation__responsive-container.is-menu-open h2,
.wp-block-navigation__responsive-container.is-menu-open h3,
.wp-block-navigation__responsive-container.is-menu-open p,
.wp-block-navigation__responsive-container.is-menu-open a,
.wp-block-navigation__responsive-container.is-menu-open span,
.wp-block-navigation__responsive-container.is-menu-open button,
.wp-block-navigation__responsive-container.is-menu-open svg {
 color: #111111 !important;
 fill: #111111 !important;
}

html.is-menu-open body .custom-header-row.is-on-dark p,
html.is-menu-open body .custom-header-row.is-on-dark a,
html.is-menu-open body .custom-header-row.is-on-dark button,
html.is-menu-open body .custom-header-row.is-on-dark p.top-menu,
html.is-menu-open body .custom-header-row.is-on-dark .wp-block-navigation__responsive-container-open,
html.is-menu-open body .custom-header-row.is-on-dark .wp-block-navigation__responsive-container-open svg {
 color: #111111 !important;
 fill: #111111 !important;
}

html.is-menu-open body .wp-block-navigation__responsive-container.is-menu-open h1,
html.is-menu-open body .wp-block-navigation__responsive-container.is-menu-open h2,
html.is-menu-open body .wp-block-navigation__responsive-container.is-menu-open h3,
html.is-menu-open body .wp-block-navigation__responsive-container.is-menu-open p,
html.is-menu-open body .wp-block-navigation__responsive-container.is-menu-open a,
html.is-menu-open body .wp-block-navigation__responsive-container.is-menu-open span,
html.is-menu-open body .wp-block-navigation__responsive-container.is-menu-open button,
html.is-menu-open body .wp-block-navigation__responsive-container.is-menu-open svg,
html.is-menu-open body .wp-block-navigation__responsive-container-inside h1,
html.is-menu-open body .wp-block-navigation__responsive-container-inside h2,
html.is-menu-open body .wp-block-navigation__responsive-container-inside h3,
html.is-menu-open body .wp-block-navigation__responsive-container-inside p,
html.is-menu-open body .wp-block-navigation__responsive-container-inside a,
html.is-menu-open body .wp-block-navigation__responsive-container-inside span,
html.is-menu-open body .wp-block-navigation__responsive-container-inside button {
 color: #111111 !important;
 fill: #111111 !important;
}

.bg-dark .wp-block-navigation__responsive-container.is-menu-open h1,
.bg-dark .wp-block-navigation__responsive-container.is-menu-open h2,
.bg-dark .wp-block-navigation__responsive-container.is-menu-open h3,
.bg-dark .wp-block-navigation__responsive-container.is-menu-open p,
.bg-dark .wp-block-navigation__responsive-container.is-menu-open a,
.bg-dark .wp-block-navigation__responsive-container.is-menu-open span,
.bg-dark .wp-block-navigation__responsive-container.is-menu-open button,
.bg-dark .wp-block-navigation__responsive-container.is-menu-open svg,
.bg-dark .wp-block-navigation__responsive-container-inside h1,
.bg-dark .wp-block-navigation__responsive-container-inside h2,
.bg-dark .wp-block-navigation__responsive-container-inside h3,
.bg-dark .wp-block-navigation__responsive-container-inside p,
.bg-dark .wp-block-navigation__responsive-container-inside a,
.bg-dark .wp-block-navigation__responsive-container-inside span,
.bg-dark .wp-block-navigation__responsive-container-inside button {
 color: #111111 !important;
 fill: #111111 !important;
}

html.is-menu-open .bg-dark .wp-block-navigation-item a,
html.is-menu-open .bg-dark .wp-block-navigation-item__content,
html.is-menu-open .bg-dark .wp-block-navigation-item__content a {
 color: #111111 !important;
}

/* ------ */
@media (min-width: 1301px) {
 body .content01-box {
  position: relative !important;
  z-index: 10 !important;
  margin-top: -250px !important; 
  width: 70% !important;
  margin-left: auto !important;
  margin-right: 4vw !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
 }
  
 body .content01-box h2,
 body .content01-box p {
  text-align: left !important;
 }

 body .content01-box .wp-block-columns {
  display: flex !important;
  align-items: flex-start !important; 
 }
  
 body .content01-box .wp-block-column:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
 }

 body .content01-box .wp-block-column:first-child .wp-block-group {
  margin-top: 200px !important; 
 }
  
 body .content01-box .wp-block-column:last-child {
  margin-top: 0 !important;
 }
  
 body .content01-box .wp-block-column:last-child figure,
 body .content01-box .wp-block-column:last-child img {
  margin-top: -100px !important; 
  position: relative !important;
  z-index: 15 !important;
 }

 html.has-modal-open body .content01-box,
 html.has-modal-open body .content01-box *,
 html.has-modal-open body .content01-box .wp-block-column:last-child figure,
 html.has-modal-open body .content01-box .wp-block-column:last-child img,
 html.is-menu-open body .content01-box,
 html.is-menu-open body .content01-box *,
 html.is-menu-open body .content01-box .wp-block-column:last-child figure,
 html.is-menu-open body .content01-box .wp-block-column:last-child img {
  transform: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: 1 !important;
 }
}

@media (max-width: 1300px) {
 body .content01-box {
  width: 100% !important;
  margin-top: 30px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 5% !important;
  padding-right: 5% !important;
 }
 body .content01-box h2,
 body .content01-box p {
  text-align: left !important;
 }
 body .content01-box .wp-block-column:first-child .wp-block-group {
  margin-top: 0 !important;
 }
 body .content01-box .wp-block-column:last-child figure,
 body .content01-box .wp-block-column:last-child img {
  margin-top: 0 !important;
 }

html.has-modal-open body .content01-box,
html.has-modal-open body .content01-box *,
html.is-menu-open body .content01-box,
html.is-menu-open body .content01-box * {
 transform: none !important;
 visibility: hidden !important;
 pointer-events: none !important;
 z-index: 1 !important;
 }
}

/*--- C.メニュー展開時 ---*/
html.has-modal-open body footer,
html.has-modal-open body footer *,
html.has-modal-open body #colophon,
html.has-modal-open body #colophon *,
html.has-modal-open body .site-footer,
html.has-modal-open body .site-footer * {
 z-index: 1 !important;
 visibility: hidden !important;
 pointer-events: none !important;
}

/*--- D. 上からのスライドインアニメーション（競合完全回避版） ---*/

.wp-block-navigation__responsive-container.is-menu-open {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background-color: #f0f8ff !important;
  z-index: 99999998 !important;
  animation: slideFromTop 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

@keyframes slideFromTop {
  0% {
    transform: translateY(-100%);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

.wp-block-navigation__responsive-container-inside {
  padding-top: 100px !important; 
  box-sizing: border-box !important;
}

.wp-block-navigation__responsive-container-close {
  position: absolute !important;
  top: 25px !important;
  right: 30px !important;
  z-index: 999999999 !important;
}

/*--- E. バーガーボタン（三本線）CSSでの完全再現化（文字拡大版） ---*/

/* 1. 元のWordPressの細いSVG（三本線）を完全に消去する */
.custom-header-row .wp-block-navigation__responsive-container-open svg,
.wp-block-navigation__responsive-container-open svg {
  display: none !important;
}

/* 2. 消したSVGの代わりに、CSSで新しく綺麗な三本線を描く（擬似要素） */
.custom-header-row .wp-block-navigation__responsive-container-open::before,
.wp-block-navigation__responsive-container-open::before {
  content: "" !important;
  display: block !important;
  width: 42px !important;    /* 目標画像に合わせた横幅 */
  height: 2px !important;    /* 線の太さ（1本の太さ） */
  background-color: currentColor !important;
  box-shadow: 0 -11px 0 0 currentColor, 0 11px 0 0 currentColor !important;
  margin-top: 11px !important;
  margin-bottom: 10px !important; /* 文字を少し近づけるために少し詰めました */
}

/* 3. 「MENU」文字のサイズ・太さを目標（下）に合わせてしっかりと拡大 */
.custom-header-row p.top-menu {
  display: block !important;
  font-family: "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif !important;
  font-size: 13.5px !important;     /* 文字サイズを大きく変更（元の11pxから調整） */
  font-weight: 600 !important;     /* 文字の太さを一段階アップしてはっきりと */
  letter-spacing: 0.05em !important; /* 目標に合わせて文字の間隔をほんの少しタイトに */
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  line-height: 1 !important;
}

/* 4. ボタン全体の箱を整える */
.custom-header-row .wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-open {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 50px !important;
  height: auto !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
}

/**********************************/

.custom-header-row.is-on-bg-dark
.wp-block-navigation__responsive-container.is-menu-open
.menu-text {
    color: #111111 !important;
}

.custom-header-row.is-on-bg-dark
.wp-block-navigation__responsive-container.is-menu-open
h1 {
    color: #111111 !important;
}

.custom-header-row.is-on-bg-dark
.wp-block-navigation__responsive-container.is-menu-open
.menu-text a {
    color: #111111 !important;
}

.bg-dark .clickable-card p {
    color: #111111 !important;
}

.bg-dark .clickable-card a {
    color: #a86e9a !important;
	text-decoration: underline !important;
}

/**********************************/

.toppage-content01-column {
  margin-top: -350px;
  margin-bottom: 50px;
  position: relative;
  z-index: 11;
  pointer-events: none; 
}

@media(max-width:767px) {
	.toppage-content01-column {
        margin-top: -50px;
	}
	
	.toppage-content01-column .wp-block-column:first-child {
        flex: 0 0 65%;
    }

    .toppage-content01-column .wp-block-column:nth-child(2) {
        flex: 0 0 35%;
    }
	
	.toppage-content01-column .wp-block-column:first-child {
        flex-basis: 65% !important;
    }

    .toppage-content01-column .wp-block-column:nth-child(2) {
        flex-basis: 35% !important;
    }
	
	.toppage-contents01-leftcolumn {
		padding-right:0 !important;
		padding-left:10px !important;
		margin-left:0;
		margin-right:0;
	}

	.youtube-contents .wp-block-image {
		width: 70%;
	}
	
	.instagram-cards {
        flex-direction: column;
		gap: 5px !important;
    }
	
	.clickable-card {
        transform: scale(0.75);
    }

}
/**********************************/

