@charset "utf-8"; 

/* ----- css reset(各ブラウザで指定されているスタイルを初期化)と全体設定 ----- */

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, input, textarea, p, th, td, img {
	margin: 0; 
	padding: 0;
	border: 0; 
}

body {
	background-color: #ffffff;
	line-height: 2;	
	font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro"; /*フォントの種類指定(左から優先順位)*/
	font-size: 75%; 
	color: #000000;
}

ol, ul {
	list-style: none;
}

a { 
	color: #0000FF;
	text-decoration: none;
}

a:hover { 
	color: #C74B15;
	text-decoration: underline;
}

.color1 {
	color: #990000;
}

/* ----- ヘッダー(ページの一番上の部分) ----- */

#header {
	position: relative;
	height: 80px;
	width: 900px;
	margin: 10px auto; 
}

/* ----- ロゴ ----- */

#logo {
	position: absolute;
	left: 0; 
	top: 10px;
	line-height: 30px;
	font-family: 'IM Fell Great Primer SC', serif;
	font-size: 2.5em; 
	text-align: center; 
}

#logo a {
	color: #555; 
}

#logo a:hover {
	text-decoration: none; 
}

/* ----- ナビゲーションメニュー(ヘッダー内のメインメニュー) ----- */

#menu {
	position: absolute;
	left: 90px;
	top: 20px; 
	text-align: center;
	display: flex;
	justify-content: space-between;
}

#menu a {
	color: #555;
	font-family: 'IM Fell Great Primer SC', serif;
	font-size: 1.8em;
	text-transform: capitalize;
	text-decoration: none;
	margin-right: 30px;
}

#menu a:hover, #menu a.active {
	color: #b22222;
}

/* ----- 区切り線（グラデーション設定） ----- */

hr.style-one {
	border: 0;
	height: 1px;
	background: #999;
	background-image: -webkit-linear-gradient(left, #eee, #999, #eee); /*背景画像指定*/
	background-image:    -moz-linear-gradient(left, #eee, #999, #eee); /*背景画像指定*/
	background-image:     -ms-linear-gradient(left, #eee, #999, #eee); /*背景画像指定*/
	background-image:      -o-linear-gradient(left, #eee, #999, #eee); /*背景画像指定*/
}

/* ----- h1 ----- */

h1 {
	margin-bottom: 50px; 
	color: #777; 
	font-weight: normal; 
	font-size: 2.2em; 
	text-align: center; 
	background: linear-gradient(to bottom, #fff, #ffffff6e, #ffffff28);
}

/* ----- レイアウト ----- */

#container { 
	width: 900px; 
	margin: 0 auto;
}

#content {
	margin: 50px 0; 
	text-align: center;
}

#content1 {
	margin: 50px 0;
	text-align: center;
	background-color: rgba(233, 233, 221, 0.5);
	border-radius: 15px;
	box-shadow: 0 0 3px #fff;

}

#content2 {
	margin: 50px 0;
	text-align: center; 
	background-color: rgba(237, 248, 243, 0.5);
	border-radius: 15px;
	box-shadow: 0 0 3px #fff;
}

#content3 {
	margin: 50px 0; 
	text-align: center; 
	background-color: rgb(223, 238, 238, 0.5);
	border-radius: 15px;
	box-shadow: 0 0 3px #fff;
}

#content4 {
	margin: 50px 0; 
	text-align: center; 
	background-color: rgb(221, 228, 235, 0.5);
	border-radius: 15px;
	box-shadow: 0 0 3px #fff;
} 

/* ----- フッター(ページの一番下の部分) ----- */

#footer {
	height: 50px;
	width: 100%; 
}

#footer p {
	margin-top: 10px; 
	text-align: center; 
	font-size: 0.75em; 
	color: #000000; 
}

/* ----- コンテンツ ----- */

#content h2 {
	font-size: 2em; 
	font-weight: normal; 
	margin: 10px 0; 
}

#content1 h2 {
	font-size: 2em; 
	font-weight: normal;
	margin: 10px 0; 
}

#content1 h3 {
	color: firebrick;
}


#content2 h2 {
	font-size: 2em; 
	font-weight: normal; 
	margin: 10px 0; 
}

#content2 h3 {
	margin-top: 25px;
	color: #fff;
	background-color: #219b91;
}

#content3 h2 {
	font-size: 2em;
	font-weight: normal; 
	margin: 10px 0; 
}

#content3 h3 {
	color: #fff;
	background-color: rgb(20, 172, 172);
}


#content4 h2 {
	font-size: 2em; 
	font-weight: normal;
	margin: 10px 0; 
}

#content ul {
	margin-bottom: 20px;
}

#content ul li {
	padding: 10px 0; 
	font-size: 1.2em;
}

#content1 ul li {
	padding: 10px 0; 
	font-size: 1.2em;
}

#content2 ul li {
	padding: 10px 0; 
	font-size: 1.2em;
}

#content3 ul li {
	padding: 10px 0; 
	font-size: 1.2em;
}

#content4 ul li {
	padding: 10px 0; 
	font-size: 1.2em; 
}

#content a:hover img {
	border: solid 1px #c9171e;
}

#content1 a:hover img {
	border: solid 1px #c9171e; 
}

#content2 a:hover img {
	border: solid 1px #c9171e; 
}

#content3 a:hover img {
	border: solid 1px #c9171e; 
}

#content4 a:hover img {
	border: solid 1px #c9171e; 
}

#content1 img {
	width: 30%;
}

#content2 img {
	width: 100%;
}

#content3 img {
	width: 100%;
}

/* ----- テーブル設定 ----- */

.ta {
	width: 700px; 
	margin: 0 auto; 
	margin-bottom: 50px; 
	border-collapse: collapse; 
}

.ta th, td {
	border: none; 
	padding: 0 0 10px 10px; 
	font-size: 1.2em; 
	font-weight: normal;
	text-align: center; 
}

/* ----- コンテンツ１・２ ----- */

.content_txt {
	text-align: left;
}

.content_txt span{
	padding: 0 0.3em;
	background-color: #fabec17c;
}

.content_ttl {
	padding-left: 0.5em;
	margin-top: 1em;
	margin-bottom: 1em;
	border:2px solid #c9171e;
	background-color: #c9171e;
	color: #fff;
	font-weight: bold;
}

.topic_box {
	text-align: center;
}

.topic_box span {
	font-weight: bold;
	color: #006666;
}

.topic_box strong {	
	border-radius: 10px;
	border: 1px solid #006666;
	background: teal;
	color: #fff;
	padding: 0.5em 1em;  
	
	box-shadow: 3px 3px #00cccc;
}

.topic_box p {
	top: 1em;
	text-align: center;
	border-radius: 10px;
	border: 2px solid teal;
	background: ghostwhite; 
	padding: 0.5em;	
	margin-bottom: 1.5em;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1); 
}

.cards { 
	display: grid;
	grid-template-columns: 300px 1fr; 
	grid-template-rows: 1fr; 
	gap: 0.5em; 
	margin-bottom: 20px;
}

.card { 
	background: gainsboro; 
	padding: 1.5em;  
	border-radius: 8px; 
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);  
	justify-items: center;
}

.cards strong {
	font-size: 1.2em; 
	font-weight: bold;
	color: #c9171e;	 
}

.card2 { 
	background: ghostwhite; 
	padding: 1.5em; 
	border-radius: 8px; 
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	text-align: left; 
}

.card2 span { 
	background: linear-gradient(ghostwhite 60%, #fabec1 60%);
}

/* ----- コンテンツ３ ----- */

.examples { 
	display: block;
	gap: 1.5em; 
}

.example { 
	background: gainsboro; 
	padding: 1.5em;  
	margin: 1em;
	border-radius: 8px; 
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);  
}

.example p { 
	font-size: 1.2em;
	font-weight: bold;
	color: #006666;
	margin-bottom: 1em;  
}

.example_txt {
	top: 1em;
	text-align: center;
	border-radius: 10px;
	text-decoration:underline dotted black;
	background: ghostwhite; 
	padding: 0.5em;	
	margin-bottom: 1em;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1); 
}

/* ----- コンテンツ４・お問い合わせ ----- */

.content4_txt strong {
	color: #00467f;
}

.contact_wrap {
	display: inline-flex;
}

.tel_box { 
	background: #b0c4de;
	background: radial-gradient(#cddceb, #b0c4de);
	margin: 0.5em;
	padding: 1.5em;  
	border-radius: 8px;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
 
.tel span {
	font-size: 1.2em;
	font-weight: bold;
}

.contact_btn {
	background: #0055a5;
	background: radial-gradient(#066fd1, #00467f);
	margin: 0.5em;
	padding: 1.5em;  
	border-radius: 8px; 
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.contact_btn span {
	display: block;
	color: #fff;
	font-size: 1.2em;
	font-weight: bold;
}

.contact_btn:hover {
	text-decoration: none;
	opacity: 0.8;
}

.pageTop {
    width: 60px;
    height: 60px;
    position: fixed;
    bottom: 10px;
    right: 40px;
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
    z-index: 4;
}
