@charset "utf-8";

/*--------- ↓ここは消さない(block parts インサーター iframe用) ---------*/
.wp-block .hogehoge{
  color:#333;
}
/*--------- ↑ここは消さない ---------*/

/* ********************************************
common
******************************************** */

body{
  font-family: "Hiragino Kaku Gothic Pro","Yu Gothic Medium","游ゴシック Medium",YuGothic,"游ゴシック体","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
}
/* heading */
h1, h2, h3, h4, h5, h6{
  font-weight:bold;
}

/* border-radius */
.block-bdr-radius{
  border-radius:10px;
}

/* box-shadow */
.block-box-shadow{
  box-shadow: 3px 3px 8px -5px var(--black);
}


/* ********************************************
タイトル
******************************************** */

/*タイトル01(block-ttl-01)*/
.block-ttl-01{
  position: relative;
  font-size: var(--fs-ttl-m);
  padding: .8em 0;
  text-align:center;
  margin-bottom: 1em;
  font-weight:bold;
  border-top:3px solid var(--cl-main);
  border-bottom:3px solid var(--cl-main);
  line-height: 1.8;
}

/*タイトル02(block-ttl-02)*/
.block-ttl-02{
  position: relative;
  font-size: var(--fs-ttl-ms);
  padding: .8em 0;
  text-align:center;
  margin-bottom: 1em;
  font-weight:bold;
  line-height: 1.8;
}
.block-ttl-02:before{
  content: "";
  background-image: linear-gradient(to right, var(--cl-main), var(--cl-main) 13px, transparent 5px, transparent 5px),
  linear-gradient(to right, var(--cl-main), var(--cl-main) 13px, transparent 5px, transparent 5px),
  linear-gradient(to bottom, var(--cl-main), var(--cl-main) 13px, transparent 5px, transparent 5px),
  linear-gradient(to bottom, var(--cl-main), var(--cl-main) 13px, transparent 5px, transparent 5px);
  background-size: 20px 3px, 20px 3px, 0 0, 0 0;
  background-position: left top, left bottom, left top, right top;
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  pointer-events: none;
}

/*タイトル03(block-ttl-03)*/
.block-ttl-03{
  position: relative;
  font-size: var(--fs-ttl-ms);
  padding-left: .8em;
  margin-bottom: 1em;
  font-weight:bold;
  line-height: 1.7;
}
.block-ttl-03:before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 5px;
  height: 26px;
  content: '';
  background: var(--cl-main);
}

/*タイトル04(block-ttl-04)*/
.block-ttl-04{
  position: relative;
  font-size: var(--fs-ttl-m);
  padding: 0 0 .5em;
  margin-bottom: 1.5em;
}
.block-ttl-04::before{
  position: absolute;
  content: '';
  display: block;
  background: var(--cl-base);
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 2px;
  border-radius: 8px;
}
.block-ttl-04::after{
  position: absolute;
  content: '';
  display: block;
  background: var(--cl-main);
  left: 0;
  bottom: -4px;
  width: 25%;
  height: 2px;
  border-radius: 8px 0 0 8px;
}

/*タイトル05(block-ttl-05)*/
.block-ttl-05 {
  position: relative;
  padding: 0 0 0 40px;
  font-size:var(--fs-ttl-s);
  margin-bottom: 1em;
}
.block-ttl-05:before{
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 30px;
  height: 3px;
  background-color: var(--cl-main);
}
.block-ttl-05:before {
  left:0;
}



/* ********************************************
ふきだし
******************************************** */

/* ふきだし */
.block-balloon-01{
  position: relative;
  font-size: var(--fs-ttl-s);
  padding: .8em 1em;
  color: var(--white);
  background: var(--cl-main);
  margin-bottom: 1.5em;
  line-height: 1.7;
}
.block-balloon-01::after{
  position: absolute;
  bottom: -12px;
  left: 0;
  right: 0;
  margin-left:auto;
  margin-right:auto;
  width: 0;
  height: 0;
  content: '';
  border-width: 13px 13px 0 13px;
  border-style: solid;
  border-color: var(--cl-main) transparent transparent transparent;
}



/* ********************************************
ボタン
******************************************** */
.wp-block.btn > div,
.wp-block.btn a{
  padding: 0;
}
/*ボタン（青白）共通*/
.block-btn-01 a,
.block-btn-01 > div,
.block-btn-02 a,
.block-btn-02 > div{
  padding: 0.76em 1.3em 0.76em 3em;
  border: 1px solid var(--cl-main);
  border-radius: 4px;
  box-shadow: none;
  font-size: var(--fs-lead);
  display: inline-block;
  text-align: left;
  position: relative;
  font-weight: bold;
  text-decoration: none !important;
}
.block-btn-01 a::before,
.block-btn-01 > div::before,
.block-btn-02 a::before,
.block-btn-02 > div::before {
  content: '';
  position: absolute;
  font-family: 'Font Awesome 6 Free';
  top: 50%;
  left: 1em;
  transform: translateY(-50%);
  transition: 0.3s all;
  content: '\f138';
}

/*ボタン青(block-btn-01)*/
.block-btn-01 a,
.block-btn-01 > div{
  background: var(--cl-main);
  color: var(--white);
}
/*ボタン白(block-btn-02)*/
.block-btn-02 a,
.block-btn-02 > div{
  background: var(--white);
  color: var(--cl-main);
}

/*リスト用ボタン*/
.block-btn-03 a,
.block-btn-03 > div{
  background: var(--white);
  color: var(--cl-main);
  width: 100%;
  padding: 1em 1em 1em 2.5em;
  border-bottom: 1px solid var(--cl-main);
  font-size: var(--fs-default);
  text-align: left;
  box-shadow: none;
  display: flex;
  justify-content: stretch;
  align-items: center;
  height: 100%;
  position: relative;
  font-weight: bold;
  text-decoration: none !important;
  border-radius: 0px;
}

.block-btn-03 a::before,
.block-btn-03 > div::before{
  content: '\f054';
  font-weight: 900;
  margin-left: 0.1em;
  position: absolute;
  font-family: 'Font Awesome 6 Free';
  top: 50%;
  left: 1em;
  transform: translateY(-50%);
  transition: 0.3s all;
}

.block-btn-01 a[target='_blank']::after,
.block-btn-02 a[target='_blank']::after,
.block-btn-03 a[target='_blank']::after {
  font-family: 'Font Awesome 6 Free';
  display: inline-block;
  padding-left: 0.5em;
  content: '\f08e';
  font-weight: 900;
}

/* pdf,word,excel用ボタン */
.block-btn-01 a:where(
  [href$='.pdf'],[href$='.xls'],[href$='.xlsx'],[href$='.xlsm'],[href$='.xlsb'],[href$='.xltx'],
  [href$='.xltm'], [href$='.xlt'],[href$='.xml'],[href$='.xlam'],[href$='.xla'],[href$='.xlw'],
  [href$='.csv'],[href$='.doc'],[href$='.docm'], [href$='.docx'],[href$='.dotm'],[href$='.dotx'],
  [href$='.ppt'],[href$='.pptx'])::after,
.block-btn-02 a:where(
  [href$='.pdf'],[href$='.xls'],[href$='.xlsx'],[href$='.xlsm'],[href$='.xlsb'],[href$='.xltx'],
  [href$='.xltm'], [href$='.xlt'],[href$='.xml'],[href$='.xlam'],[href$='.xla'],[href$='.xlw'],
  [href$='.csv'],[href$='.doc'],[href$='.docm'], [href$='.docx'],[href$='.dotm'],[href$='.dotx'],
  [href$='.ppt'],[href$='.pptx'])::after,
.block-btn-03 a:where(
  [href$='.pdf'],[href$='.xls'],[href$='.xlsx'],[href$='.xlsm'],[href$='.xlsb'],[href$='.xltx'],
  [href$='.xltm'], [href$='.xlt'],[href$='.xml'],[href$='.xlam'],[href$='.xla'],[href$='.xlw'],
  [href$='.csv'],[href$='.doc'],[href$='.docm'], [href$='.docx'],[href$='.dotm'],[href$='.dotx'],
  [href$='.ppt'],[href$='.pptx'])::after 
{
  line-height: 1.5;
  font-family: 'Font Awesome 6 Free';
  padding-left: 0.5em;
}

.block-btn-01 a:where([href$='.pdf'])::after,
.block-btn-02 a:where([href$='.pdf'])::after,
.block-btn-03 a:where([href$='.pdf'])::after {
  content: '\f1c1' !important;
  font-weight: 400 !important;
}

.block-btn-01 a:where([href$='.doc'], [href$='.docm'], [href$='.docx'], [href$='.dotm'], [href$='.dotx'])::after, 
.block-btn-02 a:where([href$='.doc'], [href$='.docm'], [href$='.docx'], [href$='.dotm'], [href$='.dotx'])::after,
.block-btn-03 a:where([href$='.doc'], [href$='.docm'], [href$='.docx'], [href$='.dotm'], [href$='.dotx'])::after{
  content: '\f1c2' !important;
  font-weight: 400 !important;
}
.block-btn-01 a:where(
  [href$='.xls'],[href$='.xlsx'],[href$='.xlsm'],[href$='.xlsb'],[href$='.xltx'],[href$='.xltm'],
  [href$='.xlt'],[href$='.xml'],[href$='.xlam'],[href$='.xla'],[href$='.xlw'],[href$='.csv'])::after,
.block-btn-02 a:where(
  [href$='.xls'],[href$='.xlsx'],[href$='.xlsm'],[href$='.xlsb'],[href$='.xltx'],[href$='.xltm'],
  [href$='.xlt'],[href$='.xml'],[href$='.xlam'],[href$='.xla'],[href$='.xlw'],[href$='.csv'])::after,
.block-btn-03 a:where(
  [href$='.xls'],[href$='.xlsx'],[href$='.xlsm'],[href$='.xlsb'],[href$='.xltx'],[href$='.xltm'],
  [href$='.xlt'],[href$='.xml'],[href$='.xlam'],[href$='.xla'],[href$='.xlw'],[href$='.csv'])::after
{
  content: '\f1c3' !important;
  font-weight: 400 !important;
}

.block-btn-01 a:where([href$='.ppt'],[href$='.pptx'])::after,
.block-btn-02 a:where([href$='.ppt'],[href$='.pptx'])::after,
.block-btn-03 a:where([href$='.ppt'],[href$='.pptx'])::after
{
  content: '\f1c4' !important;
  font-weight: 400 !important;
}

@media only screen and (max-width: 599px) {
  .block-btn-01 a,
  .block-btn-02 a,
  .block-btn-03 a {
    padding: 0.76em 0.5em 0.76em 2.5em;
  }
}

@media only screen and (max-width: 599px){
  .block-btn-01,
  .block-btn-02,
  .block-btn-03{
    width: 100%;
  }
  .block-btn-01 a,
  .block-btn-02 a,
  .block-btn-03 a {
    width: 100%;
  }
}

/*ボタン白(文字左)(block-btn-08)、
ボタン（2カラム）(block-btn-08)*/
.block-btn-08-wrap, .block-btn-08{
  display:block!important;
}
.block-btn-08 a, .block-btn-08 > div{
  text-align:left;
  display:block!important;
  width:100%!important;
  min-width:100%!important;
  margin:1em 0!important;
  font-weight:500;
  padding:20px 45px;
  font-size:var(--fs-ttl-xs);
  position:relative;
  padding:15px 65px 20px 45px!important;
  border:2px solid var(--cl-main)!important;
}
.block-btn-08 a:before,
.block-btn-08 > div:before{
    content: "";
    position: absolute;
    border-top: 2px solid var(--cl-main);
    border-right: 2px solid var(--cl-main);
    width: .5em;
    height: .5em;
    top: 0;
    bottom: 0;
    right: 1em;
    margin: auto;
    transition: .3s;
    transform: rotate(45deg);
}
.block-btn-08 a mark, .block-btn-08 > div mark{
  font-size:1.4rem;
}
.block-btn-08 a:before, .block-btn-08 > div:before{
  content: "";
  position: absolute;
  border-top: 2px solid var(--cl-main);
  border-right: 2px solid var(--cl-main);
  width: .5em;
  height: .5em;
  top: 0;
  bottom: 0;
  right: 1em;
  margin: auto;
  transition: .3s;
  transform: rotate(45deg);
}
.block-btn-08 a:hover:before, .block-btn-08 > div:hover:before{
  right: .5em;
}
@media only screen and (max-width: 767px){
  .block-btn-08-outer-wrap{ display: block!important;}
}

@media only screen and (max-width: 400px){
  .wp-block-buttons,
  .wp-block-button,
  .block-btn-01 a,
  .block-btn-01 > div,
  .block-btn-02 a,
  .block-btn-02 > div,
  .block-btn-03 a,
  .block-btn-03 > div,
  .block-btn-04 a,
  .block-btn-04 > div,
  .block-btn-05 a,
  .block-btn-05 > div,
  .block-btn-06 a,
  .block-btn-06 > div,
  .block-btn-07 a,
  .block-btn-07 > div{
    min-width:100%!important;
    width:100%!important;
  }
}



/* ********************************************
リンク
******************************************** */

/*--------- 外部リンク(link) ---------*/
.block-link-outside a{
  display:inline-block;
  position:relative;
}

.block-link-outside a[target='_blank']::after {
  font-family: 'Font Awesome 6 Free';
  display: inline-block;
  margin-left: 0.2em;
  content: '\f08e';
  font-weight: 900;
  color: var(--cl-main);
}

/* pdf,word,excel用ボタン */
.block-link-outside a:where(
  [href$='.pdf'],[href$='.xls'],[href$='.xlsx'],[href$='.xlsm'],[href$='.xlsb'],[href$='.xltx'],
  [href$='.xltm'], [href$='.xlt'],[href$='.xml'],[href$='.xlam'],[href$='.xla'],[href$='.xlw'],
  [href$='.csv'],[href$='.doc'],[href$='.docm'], [href$='.docx'],[href$='.dotm'],[href$='.dotx'],
  [href$='.ppt'],[href$='.pptx'])::after 
{
  line-height: 1.5;
  font-family: 'Font Awesome 6 Free';
  margin-left: 0.2em;
  color: var(--cl-main);
}

.block-link-outside a:where([href$='.pdf'])::after {
  content: '\f1c1' !important;
  font-weight: 400 !important;
}

.block-link-outside a:where([href$='.doc'], [href$='.docm'], [href$='.docx'], [href$='.dotm'], [href$='.dotx'])::after{
  content: '\f1c2' !important;
  font-weight: 400 !important;
}

.block-link-outside a:where(
  [href$='.xls'],[href$='.xlsx'],[href$='.xlsm'],[href$='.xlsb'],[href$='.xltx'],[href$='.xltm'],
  [href$='.xlt'],[href$='.xml'],[href$='.xlam'],[href$='.xla'],[href$='.xlw'],[href$='.csv'])::after{
  content: '\f1c3' !important;
  font-weight: 400 !important;
}

.block-link-outside a:where([href$='.ppt'],[href$='.pptx'])::after{
  content: '\f1c4' !important;
  font-weight: 400 !important;
}

/* ********************************************
リスト
******************************************** */

/* 点リスト、数字リスト */
.block-list01{
  padding-inline-start:0;
}
.block-list01 li{
  list-style-type: none;
  position:relative;
  padding-left: 1.1em;
  display:block;
  line-height: 1.7;
  margin-left: 0!important;
}
.block-list01 li + li{
  margin-top: 0.3em;
}
.block-list01 li:before{
  content:"";
  margin-right:10px;
  position: absolute;
}
ul.block-list01 li:before{
  width: 7px;
  height: 7px;
  background: var(--cl-main);
  border-radius: 100vh;
  left: 0;
  top: 1rem;
}
.block-list01 li > div{
  display: inline;
}
ol.block-list01{
  counter-reset: item;
}
ol.block-list01 li{
  padding-left: 1.1em;
}
ol.block-list01 li:before{
  counter-increment: item;
  content: counter(item) '.';
  padding:0 5px 0 0;
  display:inline-block;
  color:var(--cl-main);
  font-weight:bold;
  position: absolute;
  left: 0;
  top: 0;
  vertical-align: bottom;
  font-weight: bold;
  min-width: 20px;
}

/* リストカラム（点リスト2列）（数字リスト2列） */
.block-list01.block-list01-col2{
  column-count: 2;
}
@media only screen and (max-width: 768px){
  .block-list01.block-list01-col2{
    column-count: 1;
  }
}

/* リスト（四角アイコン） */
.block-list02{
  margin: 1em 0;
}
.block-list02 li{
  list-style-type: none!important;
  position:relative;
  padding:.2em 0;
  display:flex;
  align-items: center;
  margin-left:0!important;
}
.block-list02 li:before{
  content:"";
  margin-right:10px;
  position:relative;
  display:inline-block;
  width:10px;
  height:10px;
  background:var(--cl-main);
}

/* リストカラム（チェックマーク） */
.block-list03 li{
  padding:.1em 0;
  list-style-type: none!important;
  position:relative;
  display:flex;
  align-items: center;
  font-size:var(--fs-lead);
}
.block-list03 li:before{
  content:'\f14a';
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size:3rem;
  color:var(--cl-main);
  margin-right:10px;
  position:relative;
  top:0;
}
@media only screen and (max-width: 1024px){
  .block-list03 li{
    margin-left:10px!important;
  }
}

/* リスト（アイコン手入力1文字Ver.） */
.block-list04{
  margin: 1em 0;
}
.block-list04 li{
  list-style-type: none!important;
  position:relative;
  padding:.2em 0;
  text-indent: -1.3em;
  padding-left: 1.3em;
  display:flex;
  align-items: center;
  margin-left:0!important;
}

/* リスト（アイコン手入力3文字Ver.） */
.block-list05{
  margin: 1em 0;
}
.block-list05 li{
  list-style-type: none!important;
  position:relative;
  padding:.2em 0;
  text-indent: -3.2em;
  padding-left: 3.2em;
  display:flex;
  align-items: center;
  margin-left:0!important;
}




/* ********************************************
カラム
******************************************** */

/*--------- 2列表 ----------*/
.list-table-block .list-table-col{
  display: grid!important;
  border-top: 1px solid var(--gray03);
  padding: 1em 16px;
  align-items: center;
  margin-bottom: 0;
}
.list-table-block .list-table-col:last-of-type{
  border-bottom: 1px solid var(--gray03);
}
.list-table-block .list-table-col .list-table-ttl{
  border-right: 1px solid var(--gray03);
  color: var(--cl-main);
  font-weight: bold;
  padding: 1em;
  padding-left: 0;
  display: flex;
  align-items: center;
  line-height: var(--fs-ttl-ll);
  height: 100%;
  box-sizing: border-box;
}
.list-table-block .list-table-col .list-table-description{
  padding: 1em;
  padding-right: 0;
}
.list-table-block-1to9 {
  grid-template-columns: 1fr 9fr;
}
.list-table-block-3to7{
  grid-template-columns: 1fr 2.3fr;
}
.list-table-block-5to5 {
  grid-template-columns: 1fr 1fr;
}

/*--------- ステップ、フロー ----------*/
.flow-table-block {
  border-bottom: none;
}
.flow-table-col{
  border: 1px solid var(--cl-main);
  padding: 0;
  margin-bottom: 1em;
  position: relative;
  display: grid!important;
  align-items: center;
}
.flow-table-block.flow-arrow .flow-table-col {
  margin-bottom: 3em;
}
.flow-table-block.flow-arrow .flow-table-col::after {
  content: '';
  display: inline-block;
  width: 3em;
  background: var(--cl-main);
  height: calc(tan(60deg) * 1.5em / 2);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  position: absolute;
  bottom: -2.3em;
  left: calc(50% - 3em);
  transform: rotate(180deg) translateX(-50%);
}
.flow-table-block.flow-arrow .flow-table-col:last-child::after {
  display: none;
}
.flow-table-block.flow-arrow > .flow-table-col:last-child{
  margin-bottom: 0;
}
.flow-table-block .flow-table-col .flow-table-ttl {
  background: var(--cl-main);
  font-weight: bold;
  color: var(--white);
  padding: 1em;
  text-align: center;
  justify-content: center;
  display: flex;
  align-items: center;
  line-height: var(--fs-ttl-ll);
}
.flow-table-block .flow-table-col .flow-table-description {
  padding: 1em;
}

@media only screen and (max-width: 599px) {
  .list-table-block .list-table-col,
  .flow-table-block .flow-table-col{
    display: block!important;
    padding: 0.3em;
  }
  .flow-table-block .flow-table-col {
    padding: 0;
  }
  .list-table-block .list-table-col .list-table-ttl {
    border-right: none;
    padding-bottom: 0;
    justify-content: flex-start;
  }
  .flow-table-block .flow-table-col .flow-table-ttl {
    justify-content: center;
    padding: 0.5em
  }
  .list-table-block .list-table-col .list-table-description,
  .flow-table-block .flow-table-col .flow-table-description{
    padding-left: 0.5em;
  }
}

/* 外来担当医表
---------------------------------------------------------------- */
.outpatient table td,
.outpatient table tr{
  border: 1px solid var(--cl-main);
}
.outpatient table tr:first-of-type,
.outpatient table tr:nth-of-type(2){
  background-color: var(--cl-base);
  font-weight: bold;
}

/*--------- リストカラム（左右カラム） ---------*/
.block-box-01{
  margin:1em 0;
}
.block-box-01 .block-box-01-inner:last-child{
  border-bottom:1px solid var(--gray);
}
.block-box-01-inner{
  border-top:1px solid var(--gray);
  padding:20px 0;
  gap:10px;
  margin-bottom:0;
}
.block-box-01-left{
  padding-right:10px;
}
.block-box-01-right{
  padding-left:20px;
  border-left:1px solid var(--gray);
}
.block-box-01-no-bdr .block-box-01-right{
  border-left:none;
}
@media only screen and (max-width: 768px){
  .block-box-01-right{
    border-left:0;
  }
}

/*--------- カラム（メインカラー枠線） ---------*/
.block-box-02{
  padding:3em 1em;
  border:2px solid var(--cl-main);
  margin: 1em 0;
}
.block-box-02 h1, .block-box-02 h2, .block-box-02 h3, .block-box-02 h4, .block-box-02 h5, .block-box-02 h6{
  font-size:var(--fs-ttl-ml);
}
@media only screen and (max-width: 599px){
  .block-box-02{
    padding:2em .5em;
  }
  .block-box-02 h1, .block-box-02 h2, .block-box-02 h3, .block-box-02 h4, .block-box-02 h5, .block-box-02 h6{
    font-size:1.8rem;
  }
}

/*-- 左右カラム（左に画像、右に文章） --*/
.block-box-03{
  padding: 20px;
}
.block-box-03 div:first-of-type{
  text-align:center;
}
.block-box-03 div:first-of-type img{
  margin-left:auto;
  margin-right:auto;
}
.block-box-03 p{
  margin-top: 10px;
}
@media only screen and (max-width: 768px){
  .block-box-03{
    gap:0!important;
  }
  .block-box-03 .wp-block-column:last-child{
    margin-top:10px;
  }
}

/*-- 左右カラム（右に画像、左に文章） --*/
.block-box-04{
  padding: 20px;
  flex-direction: row-reverse!important;
}
.block-box-04 div:first-of-type{
  text-align:center;
}
.block-box-04 div:first-of-type img{
  margin-left:auto;
  margin-right:auto;
}
.block-box-04 div:last-of-type{
  margin-left:0!important;
  /*margin-right: var(--wp--style--block-gap,2em);*/
}
.block-box-04 p{
  margin-top: 10px;
}
@media only screen and (max-width: 768px){
  .block-box-04{
    gap:0!important;
    padding: 10px;
  }
  .block-box-04 .wp-block-column:last-child{
    margin-top:10px;
  }
}
@media only screen and (max-width: 599px){
  .block-box-04 div:last-of-type{
    margin-right: 0;
  }
}

/*--------- 矢印つき左右カラム ---------*/
.block-box-05{
  margin:1em 0;
}
.block-box-05-inner{
  border:1px solid var(--cl-base);
  padding:20px;
  gap:10px;
  margin-bottom:30px;
  position:relative;
}
.block-box-05-inner:after{
  content:'\f0d7';
  font-family: "Font Awesome 6 Free";
  font-weight:900;
  position:absolute;
  bottom:-50px;
  left: 50%;
  transform: translateX(-50%);
  color:var(--cl-main);
  z-index:1;
  padding:10px;
  font-size:3rem;
}
.block-box-05-inner:last-child:after{
  content:'';
}
.block-box-05-left{
  padding-right:10px;
}
.block-box-05-right h1,
.block-box-05-right h2,
.block-box-05-right h3,
.block-box-05-right h4,
.block-box-05-right h5,
.block-box-05-right h6{
  margin-bottom:10px;
}
@media only screen and (max-width: 767px){
  .block-box-05-left{
    padding-right:0;
  }
}

/*-- カラム（ポイント） --*/
.block-box-06 {
  position: relative;
  padding: 1.5em 2em;
  border: 2px solid var(--cl-block-main);
  border-radius: 0 10px 0 10px;
  padding-top: 60px;
  margin-top:20px;
}
.block-box-06-ribbon-ttl {
  display: inline-block;
  position: absolute;
  max-width:95%;
  left: 0;
  top: 5px;
  box-sizing: border-box;
  padding:3px 15px;
  margin: 0;
  letter-spacing: 0.1em;
  color:var(--white);
  background:var(--cl-block-main);
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.12);
  font-weight:bold;
}
.block-box-06-ribbon-ttl:before {
  position: absolute;
  content: '';
  top: 0;
  left: -7px;
  border: none;
  height: calc(100% + 8px);
  width: 7px;
  background:var(--cl-block-main);
  border-radius: 5px 0 0 5px;
}
.block-box-06-ribbon-ttl:after {
  position: absolute;
  content: '';
  bottom: -7px;
  left: -5px;
  border: none;
  height: 7px;
  width: 5px;
  background: #63450b;
  border-radius: 5px 0 0 5px;
}
/*管理画面用*/
.block-box-06.wp-block{
  padding: 20px;
}
.block-box-06.wp-block .block-box-06-ribbon-ttl{
  left: -20px;
  top: -15px;
}
@media only screen and (max-width: 768px){
  .block-box-06 {
    padding: 70px 1em 2.5em;
    padding-top: 70px;
  }
}

/*--------- 材料 ---------*/
.block-box-07 {
  margin: 1em auto;
  width: 700px;
  max-width: 100%;
}
.block-box-07-inner {
  background-color: var(--l-gray);
  padding: 15px 20px;
  margin-bottom: 2px;
}
.block-box-07-inner-left{
  font-weight:bold;
}
@media only screen and (max-width: 599px) {
  .block-box-07-inner {
    padding: 5px 10px;
  }
}



/* ********************************************
もくじ
******************************************** */

/*-- 目次・もくじ(block-mokuji-01) --*/
.block-mokuji-01{
  padding: 25px 40px;
  border: 2px solid var(--cl-base);
  min-width:500px;
  margin-left: auto;
  margin-right: auto;
  flex-basis:auto!important;
  flex-grow:0!important;
  border-radius:4px;
  margin: 2em 0!important;
}
.block-mokuji-01 p{
  font-size: 2rem;
  border-bottom:2px solid var(--cl-main);
  font-weight: bold;
  padding: 5px 0 15px;
}
/*
.block-mokuji-01 p:after{
  content:'Contents';
  color:var(--gray);
  font-weight:normal;
  font-size:1.6rem;
  display:inline-block;
  margin-left:10px;
}
*/
.block-mokuji-01 ol{
  list-style-type: none;
  counter-reset: item;
  padding-left: 0;
  margin-top: 20px;
  font-weight: bold;
}
.block-mokuji-01 ol li{
  list-style-type: none;
  padding: 5px 0 5px 1em!important;
  margin-left:10px;
  text-indent: -.7em;
}
.block-mokuji-01 ol li:before{
  counter-increment: item;
  content: counter(item) '.';
  padding:0 5px 0 0;
  display:inline-block;
  color:var(--cl-main);
}
.block-mokuji-01 ol li .block-editor-rich-text__editable{
  padding-left:10px;
}
.block-mokuji-01 ol li > div{
  display: inline;
}

@media only screen and (max-width: 768px){
  .block-mokuji-01{
    min-width:100%;
  }
}

/* ********************************************
テキスト
******************************************** */

/*-- 注意点テキスト --*/
.block-txt-01{
  position:relative;
  display:flex;
  align-items: center;
}
.block-txt-01:before{
  /*content:url(../images/common/icon24.svg);
  padding:7px 5px 0 0;*/
  padding-right:5px;
  display:flex;
  align-items: center;
  content:'\f06a';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color:var(--red);
}

/* ********************************************
電話番号
******************************************** */
.wp-block-group .block-tel-col-01{
  width: 100%;
  height: 100%;
}
.block-tel-col-01{
  border: 1px solid var(--cl-main);
  text-align: center;
  width: fit-content;
}
.block-tel-col-01 a,
.block-tel-col-01 .wp-element-button{
  text-decoration:none!important;
  background: transparent!important;
  color:var(--black);
  font-weight: bold;
  text-align: left;
  width: fit-content!important;
  padding: 1em;
}
.block-tel-col-01 a span,
.block-tel-col-01 .wp-element-button span{
  font-size:3rem;
  color:var(--cl-main);
  text-align: center;
  display: block;
}
.block-tel-col-01 a span:before,
.block-tel-col-01 .wp-element-button span:before{
  content:'\f095';
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  padding-right:.2em;
}
/* ********************************************
FAX
******************************************** */
.wp-block-group .block-fax-col-01{
  width: 100%;
  height: 100%;
}
.block-fax-col-01{
  padding: 1em;
  border: 1px solid var(--cl-main);
  text-align: center;
  width: fit-content;
}
.block-fax-col-01 p{
  text-decoration:none!important;
  background: transparent!important;
  color:var(--black);
  font-weight: bold;
  text-align: left;
  width: fit-content!important;
  padding: 0;
}
.block-fax-col-01 p span{
  font-size:3rem;
  color:var(--cl-main);
  text-align: center;
  display: block;
}
.block-fax-col-01 p span:before{
  content:'\f1ac';
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  padding-right:.2em;
}

/* ********************************************
アコーディオン
******************************************** */
.block-acc-01 summary,
.block-acc-01 > .acc-content{
  padding:1em;
  border:1px solid var(--cl-main);
}
.block-acc-01 summary{
  background: var(--cl-base);
  display: block;
  position: relative;
  font-weight: bold;
  font-size: var(--fs-lead);
  padding: 1em 3em 1em 1em;
}
.block-acc-01 summary:after {
  font-family: 'Font Awesome 6 Free';
  content: '\f055';
  font-weight: 900;
  display: inline-block;
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  color: var(--cl-main);
  font-size: var(--fs-ttl-s);
}
.block-acc-01[open] summary:after{
  content: '\f056';
}
summary::-webkit-details-marker {
  /* Safariで表示されるデフォルトの三角形アイコンを消します */
  display: none;
}
.block-acc-01 .acc-content{
  border-top:none;
}
.block-acc-01[open] .acc-content{
  animation: fadeIn 0.5s ease;
}
@keyframes fadeIn {
  0% {
    opacity: 0; 
    transform: translateY(-10px); 
  }
  100% {
    opacity: 1;
    transform: none;
  }
}

/* ********************************************
アコーディオン（Q&A）
******************************************** */
.block-acc-02 summary,
.block-acc-02 > .answer{
  padding: 1.5em 1.2em;
  border:1px solid var(--cl-main);
  display: flex;
}
.block-acc-02 > .answer p{
  width: 100%;
}
.block-acc-02 summary{
  background: var(--cl-base);
  position: relative;
  font-weight: bold;
  font-size: var(--fs-lead);
  padding: 1em 3em 1em 1em;
}
.block-acc-02 summary:before {
  content: 'Q';
  display: block;
  padding-right: 1em;
  font-size: var(--fs-ttl-s);
  color: var(--black);
  line-height: var(--fs-ttl-s);
  margin-top: 0.1em;
}
.block-acc-02 summary:after {
  font-family: 'Font Awesome 6 Free';
  content: '\f055';
  font-weight: 900;
  display: inline-block;
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  color: var(--cl-main);
  font-size: var(--fs-ttl-s);
}
.block-acc-02 > .answer:before {
  content: 'A';
  display: block;
  padding-right: 1em;
  font-size: var(--fs-ttl-s);
  color: var(--gray01);
  line-height: var(--fs-ttl-s);
  margin-top: 0.1em;
  font-weight: bold;
}
.block-acc-02[open] summary:after{
  content: '\f056';
}
summary::-webkit-details-marker {
  /* Safariで表示されるデフォルトの三角形アイコンを消します */
  display: none;
}
.block-acc-02 .answer{
  border-top:none;
}
.block-acc-02[open] .answer{
  animation: fadeIn 0.5s ease;
}
@media only screen and (max-width: 1024px) {
  .block-acc-02 summary:before,
  .block-acc-02 .answer:before
  {
    margin-top: 0.3em;
  }
}

/* ********************************************
複数カラム（Q&A）
******************************************** */
.column-block .col-item{
  width: 100%;
}