/*
Theme Name: Periwinkle
Theme URI: 
Author: IWAMURA Miki
Author URI: 
Description: シンプルな読みやすいサイトデザイン
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 5.7
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: periwinkle
Tags: 

/*───────────────────────────────────────
│
│ イニシャライズ
│
└────────────────────────────────────────*/

/*フォント名をCSS変数に代入*/
:root {
  --wp--preset--font-family--m-plus-rounded-1c: 'M PLUS Rounded 1c';
}

/*init*/
/*html {
  overflow-x: hidden!important;
}*/
html {
  scrollbar-gutter: stable;
}
body {
  box-sizing: border-box;
  /*overflow-x: hidden!important;*/
}
main {
  overflow-x: hidden!important;
  margin-top: 0!important;
}
body *,
body *::before,
body *::after {
  box-sizing: inherit;
}
@media (min-width: 769px) { /*PC*/
  .responsive-br br {
    display: none;
  }
}

/*Home*/
body.home main {
  margin-top: 0!important;
}
body.home .top-view-img figure {
  margin: 0!important;
  padding: 0;
}
body.home .top-view-img figure img {
  width: 100%!important;
  height: auto;
}

/*a:not(
.wp-block-button a,
header a,
footer a,
.wp-block-post-terms a) {
  color: var(--wp--preset--color--dark-primary)!important;
}
a:hover:not(a:hover:has(img)) {
  opacity: 0.7;
}*/

/*画像のhover*/
a:hover img {
  opacity: 0.8;
}

/*デフォルト見出し*/
h1 {
  font-size: var(--wp--preset--font-size--large);
  line-height: 1.75;
  margin-bottom: var(--wp--preset--spacing--50)!important;
  color: var(--wp--preset--color--contrast);
}
h2 {
  font-size: var(--wp--preset--font-size--x-medium);
  color: var(--wp--preset--color--contrast);
}
h3 {
  color: var(--wp--preset--color--contrast);
}
h4 {
  color: var(--wp--preset--color--contrast);
}
@media( min-width: 768px ) {
  h1 {
    font-size: var(--wp--preset--font-size--x-large);
  }
}

/*字間調整*/
p.letter-wide,
span.letter-wide {
  letter-spacing: 0.05em;
}
p.letter-narrow,
span.letter-narrow {
  letter-spacing: -0.05em;
}

/*───────────────────────────────────────
│
│ ボタン
│
└────────────────────────────────────────*/

/*グローバル*/
.wp-block-buttons {
  display: block;
  max-width: 393px;
}
.wp-block-button {
  width: 100%;
}
.wp-element-button {
  display: block;
  width: 100%;
  padding: 17px 48px 17px 18px;
  text-align: left;
  background-image: url('assets/images/icon-key-right-neutral4.svg');
  background-repeat: no-repeat;
  background-position: right center;
}

/*コンタクトフォーム7*/
.wpcf7 .my-submit {
  display: block;
  max-width: 393px;
  margin-left: auto;
  margin-right: auto;
}
.wpcf7 label {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--contrast);
}
.wpcf7 p {
  margin-bottom: 24px;
}
.wpcf7-submit {
  font-display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 17px 48px 17px 18px;
  border: none;
  border: solid 1px var(--wp--preset--color--neutral-four);
  background-color: var(--wp--preset--color--base);
  -webkit-appearance: none;
  cursor: pointer;
  background-image: url('assets/images/icon-key-right-neutral4.svg');
  background-repeat: no-repeat;
  background-position: right center;
  font-size: var(--wp--preset--font-size--small);
  text-align: left;
  color: var(--wp--preset--color--contrast);
}
.wpcf7-submit:hover {
  background-color: var(--wp--preset--color--neutral-one);
}

/*検索ボタン*/
.my-block-search {
  max-width: 393px;
}
.my-block-search .wp-block-search__input {
  display: block;
  box-sizing: border-box;
  padding-left: 20px;
  padding-right: 20px;
  border: none;
  border-radius: 0;
}
.my-block-search .wp-element-button {
  display: block;
  box-sizing: border-box;
  background-image: none;
  padding: 18px!important;
  width: 60px;
}

/*───────────────────────────────────────
│
│ 余白
│
└────────────────────────────────────────*/
.mysection {
  margin-top: 0;
  padding-top: 48px!important;
  padding-bottom: 48px!important;
}
.mysection-page {
  margin-top: var(--wp--preset--spacing--60)!important;
}
.mysection-page-add-spacing {
  padding-bottom: 24px;
  margin-bottom: var(--wp--preset--spacing--50)!important;
}

/*───────────────────────────────────────
│
│ 見出し
│
└────────────────────────────────────────*/
/*h1 Section Heading*/
.section-head {
  width: 100%;
}
.section-head .wavy-curve svg path {
  width: 100%!important;
}
.section-head div,
.section-head .section-heading h1 {
  margin-top: 0!important;
  color: var(--wp--preset--color--dark-primary);
}
.section-head .section-heading h1 {
  line-height: 1.2!important;
  margin-bottom: 4px!important;
  font-size: var(--wp--preset--font-size--x-large);
}
.section-head .section-heading h1 span {
  font-size: var(--wp--preset--font-size--medium);
  margin-left: 4px;
}
.section-head .section-icon {
  display: flex;
  justify-content: flex-end;
}

/*デスクトップPC*/
@media( min-width: 768px ) {
  .section-head .wavy-curve svg path {
    stroke-width: 0.5;
  }
}

/*h2ロゴ付飾り罫*/
h2.is-style-decoration-line-h2 {
  /*position: relative;
  padding-left: calc( var(--wp--preset--font-size--large ) * 1.25);
  background-image: url('assets/images/logo-icon-120.png');
  background-position: 0 0.15em;
  background-repeat: no-repeat;
  background-size: var(--wp--preset--font-size--large);
  padding-bottom: 0.35em;*/
  /*border-top: solid 1px var(--wp--preset--color--neutral-four);*/
  border-bottom: solid 1px var(--wp--preset--color--neutral-four);
  padding: 24px 0 12px 0;
}
h2.is-style-decoration-line-h2::after {
  /*content: '';
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 4.5px;
  background-image: url('assets/images/hanoji-line-flat.svg');*/
}
h2.h2-top {
  padding-top: 0;
}

/*h3飾り罫*/
h3.is-style-decoration-line-h3 {
  position: relative;
  padding-bottom: 0.5em;
  border-bottom: solid 5px var(--wp--preset--color--neutral-three);
}
h3.is-style-decoration-line-h3::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  width: 15%;
  height: 5px;
  background-color: var(--wp--preset--color--neutral-five);
}

/*h4飾り罫*/
h4.is-style-decoration-line-h4 {
  position: relative;
  padding-bottom: 0.5em;
  border-bottom: solid 1px var(--wp--preset--color--neutral-four);
}
h4.is-style-decoration-line-h4::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 25%;
  height: 4px;
  background-color: var(--wp--preset--color--neutral-four);
}
h4 {
  margin-bottom: 1em!important;
}

/*───────────────────────────────────────
│
│ アーカイブ
│
└────────────────────────────────────────*/
.wp-block-archives-dropdown {
  position: relative;
}
.wp-block-archives-dropdown select {
  width: 100%;
  padding: 1em;
  appearance: none;
  border-color: var(--wp--preset--color--dark-gray);
  border-radius: 3px;
  cursor: pointer;
}
.wp-block-archives-dropdown::after {
  position: absolute;
  top: 1em;
  right: 0.5em;
  width: 10px;
  height: 7px;
  background-color: var(--wp--preset--color--dark-secondary);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: '';
  pointer-events: none;
}
.wp-block-search {
  margin-top: 1em!important;
}
.wp-block-search input {
  border-radius: 3px;
}

/*FontAwesomeアイコン*/
.downloadicon i:hover {
  opacity: 0.8;
}

/*カテゴリー一覧：リストマークなし*/
.wp-block-categories.is-style-no-listmark {
  list-style: none;
  padding-left: 0;
}

/*タグ*/
.wp-block-tag-cloud a,
.taxonomy-post_tag a {
  padding: 0 0.5em;
  border: none;
  background-color: var(--wp--preset--color--base);
  font-size: var(--wp--preset--font-size--small)!important;
}
.wp-block-tag-cloud a:hover,
.taxonomy-post_tag a:hover {
  background-color: var(--wp--preset--color--tertiary);
  text-decoration: none;
}
.wp-block-tag-cloud a::before,
.taxonomy-post_tag a::before {
  content: '#';
}
.taxonomy-post_tag a {
  padding: 0.5em 0.75em;
  border-radius: 0;
}

/*───────────────────────────────────────
│
│ フッター
│
└────────────────────────────────────────*/
.footer-bottom p {
  margin: 0;
}
.footer-contact {
  margin-bottom: var(--wp--preset--spacing--30);
}
.footer-contact a:hover {
  opacity: 0.7;
}

/*───────────────────────────────────────
│
│ トップへ戻るボタン
│
└────────────────────────────────────────*/
.footer-bottom {
  position: relative;
  margin-top: 64px;
}
#scroll-to-top.TopBtnFix {
  position: fixed;
}
#scroll-to-top.TopBtnStc {
  position: fixed;
  /*position: absolute;
  top: -128x;
  right: var(--wp--preset--spacing--50);*/
}
#scroll-to-top {
  right: var(--wp--preset--spacing--50);
  bottom: var(--wp--preset--spacing--50);
}
#scroll-to-top a {
  display: flex;
  width: 44px;
  height: 44px;
  background-color: var(--wp--preset--color--accent-one);
  color: var(--wp--preset--color--base);
  justify-content: center;
  align-items: center;
}
#scroll-to-top a:hover {
  text-decoration: none;
}

/*───────────────────────────────────────
│
│ ヘッダー
│
└────────────────────────────────────────*/
/*記事ヘッダー*/
.is-style-pentosquare-icon::before {
  font-family: "Font Awesome 6 Free";
	font-weight: 900;
  content: '\f044';
  padding-right: 0.5em;
}

/*旧コード含む*/
.wp-site-blocks {
  padding-top: 0;
}
header {
  position: sticky!important;
  top: 0;
  box-sizing: border-box;
  /*padding-top: var(--wp--style--root--padding-top);*/
  /*padding-top: var(--wp--preset--spacing--30);*/
  /*background-color: rgba(252, 245, 233, 0.85);*/
  /*box-shadow: 0 2px 8px 0 rgba(0, 0, 0, .15);*/
  z-index: 1;
  background-color: rgba(255, 255, 255, 0.8);
  
  padding-top: 6px;
  padding-bottom: 6px;
  /*height: 60px!important;*/
  box-sizing: border-box;
}

header .header-nav-wrap {
  align-items: flex-end;
}
header .is-layout-flex {
  align-items: center!important;
}

/*imgとaをブロック要素に*/
header img,
header a.site-logo {
  display: block;
}

/*ヘッダーポジション*/
header {
  position: relative;
}

/*header .has-global-padding {
  padding-bottom: 0!important;
}*/

/* 中の要素だけを表示し、p自体は消す */
/*p:has(> a.site-logo) {
  display: contents;
}*/

@media( min-width: 768px ) {
  /*ロゴ大きくする*/
  header .site-logo img {
    width: 128px;    
  }
}

/*───────────────────────────────────────
│
│ グローバルメニュー
│
└────────────────────────────────────────*/

header .global-menu {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  font-weight: bold;
}
header ul.global-menu {
  list-style: none;
  padding: 0;
  margin: 48px 0 0 0;
  color: var(--wp--preset--color--dark-primary);
}
header ul.global-menu li {
  /*border-top: solid 1px var(--wp--preset--color--neutral-three);*/
}
header ul.global-menu li:last-child {
  /*border-bottom: solid 1px var(--wp--preset--color--neutral-three);*/
}
header ul.global-menu li a {
  padding: 12px 8px;
  color: var(--wp--preset--color--dark-primary);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header ul.global-menu li a i {
  font-size: 18px;
}
header ul.global-menu li a:hover {
  background-color: var(--wp--preset--color--neutral-one);
  text-decoration: none;
}

/*閉じた状態でモーダルウィンドウ準備*/
header .overlay {
  width: 0;
  height: 0;
  position: absolute;
  left: 100;
  opacity: 0;
  overflow: hidden;
  transition: opacity .3s ease;
}
header .drawer {
  position: absolute;
  height: 100vh;
  transform: translateX(100%);
  transition: transform .3s ease;
  padding: 6px 22px 0 22px;
}

/*───────────────────────────────────────
│
│ モーダルメニュー
│
└────────────────────────────────────────*/

/*背景のページを固定する*/
html.open,
.open body {
  /*height: 100%;
  overflow: hidden;*/
}

/*開いた状態*/

.open header .overlay {
  position: absolute;
  top: 0;
  left: 0;
  margin-top: -6px;
  width: 100%;
  height: 100vh;
  opacity: 1;
  background-color: rgba( 128, 128, 255, 0.8 );
}
.open header .drawer {
  position: absolute;
  width: 80%;
  right: 0;
  top: 0;
  background-color: white;
  transform: translateX(0);
}

/*ボタン*/
header nav.global-nav .burger-menu {
  display: flex;
  align-items: center;
}
header .burger {
  background: none;
  border: none;
  cursor: pointer;
}
header .close {
  background: none;
  border: none;
  cursor: pointer;
}
header .burger-menu figure {
  margin: 0;
}
header .close {
  display: flex;
  justify-content: flex-end;
}

/*デスクトップPC*/
@media( min-width: 928px ) {
  
  /* ハンバーガー消す */
  header .burger {
    display:none!important;
  }

  /* モーダルウィンドウ元に戻す */
  header .overlay {
    position: static;
    width: 100%;
    height: auto;
    opacity: 1;
  }

  /* メニュー項目を表示 */
  header .drawer {
    position: static;    
    height: 100%;
    padding:0;
    background-color: transparent;
    transform: translateX(0)
  }

  /* 閉じるボタンも消す */
  header .close {
    display:none!important;
  }
  
  /* 矢印消す */
  header .drawer .global-menu li a img {
    display: none;
  }
  
  /* メニュー表示調整 */
  header ul.global-menu li a {
    padding: 0;
  }
  header ul.global-menu {
    display: flex;
    gap: 20px;
    margin-top: 16px;
    align-items: center;
  }
  
  /*グローバルメニューのホバースタイル解除*/
  header ul.global-menu li a:hover {
    background-color: transparent;
  }
  
}

/*───────────────────────────────────────
│
│ バナー
│
└────────────────────────────────────────*/

.banner-items,
.banner-items div,
.banner-items figure {
  margin-top: 0;
  margin-bottom: 0;
  box-sizing: border-box;
}
.banner-items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
.banner-items .banner-item-solo,
.banner-items .duet-item,
.banner-items .quartet-item {
  line-height: 0;
  border: solid 1px var(--wp--preset--color--neutral-three);
}
.banner-items .banner-item-duet {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 10px;
}
.banner-items .banner-item-quartet {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
/*デスクトップPC*/
@media( min-width: 768px ) {
  .banner-items {
    grid-template-columns: 1fr 1fr;
  }
}

/*───────────────────────────────────────
│
│ その他
│
└────────────────────────────────────────*/
/*記事フッター*/
.wp-block-post-navigation-link.is-style-reverse {
  display: flex;
  flex-direction: row-reverse;
  gap: 0.3em;
}

/*ホバーで画像拡大*/
.wp-block-post-featured-image,
.wp-block-latest-posts__featured-image {
  overflow: hidden;
}
.wp-block-post-featured-image img,
.wp-block-latest-posts__featured-image img {
  transition: 0.25s all;
}
.wp-block-post-featured-image a:hover img,
.wp-block-latest-posts__featured-image a:hover img {
  /*transform: scale( 1.15, 1.15 ); */ 
}

/*検索結果*/
body:not(.search-no-results).archive .wp-block-query-no-results {
  display: none;
}

/*タグ検索結果*/
.archive.tag h1::before {
  content: '#';
}

/*括弧付ブロック*/
.is-style-with-bracket {
  position: relative;
  padding: var(--wp--preset--spacing--50);
}
.is-style-with-bracket::before,
.is-style-with-bracket::after {
  position: absolute;
  top: 0;
  content: '';
  width: 77px;
  height: 100%;
  border-top: 2px solid var(--wp--preset--color--dark-primary);
  border-bottom: 2px solid var(--wp--preset--color--dark-primary);
}
.is-style-with-bracket::before {
  border-left: 2px solid var(--wp--preset--color--dark-primary);
  left: 0;
}
.is-style-with-bracket::after {
  border-right: 2px solid var(--wp--preset--color--dark-primary);
  right: 0;
}

/*レスポンシブ：縦並びgapなし*/
@media( max-width: 768px ) { /*モバイル*/
  .is-style-responsive-nogap {
    gap: 0!important;
  }
  .responsive-aligncenter {
    text-align: center;
  }
}
/*@media (min-width: 769px) {
  .is-style-responsive-nogap {
    gap: 1.8em!important;
  }
}*/

/*slickの調整*/
.myslick {
  opacity: 0;
  transition: opacity .3s linear;
}
.myslick.slick-initialized {
  opacity: 1;
}

/*個別投稿*/
.mypost-header {
    margin-block-start: 0.3em!important;
}

/*囲み記事*/
.is-style-kakomi-kiji {
  position: relative;
  background-color: var(--wp--preset--color--base);
  padding: var(--wp--preset--spacing--50);
  border: 1px solid var(--wp--preset--color--dark-primary);
  border-radius: 1em;
  background-image: url("assets/images/kakomi-background.png");
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: bottom;
}
.is-style-kakomi-kiji h3 {
  position: absolute;
  top: -1em;
  background-color: var(--wp--preset--color--dark-primary);
  color: var(--wp--preset--color--base);
  padding: 0.25em 0.5em;
  display: inline-block;
  border-radius: 1em;
}
.is-style-kakomi-kiji img {
  border: solid 1px var(--wp--preset--color--gray);
}
/*.is-style-kakomi-kiji .wp-block-query ul {
  max-width: 300px;
}*/
/*PC（WPシステム）*/
/*@media (min-width: 600px) {
  .is-style-kakomi-kiji .wp-block-query.lonely-topics ul {
    display: block;
    width: 33%;
  }
}*/

/*クエリーループ調整*/
/*.is-style-kakomi-kiji .wp-block-query .wp-block-post-title {
  font-style: normal;
  font-weight: normal;
  font-size: var(--wp--preset--font-size--medium);
}
*/
/*最近公開されたビデオ*/
/*ul.mylatestposts--video li {
}*/
/*モバイル（WPシステム）*/
/*@media( max-width: 599px ) {
  ul.mylatestposts--video {
    justify-content: center!important;
  }
  ul.mylatestposts--video li {
    margin-right: 0!important;
  }
}
.mylatestposts--video .wp-block-latest-posts__featured-image a {
  width: 100%;
}
.mylatestposts--video .wp-block-latest-posts__featured-image img {
  width: 100%;
  height: 150px;  
  object-fit: cover;
  vertical-align:top;
}
.mylatestposts--video .wp-block-latest-posts__featured-image+a {
  display: block!important;
  line-height: 1.25!important;
  margin-top: 0.5em;
}*/

/*クエリーループリスト表示*/
.myblockquery-list figure {
  min-width: 115px!important;
}
@media( max-width: 599px ) {
  .myblockquery-list .is-layout-flex {
    align-items: flex-start;
  }
  .myblockquery-list figure a {
    padding-top: 0.25em;
  }
}
@media( max-width: 359px ) { /*モバイル（画面小さめ）*/
  .myblockquery-list .is-layout-flex {
    display: block;
  }
  .myblockquery-list figure {
    margin-left: auto;
    margin-right: auto;
  }
  .myblockquery-list figure + div {
    margin-top: var(--wp--preset--spacing--50);
  }
}

/*グループ：斜めオビ*/
.is-style-oblique-obi {
  clip-path: polygon(0 75px, 100% 0, 100% calc(100% - 75px), 0 100%);
  padding-top: 125px;
  padding-bottom: 100px;
}

/*───────────────────────────────────────
│
│ お問い合わせ
│
└────────────────────────────────────────*/
.wpcf7-text,
.wpcf7-textarea {
  box-sizing: border-box;
  width: 100%;
  padding: 10px;
  border: solid 1px #AAAAAA;
  font-size: 1em;
}
/*.wpcf7-submit {
  box-sizing: border-box;
  width: 250px;
  padding: 10px;
  border: none;
  background-color: #8c8c8c;
  color: white;
  -webkit-appearance: none;
  cursor: pointer;
}*/
@media( max-width: 781px ) {
  .wpcf7-submit {
    width: 100%;
  }
}

/*───────────────────────────────────────
│
│ グローバルメニューアニメーション
│
└────────────────────────────────────────*/
/*ヘッダーナビアニメーション for Theme Periwinkle*/
html:not(.open) header .global-menu a {
  position: relative;
}
html:not(.open) header .global-menu a:hover {
  text-decoration: none;
}
html:not(.open) header .global-menu a::after {
  position: absolute;
  bottom: -6px;
  left: 0;
  content: '';
  width: 100%;
  height: 3px;
  background-color: var(--wp--preset--color--primary);
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.3s;
}
html:not(.open) header .global-menu a:hover::after {
  transform: scale(1, 1);
}

/*───────────────────────────────────────
│
│ 企業ロゴ
│
└────────────────────────────────────────*/
@media( min-width: 780px ) {
  .corp-logo-m {
    width: 47%;
    height: auto;
  }
}
@media( max-width: 600px ) { /*中サイズ*/
  .corp-logo-m {
    width: 80%;
    height: auto;
  }
  .corp-logo-s {
    width: 65%;
    height: auto;
  }
}

/*───────────────────────────────────────
│
│ 追加スタイリング
│
└────────────────────────────────────────*/
/*クエリーループ調整*/
p.wp-block-post-excerpt__more-text {
  margin-top: 0.25em;
}

.mypage-index {
  padding: 2em;
}
.mypage-index ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mypage-index li {
  border-bottom: dotted 1px var(--wp--preset--color--dark-primary);
}
.mypage-index li:not(:last-child) {
  margin-bottom: 1em;
}
.mypage-index a:hover {
  text-decoration: none;
}
.mypage-index + figure {
  margin-top: 0;
}
.mypage-minialert {
  display: inline-block;
  font-size: 10px;
  font-weight: bold;
  color: yellow;
  background-color: red;
  padding: 4px 4px 2px 4px;
  vertical-align:30%;
  border-radius: 4px;
}
/*.has-global-padding {
  padding: 0;
}
*/
/*@media (min-width: 600px) {*/ /* デフォルトのブレークポイント無効化. */
  /* メニューを非表示. */
/*  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none;
  }*/
  /* Openボタン（ハンバーガーボタン）を表示. */
/*  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex;
  }
}*/
/*PC*/
/*@media (min-width: 990px) {*/
  /* メニューを表示. */
/*  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    background-color: inherit;
    display: block;
    position: relative;
    width: 100%;
    z-index: auto;
  }*/
  /* Openボタン（ハンバーガーボタン）を非表示. */
/*  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: none;
  }
}*/

/*───────────────────────────────────────
│
│ ヒーローイメージ
│
└────────────────────────────────────────*/

/*背景*/
.hero-image {
  margin-top: 64px!important;
  height: clamp( 125px, 7.8125rem + ( ( 1vw - 3.2px ) * 18.4615 ), 221px );
  background-image: url('assets/images/oval-line-white.svg');
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: left top;
  position: relative;
}
.hero-image-wrap {
  position: absolute;
  top: -48px;
  left: 50%;
  transform: translate(-50%);
}
.hero-image-container {
  display: flex;
  align-items: center;
}
.hero-image .item1 img {
  width: clamp( 52px, 3.25rem + ( ( 1vw - 3.2px ) * 4.8077 ), 77px );
  height: auto;
}
.hero-image .item2 img {
  width: clamp( 140px, 8.75rem + ( ( 1vw - 3.2px ) * 13.6538 ), 211px );
  height: auto;
}
.hero-image .item3 img {
  width: clamp( 161px, 10.0625rem + ( ( 1vw - 3.2px ) * 14.2308 ), 235px );
  height: auto;
}
.hero-image .item4 img {
  width: clamp( 63px, 3.9375rem + ( ( 1vw - 3.2px ) * 5.9615 ), 94px );
  height: auto;
}
.hero-image .item1,
.hero-image .item4 {
  display: none;
}
@media( min-width: 768px ) {
  .hero-image {
    /*height: 256px;*/
  }
  .hero-image .item1 {
    display: block;
    margin-right: 64px;
  }
  .hero-image .item4 {
    display: block;
    margin-left: 32px;
  }
  .hero-image .item2 img {
    /*width: 244px;
    height: auto;*/
  }
  .hero-image .item3 img {
    /*width: 280px;
    height: auto;*/
  }
}

/*───────────────────────────────────────
│
│ リード文
│
└────────────────────────────────────────*/
/*.lead-copy p {
  font-size: 16px;
  margin-top: 16px;
}
@media( min-width: 768px ) {
  .lead-copy p {
    font-size: 20px;
  }
}*/
.lead-copy p {
  font-size: clamp( 16px, 1rem + ( ( 1vw - 3.93px ) * 0.8949 ), 20px );
  font-weight: normal;
}

/*───────────────────────────────────────
│
│ リスト型一覧
│
└────────────────────────────────────────*/
/*リスト型*/
.roller-items {
  list-style: none;
  margin: 0;
  padding: 0;
}
.roller-item {  
  border-top: solid 1px var(--wp--preset--color--neutral-three);
}
.roller-item:last-child {
  border-bottom: solid 1px var(--wp--preset--color--neutral-three);
}
.roller-item a {
  display: block;
  padding: 24px 0;
  background-image: url('assets/images/icon-key-right-neutral4.svg');
  background-repeat: no-repeat;
  background-position: right center;
}
.roller-item a:hover {
  background-color: var(--wp--preset--color--neutral-one);
}
.roller-text {
  font-size: var(--wp--preset--font-size--small);
  padding-left: 8px;
  padding-right: 48px;
}
.roller-text time {
  color: var(--wp--preset--color--neutral-six);
}
.roller-items h4 {
  margin: 0!important;
  color: var(--wp--preset--color--contrast);
}

/*───────────────────────────────────────
│
│ カード型一覧
│
└────────────────────────────────────────*/
.card-items .card-text {
  padding: 12px 10px 24px 10px;
}
.card-items a {
  display: block;
}
.card-items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  grid-column-gap: clamp( 16px, 1rem + ( ( 1vw - 3.93px ) * 1.7897 ), 24px );
  grid-row-gap: clamp( 24px, 1.5rem + ( ( 1vw - 3.93px ) * 1.7897 ), 32px );
}
.card-items li {
  width: 100%;
  border: 1px solid var(--wp--preset--color--neutral-three);
}
.card-items figure {
  margin: 0;
  padding: 0;
  line-height: 0;
  height: auto;
}
.card-items img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
.card-items h4 {
  margin: 0!important;
  font-size: 14px;
}
.card-items time {
  font-size: 14px;
  color: var(--wp--preset--color--neutral-six);
  line-height: 0;
}
.card-items a:hover {
  opacity: 0.7;
}
.card-items a {
  text-decoration: none;
}
/* 中の要素だけを表示し、p自体は消す */
/*p:has(> a.site-logo) {
  display: contents;
}*/
.card-items.card-items-template .card-item a p,
.card-items.card-items-template .card-item p {
  display: contents;
}
.card-items.card-items-template .card-text .time-area {
  line-height: 0;
  margin-bottom: 14px;
}
.card-items.card-items-template .card-text .time-area time {
  line-height: 0;
}
.card-items.card-items-template .card-text h4 {
  /*line-height: 1.5;*/
}

@media ( min-width:580px ) {
  .card-items {
    grid-template-columns: repeat( 3, 1fr);
  }
}
@media ( min-width:840px ) {
  .card-items {
    grid-template-columns: repeat( 4, 1fr );
    justify-content: center;
  }
  /*body.home .card-items.card-items-top-page .card-item:last-child {
    grid-column-start: 3;
  }
  body.home .card-items.card-items-top-page .card-item:nth-last-child(2) {
    grid-column-start: 2;
  }*/
}

/*───────────────────────────────────────
│
│ ページネーション
│
└────────────────────────────────────────*/
.pagination {
  padding: 24px 0;
}
.pagination ul.page-numbers {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
}
.pagination ul.page-numbers li a,
.pagination ul.page-numbers li span {
  padding: 12px;
}
.pagination ul.page-numbers .current {
  color: var(--wp--preset--color--neutral-four);
}
@media( min-width: 768px ) {
/*  .pagination {
    font-size: var(--wp--preset--font-size--x-medium);
  }*/
}

/*───────────────────────────────────────
│
│ 固定ページ
│
└────────────────────────────────────────*/
/*Members*/
.members {
  display: grid;
  grid-template-columns: 1fr;
  justify-content: center;
}
.member {
  margin: 0 0 96px 0;
  width: 100%;
}
.member-photo {
  max-width: 300px;
}
.member-photo .member-image {
  width: 100%;
  height: auto;
}
.member-caption {
  margin-top: 20px;
  font-weight: bold;
  
}
.member-position,
.member-name span {
  font-size: var(--wp--preset--font-size--small);
}
.member-caption p {
  margin-top: 14px;
}
.member-message {
  margin-top: 24px;
  max-width: 300px;
  width: 100%;
}
.member-message p {
  margin: 20px;  
}
.member-career {
  list-style: none;
  margin: 29px 0 0 0;
  padding: 0 0 0 1.5em;
  font-size: var(--wp--preset--font-size--small);
  border-left: solid 1px;
}
.member-career li {
  margin-bottom: 10px;
  line-height: 1.25;
}
@media( min-width: 768px ) {
  .member {
    display: grid;
    grid-template-columns: 300px auto;
    column-gap: 53px;
  }
  .member-message {
    margin-top: 0;
    max-width: 100%;
  }
  /*.member:nth-child(odd) {
    justify-self: start;
  }
  .member:nth-child(even) {
    justify-self: end;
  }
  .member:nth-child(even) .member-photo {
    order: 2;
  }
  .member:nth-child(even) .member-message {
    order: 1;
  }*/
}

/*───────────────────────────────────────
│
│ フッター
│
└────────────────────────────────────────*/

/*背景*/
.footer-image {
  margin-top: 48px!important;
  height: clamp( 30px, 1.875rem + ( ( 1vw - 3.2px ) * 7.4627 ), 230px );
  background-image: url('assets/images/oval-line-white.svg');
  background-size: 101% auto;
  background-repeat: no-repeat;
  background-position: left top -1px;
}
.footer-bottom {
  padding-bottom: 68px!important;
}

/*コピーライト*/
.footer-copyright {
  text-align: center;
  color: var(--wp--preset--color--base);
}

/*ロゴ*/
.logo-wide-white img {
  display: block;
  width: 128px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}
.logo-wide-white {
  margin-top: var(--wp--preset--spacing--50);
  margin-bottom: var(--wp--preset--spacing--50);
}

/*───────────────────────────────────────
│
│ アドバイザー
│
└────────────────────────────────────────*/
.advisors-name-group {
  margin-top: var(--wp--preset--spacing--40);
}
.advisors {
  display: grid;
  grid-template-columns: 1fr;
  grid-column-gap: 36px;
  grid-row-gap: 48px;
}
.advisor {
  text-align: center;
  display: grid;
  grid-template-columns: 100px auto;
  grid-column-gap: 12px;
}
.advisor-image {
  width: 100px;
}
.advisor-image img {
  display: block;
  width: 100%;
  height: auto;
}
.advisor-caption {
  text-align: left;
}
.advisor-position {
  font-size: 12px;
  margin-bottom: 0;
}
.advisor-name {
  font-size: 16px;
  margin-top: 0;
  font-weight: bold;
}
.advisors-head {
  margin-bottom: 48px;
}
.medical-advisors .wp-element-button {
  background-image: url('assets/images/icon-medical-advisors.svg');
  background-size: 32px auto;
  background-position: right 8px center;
}
.life-advisors .wp-element-button {
  background-image: url('assets/images/icon-life-advisors.svg');
  background-size: 32px auto;
  background-position: right 8px center;
}
.advisors-name-group.is-layout-constrained .wp-block-buttons {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 200px;
  margin-left: auto!important;
  margin-right: 0!important;
}
.ribbon-image {
  max-width: 320px;
  margin-left: auto;
  margin-right: auto;
}
@media( min-width: 768px ) {
  .advisors {
    grid-template-columns: 1fr 1fr;
  }
}
/*インデックス*/
.kana-button-wrap {
  max-width: 393px;
  margin-left: auto;
  margin-right: auto;
}
ul.kana-buttons {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-row-gap: 24px;
}
li.kana-button {
  width: 48px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 1fr;
  justify-content: space-between;
  align-content: center; 
}
li.kana-button a {
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 8px;
  padding-bottom: 8px;
  background-color: var(--wp--preset--color--dark-primary);
  color: var(--wp--preset--color--base);
  text-align: center;
}

/*───────────────────────────────────────
│
│ 投稿記事フッターナビ
│
└────────────────────────────────────────*/
.post-navigation-link-previous a,
.post-navigation-link-next a {
  display: block;
  padding-top: 17px;
  padding-bottom: 17px;
}
.post-navigation-link-next a {
  background-image: url('assets/images/icon-key-right.svg');
  background-size: 80%;
  background-repeat: no-repeat;
  background-position: right -16px center;
  padding-right: 36px;
}
.post-navigation-link-previous a {
  background-image: url('assets/images/icon-key-left.svg');
  background-size: 80%;
  background-repeat: no-repeat;
  background-position: left -16px center;
  padding-left: 36px;
}
.post-navigation-link-next a:hover {
  opacity: 0.75;
}

/*───────────────────────────────────────
│
│ メッセージボード
│
└────────────────────────────────────────*/
.message-board {
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
}
.message-wrap {
  display: block;
  max-width: clamp( 200px, 12.5rem + ( ( 1vw - 3.2px ) * 37.1154 ), 393px );
  padding: 24px;
  background-color: var(--wp--preset--color--base);
  border: solid 1px var(--wp--preset--color--neutral-four);
  position: relative;
  transform: rotate(-5deg);
  box-shadow: 6px 11px 23px -15px #777777;
}
.message-board img {
  display: block;
  width: 100%;
  height: auto;  
}
.icon-clip {
  position: absolute;
  width: 48px;
  top: -24px;
  left: 50%;
  transform: translate( -50% );
}
.icon-clip img {
  display: block;
  width: 100%;
  height: auto;
}

/*───────────────────────────────────────
│
│ 検索結果
│
└────────────────────────────────────────*/
.my-search-template ul {
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 16px;
  grid-row-gap: 24px;
}
.my-search-template li {
  border: solid 1px var(--wp--preset--color--neutral-four);
}
.my-search-template li h4 a:hover {
  opacity: 0.7;
}
@media ( max-width:600px ) {
  .my-search-template ul {
    display: grid!important;
    grid-template-columns: repeat( 2, 1fr)!important;
    grid-column-gap: 16px;
    grid-row-gap: 24px;
  }
}
@media ( min-width:580px ) {
  .my-search-template ul {
    grid-template-columns: repeat( 3, 1fr);
  }
}
@media ( min-width:840px ) {
  .my-search-template ul {
    grid-template-columns: repeat( 4, 1fr );
    justify-content: center;
  }
}

/*───────────────────────────────────────
│
│ テーブル
│
└────────────────────────────────────────*/
.wp-block-table figure {
  overflow-x: scroll;
}
.wp-block-table table {
  width: 100%;
  white-space: nowrap;
}
@media( min-width: 768px ) {
  .wp-block-table table {
  width: 100%;
  white-space: normal;
}
}