/*
Theme Name: original theme
Theme URI:
Author:  anaheim technology
Description: original theme
*/
/* CSS Document */

:root {
  --color-primary: #CC0000;
  --color-secondary: #0B2A3A;
  --color-tertiary: #215570;
  --color-quaternary: #EAF3F6;
  --color-quinary: #FFF3F2;
  --font-afacad: "Afacad", sans-serif;
  --font-noto: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

/*
 アンカースクロール位置調整
*/
@media screen and (min-width: 1025px) {
  html {
    scroll-padding-top: 100px;
  }
}

/*----------------------------------------------------------
	device
--------------------------------------------------------- */
.noDisp{display:none;}
.spDisp{display:none !important;}
.pcDisp{display:block !important;}
.spDisp_flex{display:none !important;}
.pcDisp_flex{display:flex !important;}
br.sp{display:none;}
br.pc{display:block;}

@media screen and (max-width: 781px) {
.spDisp{display:block !important;}
.pcDisp{display:none !important;}
.spDisp_flex{display:flex !important;}
.pcDisp_flex{display:none !important;}
.spDispnone{display:none !important;}
br.sp{display:block;}
br.pc{display:none;}
}


/*
 footer
*/
.footer-actions a.btn{min-width: 330px; position: relative;}
/*
 sitemap
*/
ul.simple-sitemap-page{list-style: none; column-count: 2; column-gap: 2em;}
ul.simple-sitemap-page > li{
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  margin-bottom:1em;
}
ul.simple-sitemap-page li{font-weight: 700;}
ul.simple-sitemap-page li.page_item_has_children{border-bottom:0;}
ul.simple-sitemap-page li a{display: block; text-decoration: underline;}
ul.simple-sitemap-page li a:hover{text-decoration: none;}
ul.simple-sitemap-page .children{ display: flex; flex-direction: column; gap:.5em; padding-left:1em; border-left:1px solid #e9e9e9;}
ul.simple-sitemap-page .children li{font-weight: 400;}
ul.simple-sitemap-page .children li a{padding:0.2em 0; font-size:0.9em;}
/*
 news detail
*/
.section-footer.backbtn-area{margin-top:50px;}

.postEditor{}
.postEditor h2{margin-bottom:1.5em;}
.postEditor p{margin-bottom:1em;}
.postEditor p + p{margin-top:1.5em;}
.postEditor ul,
.postEditor ol{margin-bottom:1.5em;}
.postEditor p > a{text-decoration: underline;}

/* youtube */
.postEditor .wp-block-embed.is-provider-youtube {
  max-width: 960px; margin: 40px auto;
}
.postEditor .wp-block-embed.is-provider-youtube .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
}

.postEditor .wp-block-embed.is-provider-youtube iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.postEditor
.postEditor ul,
.postEditor
.postEditor ol {
  margin: 0 0 1.8em 1.5em;
  padding: 0;
}

.postEditor
.postEditor ul {
  list-style: disc;
}

.postEditor
.postEditor ol {
  list-style: decimal;
}

.postEditor
.postEditor li {
  margin-bottom: 0.5em;
  line-height: 1.8;
}

/* ネスト調整 */
.postEditor
.postEditor li ul,
.postEditor
.postEditor li ol {
  margin-top: 0.5em;
}

.postEditor  blockquote {
  margin: 2em 0;
  padding: 1.2em 1.5em;
  background: #f7f7f7;
  border-left: 4px solid #ccc;
}

.postEditor  blockquote p {
  margin: 0;
}

.postEditor  img {
  max-width: 100%;
  height: auto;
  display: block;
}

.postEditor  figure {
  margin: 2em auto;
}

.postEditor  table {
  width: 100%;
  border-collapse: collapse;
  margin: 2em 0;
  font-size: 0.95em;
}

.postEditor  th,
.postEditor  td {
  border: 1px solid #ddd;
  padding: 0.6em 0.8em;
}

.postEditor  th {
  background: #f5f5f5;
  text-align: left;
}

.postEditor  ul,
.postEditor  ol {
  margin: 0 0 1.8em 1.5em;
  padding: 0;
}

.postEditor  ul {
  list-style: disc;
}

.postEditor  ol {
  list-style: decimal;
}

.postEditor  li {
  margin-bottom: 0.5em;
  line-height: 1.8;
}



/* ネスト調整 */
.postEditor  li ul,
.postEditor  li ol {
  margin-top: 0.5em;
}
.postEditor  .wp-block-list {
  margin-bottom: 1.8em;
}

.postEditor  .wp-block-image {
  margin: 2em auto;
}

.postEditor  .wp-block-paragraph {
  margin-bottom: 1.6em;
}

.postEditor .wp-block-button{
  text-align: center;
}

/* /＿見出し */

.postEditor h2 {
  color: var(--color-secondary);
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin: 20px 0 40px;
  padding: 16px 20px;
  position: relative;
  border-bottom: 1px solid #CACACA;
}

.postEditor h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 32px;
  background-color: var(--color-primary);
}
.postEditor h2:first-child{margin-top:0;}

.postEditor h3 {
  color: var(--color-secondary);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin: 20px 0 40px;
  padding-left: 20px;
  position: relative;
  line-height: 1.5;
}

.postEditor h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10%;
  width: 4px;
  height: 40%;
  background-color: var(--color-primary);
}

.postEditor h3::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 4px;
  height: 40%;
  background-color: #7C929C;
}

/* ●見出し */
.postEditor h4 {
  color: var(--color-secondary);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin: 20px 0 50px;
  padding-left: 28px;
  position: relative;
}

.postEditor h4::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  background-color: var(--color-primary);
  border-radius: 50%;
}

/* ピンク・青 */
.postEditor h5,
.postEditor h5.blue {
  color: var(--color-secondary);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin: 20px 0 40px;
  padding: 16px 20px 16px 40px;
  position: relative;
  background-color: #FFF3F2;
}

.postEditor h5.blue {
  background-color: var(--color-quaternary);
}

.postEditor h5::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  background-color: #FFF;
  border-radius: 50%;
}

.postEditor h6 {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 1.5em 0 2em;
}


@media (max-width: 768px) {
  .postEditor h2 {
    font-size: 22px;
    padding: 6px 20px;
    margin-bottom: 20px;
  }

  .postEditor h3 {
    font-size: 20px;
    padding-left: 16px;
    margin-bottom: 20px;
  }

  .postEditor h4 {
    font-size: 16px;
    padding-left: 24px;
    margin-bottom: 20px;
  }

  .postEditor h5 {
    font-size: 16px;
    padding: 10px 20px 10px 36px;
    margin-bottom: 20px;
  }

  .postEditor h5::before {
    left: 12px;
  }

  .postEditor h6 {
    font-size: 16px;
    margin-bottom: 20px;
  }
}


/* =========================================
   WordPress Block Editor Front CSS
========================================= */

.postEditor > * {
  margin-top: 0;
  margin-bottom: 1.5em;
}

.postEditor > *:last-child {
  margin-bottom: 0;
}

/* 段落 */
.postEditor p {
  line-height: 1.8;
}

/* リスト */
.postEditor ul,
.postEditor ol {
  padding-left: 1.5em;
  margin-top: 0;
  margin-bottom: 1.5em;
}

.postEditor li {
  margin-bottom: 0.5em;
  line-height: 1.8;
}

.postEditor li > ul,
.postEditor li > ol {
  margin-top: 0.5em;
  margin-bottom: 0;
}

/* 引用 */
.postEditor blockquote,
.postEditor .wp-block-quote {
  margin: 0 0 1.5em;
  padding: 0.75em 1.25em;
  border-left: 4px solid currentColor;
}

.postEditor blockquote p,
.postEditor .wp-block-quote p {
  margin-bottom: 0.75em;
}

.postEditor blockquote cite,
.postEditor .wp-block-quote cite {
  display: block;
  font-size: 0.875em;
  opacity: 0.75;
}

/* テーブル */
.postEditor .wp-block-table {
  margin-bottom: 1.5em;
  overflow-x: auto;
}

.postEditor .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
}

.postEditor .wp-block-table th,
.postEditor .wp-block-table td {
  padding: 0.75em 1em;
  border: 1px solid #ddd;
  vertical-align: top;
}

.postEditor .wp-block-table figcaption {
  margin-top: 0.5em;
  font-size: 0.875em;
  opacity: 0.75;
}

.postEditor .wp-block-table.is-style-stripes {
	border-collapse: collapse;
}
.postEditor .wp-block-table.is-style-stripes th,
.postEditor .wp-block-table.is-style-stripes td {border:none;}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background-color: rgba(0, 0, 0, 0.05);
}

/* 画像 */
.postEditor .wp-block-image {
  margin: 0 0 1.5em;
}

.postEditor .wp-block-image img {
  display: block;
  max-width: 100%;
  height: auto;
}

.postEditor .wp-block-image figcaption {
  margin-top: 0.5em;
  font-size: 0.875em;
  /* text-align: center; */
  opacity: 0.75;
}

/* 画像配置 */
.postEditor .aligncenter {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.postEditor .alignleft {
  float: left;
  margin-right: 1.5em;
  margin-bottom: 1em;
}

.postEditor .alignright {
  float: right;
  margin-left: 1.5em;
  margin-bottom: 1em;
}
.postEditor .alignright figcaption{text-align: right;}

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

/* ギャラリー */
.postEditor .wp-block-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  margin: 0 0 1.5em;
}

.postEditor .wp-block-gallery .wp-block-image {
  margin: 0;
  flex-grow: 1;
}

.postEditor .wp-block-gallery img {
  display: block;
  width: 100%;
  height: auto;
}

/* ギャラリー：枚数別 */
.postEditor .wp-block-gallery > .wp-block-image:only-child {
  flex: 0 0 auto;
}

.postEditor .wp-block-gallery > .wp-block-image:only-child img {
  width: auto;
  max-width: 100%;
}

.postEditor .wp-block-gallery > .wp-block-image:first-child:nth-last-child(2),
.postEditor .wp-block-gallery > .wp-block-image:first-child:nth-last-child(2) ~ .wp-block-image {
  flex: 0 0 calc((100% - 1em) / 2);
}

.postEditor .wp-block-gallery > .wp-block-image:first-child:nth-last-child(3),
.postEditor .wp-block-gallery > .wp-block-image:first-child:nth-last-child(3) ~ .wp-block-image {
  flex: 0 0 calc((100% - 2em) / 3);
}

/* ファイル */
.postEditor .wp-block-file {
  margin-bottom: 1.5em;
}

.postEditor .wp-block-file .wp-block-file__button {
  display: inline-block;
  margin-left: 0.75em;
  padding: 0.5em 1em;
  border-radius: 4px;
  background: #32373c;
  color: #fff;
  text-decoration: none;
}

.postEditor .wp-block-file object{margin:0.5em 0;}
.postEditor .wp-block-file a.wp-block-button__link{background-color: var(--color-secondary); transition: .3s;}
.postEditor .wp-block-file a.wp-block-button__link:hover{background-color: #ffffff; color: var(--color-secondary); border: 1px solid transparent; border-color: var(--color-secondary); padding:0.5rem; font-size:90%; border-radius:8px; font-weight: 700; text-decoration:none;}
.postEditor .wp-block-file a.wp-block-file__button{background-color: #ffffff; color: var(--color-secondary); border: 1px solid transparent; border-color: var(--color-secondary); padding:0.5rem; font-size:90%; border-radius:8px; font-weight: 700; transition: .3s; margin-left:0.5em;}
.postEditor .wp-block-file a.wp-block-file__button:hover{background: #F3F4F5; text-decoration:none;}

/* ボタン */
.postEditor .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75em;
  margin-bottom: 1.5em;
}

.postEditor .wp-block-button__link {
  display: inline-block;
  padding: 0.75em 1.5em;
  border-radius: 9999px;
  background: #32373c;
  color: #fff;
  text-decoration: none;
}

/* ボタン配置 */
.postEditor .wp-block-buttons.is-content-justification-left { justify-content: flex-start; }
.postEditor .wp-block-buttons.is-content-justification-center { justify-content: center; }
.postEditor .wp-block-buttons.is-content-justification-right { justify-content: flex-end; }
.postEditor .wp-block-buttons.is-content-justification-space-between { justify-content: space-between; }

/* カラム */
.postEditor .wp-block-columns {
  display: flex;
  flex-wrap: nowrap;
  gap: 2em;
  margin-bottom: 1.5em;
}

.postEditor .wp-block-column {
  flex: 1;
  min-width: 0;
}

/* 区切り */
.postEditor .wp-block-separator {
  border: none;
  border-top: 1px solid currentColor;
  margin: 2em auto;
  opacity: 0.4;
}

/* スペーサー */
.postEditor .wp-block-spacer {
  clear: both;
}

/* テキスト配置 */
.postEditor .has-text-align-left { text-align: left; }
.postEditor .has-text-align-center { text-align: center; }
.postEditor .has-text-align-right { text-align: right; }

/* SP */
@media screen and (max-width: 781px) {
  ul.simple-sitemap-page {
    column-count: 1;
  }

  .postEditor .wp-block-columns {
    flex-direction: column;
    gap: 1.5em;
  }

  .postEditor .wp-block-gallery > .wp-block-image {
    flex: 0 0 100%;
  }

  .postEditor .alignleft,
  .postEditor .alignright {
    float: none;
    margin-left: 0;
    margin-right: 0;
  }
}

.postEditor ul li a,
.postEditor ol li a{text-decoration: underline;}

.postEditor .wp-block-image figure.aligncenter img{margin:auto;}
.postEditor .wp-block-image figure.alignright img{margin-right:0; margin-left:auto;}
.postEditor .wp-block-image figure.alignleft img{margin-left:0; margin-right:auto;}

.postEditor .wp-block-image .alignright{margin-right:0; margin-left:auto; float:none;}
.postEditor .wp-block-image .alignleft{margin-left:0; margin-right:auto; float:none;}
.wp-block-buttons{ margin: 2em auto;}
.wp-block-columns .wp-block-column-is-layout-flow{}
