/*
 * 治療プログラムページ用スタイルシート
 */

/* 幅調整用 */
.padding-zero {
	padding-left: 0;
	padding-right: 0;
}

.wide-margin-top {
	margin-top: 100px;
}

@media screen and (max-width: 600px) {
  .wide-margin-top {
  	margin-top: 40px;
  }
}

/* セクション */
section {
	margin: 20px 0;
}

/* 先頭のsectionタグ */
section:first-of-type {
	margin-top: 70px; /* ナビゲーションバー分の余白 */
}

/* 最後のsectionタグ */
section:last-of-type {
	/* 最後のsection要素とフッターの間の余白 */
	/* margin-bottom: 0;  */
}

.program-card {
	padding: 20px 15px;
  background-color: rgba(255,255,255,.6);
}

.program-section h4 {
	margin: 2em 0 .5em 0;
}

/* トップ画像 */
/*
#program-top {
	margin-bottom: 100px;
} */

#program-top h1 {
	margin: 0 auto;
	width: auto;
	max-width: 1080px;
	background: url('../img/program/top_bg.png');
	background-size: cover;
	text-align : center;
}

#program-top .top-logo {
	width: 90%;
	opacity: 0;
	animation: fadeIn 2s ease 0.5s forwards;
}


#family-meeting-top h1 {
	margin: 0 auto;
	width: auto;
	max-width: 1080px;
	background: url('../img/program/top_bg.png');
	background-size: cover;
	text-align : center;
}

#family-meeting-top .top-logo {
	width: 90%;
	opacity: 0;
	animation: fadeIn 2s ease 0.5s forwards;
}

/* フェードインアニメーション */
@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/* ジャンプメニュー */
.jump-link {
	margin: 1em 0;
	text-align: center;
}

.jump-link a {
	margin: 20px 0;
	color: green;
	text-shadow: 1px 1px 1px lightgray;
}

.jump-link a:hover {
	color: limegreen;
	text-shadow: 1px 1px 1px #666;
}

.jump-link a:visited {
	color: green;
}

/*
@media screen and (max-width: 420px) {
	.jump-link {
		padding-left: 1.5em;
		font-size: 24px;
		text-align: left;
	}
}
*/

/* プログラムの構成 */
.program-structure h2 {
	margin-top: 1em;
	margin-bottom: .6em;
}

.program-structure {
	padding-top: 30px;
	display:block;
	margin:0 auto;
	width:600px;
	height:600px;
	border-radius:50% 50%;
	background-color:#6dc16dbf;
}

.program-structure h4 {
	margin: 1.5em 0 .5em 0;
	text-align: center;
	font-size: 28px;
}

.program-structure p {
	margin: 0;
	text-align: center;
	font-size: 14px;
	color: black;
}

/* 小画面時のプログラム構成 */
@media screen and (max-width: 600px) {
	.program-structure {
		padding: 20px 20px;
		width:340px;
		border-radius: 60px 60px;
	}

	.program-structure h4 {
		margin: 1.8em 0 .9em 0;
		text-align: center;
		font-size: 18px;
	}

	.program-structure p {
		margin: 0;
		text-align: left;
		font-size: 13px;
		color: black;
	}
}

/* タイトルパネル */
.title-panel {
	min-height: 560px;
	max-width: 460px;
	margin: 0 auto;

	padding-top: 1px;
	padding-bottom: 1px;
}

/* 章タイトル位置調整用 */
.title-panel .title {
	margin-top: 100px;

	padding-left: 20px;
}

/* 章タイトル文字 */
.title-panel h2 {
	font-size: 60px;
	font-weight: bold;
	color: white;
	text-shadow: 1px 1px 3px black;
}

/* 副題 */
.title-panel p {
	margin-top: 160px;
	margin-bottom: 0;
	padding-right: 10px;

	text-align: right;
	text-indent: 0;
	font-size: 28px;
	color: white;
	text-shadow: 1px 1px 3px black;
}

/* 内容 */
.content-panel {
	padding-left:20px;
	padding-right:10px;
	color: #666;
}

/* 見出し */
.content-panel h3 {
	margin-top: 30px;
	margin-bottom: 50px;

	text-align: center;
	font-size: 32px;
	font-weight: bold;
}

/* 見出し用スペーサー */
.content-panel .spacer {
	padding-top: 50px;
}


/* 小画面デバイスでの見出し */
@media screen and (max-width: 480px) {
	.content-panel h3 {
		font-size: 32px;
		margin-bottom: 50px;
	}
}

/* 文章 */
.content-panel p {
	margin: 1em 0;
}

/* リスト */
.content-panel ul {
	padding-left: 1.2em;
}

.table {
	display: table;
	table-layout: fixed;
}

.table-row {
	display: table-row;
}

.table div {
	display: table-row;
}

.table-cell {
	display: table-cell;
}


.table-cell-fixed {
	display: table-cell;
}

.table-row div {
	display: table-cell;
}

.table div div {
	display: table-cell;
}

.table div div:first-child {
	width: 5.5em;
}

/* 章別の設定(治療プログラム) */

#accessibility .program-card {
	box-shadow: 0px 0px 4px rgb(179,137,0);
}

#accessibility .title-panel {
	background: url("../img/program/bg_accessibility.jpg?v=1");
}

#accessibility h3 {
	color: rgb(255,194,0);
}

#stress-management .program-card {
	box-shadow: 0px 0px 4px rgb(160,160,0);
}

#stress-management .title-panel {
	background: url('../img/program/bg_stress-management.jpg?v=1');
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	min-height: 500px;
}

#stress-management h3 {
	color: rgb(210,210,0);
}

#family-meeting .program-card {
	box-shadow: 0px 0px 4px rgb(48,48,255);
}

#family-meeting .title-panel {
	background: url('../img/program/bg_family.jpg?v=1');
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	min-height: 480px;
}

#family-meeting h3 {
	color: rgb(48,48,255);
}

#alcohol .program-card {
	box-shadow: 0px 0px 4px rgb(255,0,138);
}

#alcohol .title-panel {
	background: url('../img/program/bg_alcohol.jpg?v=1');
}

#alcohol h3 {
	color: rgb(255,0,138);
}

#gamble .program-card {
	box-shadow: 0px 0px 4px black;
}

#gamble .title-panel {
	background: url('../img/program/bg_gamble.jpg?v=1');
}

#gamble h3 {
	color: black;
}

#jibun .program-card {
	box-shadow: 0px 0px 4px green;
}

#jibun .title-panel {
	background: url('../img/program/bg_jibun.jpg?v=1');
}

#jibun h3 {
	color: green;
}

#yakuoff .program-card {
	box-shadow: 0px 0px 4px rgb(0,171,202);
}

#yakuoff .title-panel {
	background: url('../img/program/bg_yakuoff.jpg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	min-height: 500px;
}

#yakuoff h3 {
	color: rgb(0,171,202);
}

/* 章別の設定(家族ミーティング) */

#family-meeting-accessibility .program-card {
	box-shadow: 0px 0px 4px rgb(179,137,0);
}

#family-meeting-accessibility h3 {
	color: rgb(255,194,0);
}

#family-meeting-QA1 .program-card {
	box-shadow: 0px 0px 4px rgb(160,160,0);
}

#family-meeting-QA1 h3 {
	color: rgb(210,210,0);
}

#family-meeting-QA2 .program-card {
	box-shadow: 0px 0px 4px rgb(60,120,60);
}

#family-meeting-QA2 h3 {
	color: rgb(80,160,80);
}

#family-meeting-QA3 .program-card {
	box-shadow: 0px 0px 4px rgb(255,0,138);
}

#family-meeting-QA3 h3 {
	color: rgb(255,0,138);
}
