@charset "utf-8";

/* ----------------------------------------- */
/* CSS Version 20161208
/* ----------------------------------------- */

/* ----------------------------------------- */
/* テキスト リンク色
/* ----------------------------------------- */
/* 色1 */
.text_tag span button i.color1,
span.text_color1{
  color: #EE1212;
}
/* 色2 */
.text_tag span button i.color2,
span.text_color2{
  color: #076CDF;
}
/* 文中リンク */
div[class^="parts"] a{
  color: #0000FF;
  text-decoration: underline;
}
div[class^="parts"] a:visited{
  color: #990099;
  text-decoration: underline;
}

/* FORMリンク */
.link_form input.submit_button {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.7rem;
  color: #FFFFFF;
  font-optical-sizing: auto;
  line-height: 136%;
  background-color: #6CCE94;
  background-image: none;
  text-decoration: none;
  border: 2px solid #6CCE94;
  text-shadow:0 -1px #6CCE94;
  border-radius: 5px;
  min-height: 42px;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  transition: box-shadow 0.2s ease;
}
.link_form input.submit_button:hover{
  background-image: none;
  color: #FFFFFF;
  cursor: pointer;
  border-color: #57C785;
  border-radius: 5px;
  background-image: none;
  background-color: #57C785;
  text-shadow: none;
  box-shadow: inset 2px 3px 3px rgba(0, 0, 0, 0.2);
}

/* リンクボタン */
.link {
  font-family: "Noto Sans JP", sans-serif;
  overflow: hidden;
  position: relative; /* ← アニメーション基準として必須 */
  color: #FFFFFF;
  border-radius: 5px;
  line-height: 136%;
  background-color: #6CCE94;
  background-image: none;
  border: 2px solid #6CCE94;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
}

/* ボタン内リンク */
div[class^="parts"] .link a,
.link a {
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.7rem;
  color: #FFFFFF;
  text-decoration: none;
  text-shadow: none;
  position: relative;
  padding: 10px 12px 10px 0px;
  border-radius: 4px;
  min-height: 42px;
  z-index: 2; /* 光より上に */
  box-shadow: inherit;
  transition: box-shadow 0.2s ease;
}

/* ホバー時の色変化 */
div[class^="parts"] .link a:hover {
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
  background-color: #57C785;
  border-color: #57C785;
  box-shadow: inset 2px 3px 3px rgba(0, 0, 0, 0.2);
}

/* ▶アイコン */
div[class^="parts"] .link a::before,
.link a::before {
  content: "\025b6";
  font-size: 1.0rem;
  color: #FFFFFF;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}

/* アイコンホバー時も変化なし */
div[class^="parts"] .link a:hover::before,
.link a:hover::before {
  color: #FFFFFF;
  text-shadow: none;
}

/* ボタンホバー時、光エフェクトのz-index調整用 */
.link:hover {
  z-index: 2;
  box-shadow: none;
}

/* 光アニメーション */
.link::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
 	background: linear-gradient(0deg, 
rgba(255, 255, 255, 0) 0%, 
rgba(255, 255, 255, 0.03) 20%, 
rgba(255, 255, 255, 0.3) 49%, 
rgba(255, 255, 255, 0.03) 70%, 
rgba(255, 255, 255, 0) 100%);
  transform: rotate(46deg);
  animation: shineMove 2.5s ease-in-out infinite;
  z-index: 1;
  pointer-events: none;
}
/* アニメーション定義 */
@keyframes shineMove {
  0% {
    transform: translate(-100%, -100%) rotate(25deg);
  }
  100% {
    transform: translate(100%, 100%) rotate(25deg);
  }
}


/* 表の文字レイアウト */
.parts07 table,
.parts08 table,
.parts09 table,
.parts10 table,
.parts11 table,
.parts28 table,
.parts29 table,
.parts30 table{
  font-size: 90%;
  line-height: 140%;
}
.parts11 table,
.parts12 table{
  font-size: 90%;
  line-height: 140%;
}

/* 余白設定 */
div[class^="parts"] th, div[class^="parts"] td{
padding: 10px;
}

div[class^="parts"] th img, div[class^="parts"] td img{
padding-top: 5px;
padding-bottom: 5px;
}

/* 区切り線の種類 */
hr{
  border-top: solid 1px #BFBFBF;
}

/* ----------------------------------------- */
/* 表の線種設定
/* ----------------------------------------- */
div[class^="parts"].frame,
div[class^="parts"].ch_frame .child,
div[class^="parts"] th,
div[class^="parts"] td{
  border: solid 1px #CDE2F9;
}
div[class^="parts"] th,
div[class^="parts"].frame_bold table{ /* 見出し太枠 */
  border: solid 3px #CDE2F9;
}
div[class*="parts"].title_color th{ /* 色付き見出し枠リセット*/
  border: solid 1px #CDE2F9;
}
div[class^="parts"].line_bottom_solid tr{ /* 下線（実線） */
  border-bottom: solid 1px #CDE2F9;
}
div[class^="parts"].line_bottom_dashed tr{ /* 下線（破線） */
  border-bottom: dashed 1px #CDE2F9;
}

/* ----------------------------------------- */
/* 背景色付き・見出し背景色・table
/* ----------------------------------------- */
.back_color,
.ch_back_color .child,
.h_back_color h3{
  background-color: #EBF3FC;
}
.title_color th,
.x_even_color tr:nth-child(even),
.y_even_color td:nth-child(even){
  background-color: #EBF3FC;
}

/* ----------------------------------------- */
/* Q & A 画像
/* ----------------------------------------- */
/* 大 w690の場合、80px角の正方形 */
.parts16.size_l .question{
	background-image: url(/parts_theme_image/q_l_img.png?1);
}
.parts16.size_l .answer{
	background-image: url(/parts_theme_image/a_l_img.png?1);
}
.parts16.size_l .question p{
  color: #de003f;
  background-color: #e6e6e6;
}
.parts16.size_l .answer p{
}
/* 小 w690の場合、45px角の正方形*/
.parts16.size_s .question{
	background-image: url(/parts_theme_image/q_s_img.png?1);
}
.parts16.size_s .answer{
	background-image: url(/parts_theme_image/a_s_img.png?1);
}
.parts16.size_s .question p{
  color: #de003f;
  background-color: #e6e6e6;
}
.parts16.size_s .answer p{
}

/* ------------------------------- */
/* Before & After 画像
/* ------------------------------- */
.parts17.top_bottom .before img,
.parts17.left_right .before img{
/* 幅300px、高さ20px 以内 BEFOREの文字画像 */
  background-image: url(/parts_theme_image/before.png);
}
.parts17.top_bottom .after img,
.parts17.left_right .after img{
/* 幅300px、高さ20px 以内 AFTERの文字画像 */
  background-image: url(/parts_theme_image/after.png);
}
.parts17.top_bottom .before{
  /* 縦レイアウト用の矢印 幅300px、高さ45px以内 */
  background-image: url(/parts_theme_image/arrow_v.png);
}
.parts17.left_right .before{
  /* 横レイアウト用の矢印 幅100px、高さ80px以内 */
  background-image: url(/parts_theme_image/arrow_h.png);
}
/* Smart Phone View */
@media only screen and (max-width: 649px) {
  .parts17.left_right .before,
  .column1w .parts17.left_right .before,
  .column1s .parts17.left_right .before{
    /* 縦レイアウト用の矢印 幅300px、高さ45px以内 */
    background-image: url(/parts_theme_image/arrow_v.png);
  }
}

/* ----------------------------------------- */
/* テキスト見出し フォント指定 及び 背景画像
/* ----------------------------------------- */
/*  column1w H1指定
    .column1w .parts18 h1{
    }
    column1s H1指定
    .column1s .parts18 h1{
    }
*/
.parts18 h1{
  font-family: 'Shippori Mincho', serif;
  font-weight: 600;
  background-image: none;
  text-align: left;
  font-size: 4.4rem;
  line-height: 1.1;
  padding: 10px 0px 12px 0px;
  color: #ffffff;/* 背景パーツで指示しても黒のままなのでそのまま置いています。背景パーツは全部指示しました */
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.5);
}
.parts18 h1 a,
.parts18 h1 a:visited{
  text-decoration: none;
  color: #333333;
}

/* Smart Phone View */
@media only screen and (max-width: 649px) {
	.parts18 h1{
	font-size: 3.4rem;
  }
}

.parts18 h2{
  font-family: 'Shippori Mincho', serif;
  font-weight: 700;
  background-image: none;
  font-size: 3.0rem;
  line-height: 1.2;
	color: var(--main); /* 6/1変更 */
	padding-top: 60px; /* 6/1追記 */
}

.parts18 h2 a,
.parts18 h2 a:visited{
  text-decoration: none;
  color: var(--main); /* 6/1変更 */
  }


/* Smart Phone View */
@media only screen and (max-width: 649px) {
 .parts18 h2{
  font-size: 2.3rem; /* 6/1追記 */
  }
}


[class^="parts"] h3{
  width:100%;
  font-family: 'Zen Old Mincho', serif;
  font-weight: 600;
  background-image: none;
  font-size: 2.7rem;/* H6/1変更 */
  line-height: 115%;
  color: #0068B6;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
  padding-bottom: 5px;  /* H6/1追記 */
  margin-bottom: 15px;  /* H6/1追記 */
}
 /* H3の表示面積が少ないパーツ対応 */
[class^="parts05"] h3,
[class^="parts06"] h3,
[class^="parts27"] h3,
[class^="parts14"] h3,
[class^="parts15"] h3,
[class^="parts34"] h3,
[class^="parts35"] h3{
  font-size: 2.3rem;
}

[class^="parts"] h3 a,
[class^="parts"] h3 a:visited{
  text-decoration: none;
  color: #333333;
}

/* Smart Phone View */
@media only screen and (max-width: 649px) {
	
[class^="parts"] h3{
  font-size: 2.0rem;/* H6/1変更 */
  line-height: 105%;

}
 /* H3の表示面積が少ないパーツ対応 */
[class^="parts05"] h3,
[class^="parts06"] h3,
[class^="parts27"] h3,
[class^="parts14"] h3,
[class^="parts15"] h3,
[class^="parts34"] h3,
[class^="parts35"] h3{
  font-size: 2.0rem;
}
}


 /* 画像見出しとHTMLコードは装飾無し */
[class^="parts19"] h3,
[class^="parts20"] h3,
[class^="parts21"] h3{
  width: 100%;
  background: none;
  border: none;
  padding: 0;
}


[class^="parts"] h4{
  font-family: 'Shippori Mincho', serif;
  font-weight: 500;
  font-size: 1.8rem;
  background-image: none;
  color: #333333;
  padding-bottom: 6px;
  border-bottom: 2px solid #0068B6;
}
[class^="parts"] h4 a,
[class^="parts"] h4 a:visited{
  text-decoration: none;
  color: #333333;
}

 /* 画像見出しとHTMLコードは装飾無し */
[class^="parts19"] h4,
[class^="parts20"] h4,
[class^="parts21"] h4{
  width: 100%;
  background: none;
  border: none;
  padding: 0;
}

/* ----------------------------------------- */
/* マーカー風ライン
/* ----------------------------------------- */
[class^="parts"] h3 u,
u,
span.text_underline{
  text-decoration: none;
  background:linear-gradient(transparent 60%, #FFFF00 0%);
}

/* ----------------------------------------- */
/* パンクズリストmargin-bottom 6/1追記
/* ----------------------------------------- */
.topics-path{
margin-bottom:60px;
}