/* Cassiopeia modifications */

/* 全体の幅*/
.site-grid {
   grid-template-columns: [full-start] minmax(0,1fr) [main-start] repeat(4,minmax(0,17rem)) [main-end] minmax(0,1fr) [full-end];
}

/* ロゴとメニュー幅*/
.grid-child {
width: 100%;
max-width: 1240px;
margin-left: auto;
margin-right: auto;
display: flex;
}

:root {
--cassiopeia-color-primary:#bfbfbf;
--cassiopeia-color-link: #c9c9c9;
--link-color: #9d9b9b;
--cassiopeia-color-hover: #dfdfdf;
--link-hover-color: #e9e9e9;
  
}

:root {
  --body-font-size: 1.0rem;
}

.metismenu.mod-menu .metismenu-item {
  font-size: 0.9rem;
  line-height: 1.5;
}

.card-body {
  font-size: 1.0rem;
}

/* タイトル下*/
p {
margin-top: 0;
margin-bottom: 0.5rem;
}

.h1, h1 {
  font-size: 1.2rem;
}

.h2, h2 {
  font-size: 1.2rem;
}

.h3, h3 {
  font-size: 1.1rem;
}

h6, .h6, h5, .h5,  {
color: var(--heading-color);
margin-top: 0;
margin-bottom: 1rem;
font-weight: 500;
}


/*font*/
body {
font-family: "ヒラギノ丸ゴ W4", "游ゴシック", YuGothic, "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo, sans-serif;;
letter-spacing: 0px;
}


/* Header */
.container-header {
background-image: none;
background-color: #fff;
}

.brand-logo {
text-decoration: none;
}

/* サイト説明消す*/
.site-description {
display: none;
}



/*ロゴ下の説明スペース*/
@media only screen and (max-width: 767px) 
.container-header .container-nav {
flex-wrap: wrap;
justify-content: space-between;
padding-top: 0px !important;
}


/*menu*/

.container-header .mod-menu li a {
display: block;
padding: 16px;
height: auto;
color: black;
font-size: 16px;
font-weight: normal;
line-height: 0px;
text-decoration: none;
text-align: left;
background: white;
}


/*underline消す*/
.metismenu.mod-menu .metismenu-item.active>a, .metismenu.mod-menu .metismenu-item.active>button, .metismenu.mod-menu .metismenu-item>a:hover, .metismenu.mod-menu .metismenu-item>button:hover {
text-decoration: none;
}

/*undermark*/
.metismenu.mod-menu .metismenu-item
> a::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 2px;
background: #000000;
bottom: -1px;
transform: scale(0,3);
transform-origin: center top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
transition: transform 0.3s;   /*変形の時間*/

-webkit-transform: scaleX(0);　/*–ここを0にすることで下線は非表示となる–*/
-ms-transform: scaleX(0);　/*–ここを0にすることで下線は非表示となる–*/
transform: scaleX(0);　/*–ここを0にすることで下線は非表示となる–*/
-webkit-transition: all .15s; /*–0.15秒かけて下線が表示される–*/
transition: all .15s;　/*–0.15秒かけて下線が表示される–*/
}

.metismenu.mod-menu .metismenu-item
> a:hover::after {
transform: scale(1, 1); /*ホバー後、x軸方向に1（相対値）伸長*/

  -webkit-transform: scaleX(1); /*–ここを1にすることで下線は表示される–*/
-ms-transform: scaleX(1); /*–ここを1にすることで下線は表示とされる–*/
transform: scaleX(1); /*–ここを1にすることで下線は表示とされる–*/
}




/* humberger*/
.container-header .navbar-toggler {
color: #000;
cursor: pointer;
border: 1px solid #fff;
}

/* 記事余白*/
.breadcrumb {
background-color: #00000008;
margin-bottom: 20px ;
}




/* Sidebar*/
.container-sidebar-right {
background-color: #f9f9f9;
}





/* General modifications */
body {
background-color: #f9f9f9;
}
blockquote {
padding-top: 10px;
}
blockquote::before {
font-family: Arial;
color: #40b7c9;
content: "\201C";
font-size: 2em;
line-height: 0.1em;
margin-right: 0.1em;
vertical-align: -0.4em;
}
blockquote p {
display: inline;
}



/* Footer */
.container-footer {
background-image: none;
background-color: #22262a;
}

/* Contact */
.contact-name {
display:none
}

legend {
display:none

}


/*banner */
.container-banner .banner-overlay {
height: 60vh;

}
.container-banner .banner-overlay .overlay {

  text-align: center;
background-color: rgba(0, 0, 0, 0.2);
flex-direction: column;
justify-content: center;
align-items: center;
height: 100%;
padding: 1em;
display: flex;
}


/* Change Banner Background Image for Mobile (up to 767px) */
@media (max-width: 767px) {
    .container-banner .banner-overlay {
        background-attachment: scroll; /* Add scroll for background image */
    }
}


  
/* SNS*/
.social-list {
  display:flex;
  justify-content:center;
}
.social-list li {
  margin:0 5px;
  list-style:none;
}

/* SNSボタンセンターへ*/
ol, ul {
    padding-left: 0rem;
}


/*tableresposive*/

.shokai{
  width:100%;
  border: 1px solid #ced4da;
  overflow: hidden;
  word-break: break-all;
  word-wrap: break-word;
}
 
.shokai th{
  padding: 6px 8px 5px;
  border-top: dotted 1px #ced4da;
  width: 20%;
  overflow: hidden;
  /*color: ;*/
  font-style: normal;
  font-weight: bold;
  font-size: 100%;
  text-align: left;
  word-break: break-all;
  word-wrap: break-word;
  vertical-align: top;
  background-color: none;
}
 
.shokai td{
padding: 7px 12px;
text-align: left;
vertical-align: top;
color: none;
background-color: #ffffff;
border-top: dotted 1px #e0dccc;
overflow: hidden;
word-break: break-all;
word-wrap: break-word;
}
 
@media (max-width: 400px){
.shokai th{
  width:100%;
  display:block;
  margin: 0 auto;
  border:none;
  border-radius: 3px;
}
.shokai td{
  display: list-item;
  width: 100%;
  border-top: none !important;
}
}/* end */

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 440px) {
.pc { display: none !important; }
.sp { display: block !important; }
}


/* 記事内の写真の画像クラスをfloat-inline-flex設定したとき */
@media only screen and (max-width: 767px) {
<style>
.float-inline-flex 
{
    border: 2px solid #000;
}
.float-inline-flex img{
    width: 80%;
    height: auto;
    display: block;
}
</style>
}



/* FAQ */
.faq-item {
  margin-top: 20px;
  max-width:100%x;
  margin-left: auto;
  margin-right: auto;

  border: 1px solid #5f5f5f;
}

.faq-question__wrap {
position: relative;
background: #c9c9c9;
padding: 18px 5px 10px 50px;
cursor: pointer;
}

.minus-icon {
  position: absolute;
  content: "";
  width: 20px;
  height: 3px;
  background: #fff;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.plus-icon {
  position: absolute;
  content: "";
  width: 20px;
  height: 3px;
  background: #fff;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  transition: ease all 0.4s; /* 擬似要素のトランジションを追加 */
}

.plus-icon.active {
  transform: translateY(-50%);
}

.faq-question__title {
  font-weight: normal;
  color: #FFF;
  font-size: 1.1em;
  position: relative;
}
.faq-question__title::before {
    position: absolute;
    color: #fff;
    content: "Q";
    top: 50%;
    left: -35px;
    transform: translateY(-50%);
  }

.faq-answer__wrap {
  background: #fff;
  padding: 18px 5px 10px 50px;
  transition: ease all 0.5s; /* 擬似要素のトランジションを追加 */
  height: 0;
  overflow: hidden;
  padding-top: 0;
  padding-bottom: 0;
}

.faq-answer__wrap.active {
  height: auto;
  padding: 18px 5px 10px 50px;
}
.faq-answer__wrap {
  background: #fff;
  opacity: 0;
  padding: 18px 5px 10px 50px;
  padding-top: 0;
  padding-bottom: 0;
  overflow: hidden;
  transition: ease all 0.7s; /* 擬似要素のトランジションを追加 */
}

.faq-answer__wrap.active {
  opacity: 1;
  padding: 18px 5px 10px 50px;
}

.faq-answer__title {
  position: relative;
  font-weight: normal;
  color: #0C89B7;
  font-size: 1.0em;
  color
}

.faq-answer__title::before {
    position: absolute;
    color: #0C89B7;
    content: "A";
    top: 50%;
    left: -35px;
    transform: translateY(-50%);
  }

.faq-answer__text {
  margin-top: 5px;
}

.plus-icon.active {
transform: translateY(-50%);
}
ZENpQmK:57.plus-icon {
position: absolute;
content: "";
width: 20px;
height: 3px;
background: #fff;
right: 20px;
top: 50%;
transform: translateY(-50%) rotate(90deg);
transition: ease all 0.5s;
}

/*Q&Aカテゴリタイトルの余白*/
.mgr-10 {
  display: inline-block;
  margin-top: 20px;
}

.a:hover {
color: var(--link-hover-color);
}

/*リンクの下線を消す*/
.mod-list li a:hover {
text-decoration: none;
}

/*上下バイカラーの文字*/
.emphasis_design33 {
  background: linear-gradient(#f88400 50%, #4d9bc1 50%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/*角丸ボックス*/
.box-design1 {
  margin: 20px auto;
  padding: 20px;
  border: 2px solid #fff;/* 枠線指定 */
  background-color: #fff;/* 背景色指定 */
  border-radius: 20px;/* 角丸指定 */
}

.breadcrumb {
font-size: 14px;
  }

/*公開日など詳細*/
.text-muted {

font-size: 14px;
  }
