@charset "utf-8";

/* ------------------------------
 見出し
------------------------------ */
.contentsHome .box_title {
	width: 1220px;
	padding: 34px 0 25px;
	margin: 0 auto;
	position: relative;
}

/* メインイメージ内見出し */
.mainimgTop h1 {
	width: 1220px;
	font-size: 4.8rem;
	line-height: 1;
	color: #fff;
	margin: 0 auto;
	padding-top: 115px;
	text-align: left;
}
.mainimgPage h1 {
	width: 1220px;
	font-size: 3.6rem;
	line-height: 1;
	color: #fff;
	margin: 0 auto;
	padding-top: 80px;
	text-align: left;
}
/* 見出しh2 */
.contentsHome h2 {
	color: #0073BC;
	text-align: center;
}
.contentsHome h2 span {
	font-family: 'Vollkorn', sans-serif;
	font-size: 4.0rem;
	line-height: 1;
	display: block;
}
.contentsWide h2,
.contentsPage h2 {
	font-size: 2.4rem;
	font-weight: bold;
	color: #0073BC;
	padding-bottom: 5px;
	margin-bottom: 30px;
	border-bottom: solid 3px #0073BC;
}
.no_line h2 {
	font-size: 3rem;
	padding-bottom: 0;
	border-bottom: none;
}

/* 見出しh3 */
.contentsWide h3,
.contentsPage h3,
.iconLink .cms_caption_b,
.contents_navi.four .cms_image p {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: left;
	margin-bottom: 15px;
	padding-left: 20px;
	position: relative;
}
.contentsWide h3:before,
.contentsPage h3:before,
.iconLink .cms_caption_b:before {
	content: "";
	width: 8px;
	height: 8px;
	position: absolute;
	top: 7px;
	left: 0;
	border-radius: 16px;
	border: solid 4px #0073BC;
}
.contentsPage h3 small {
	font-weight: normal;
	margin-left: 10px;
	display: inline-block;
}
/* 見出しh3 アイコン無 */
.contents .h3_noicon,
.contents .large {
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 15px;
	padding-left: 0;
}
.contents .h3_noicon:before {
	display: none;
}

/* コンテンツメニュー見出しh3 */
.contents_navi li h3,
.contents_navi.four .cms_image p {
	color: #333;
	text-align: left;
	margin-top: 10px;
	padding-left: 25px;
	margin-bottom: 10px;
	position: relative;
	font-weight: bold;
}
.contents_navi li h3:before,
.contents_navi.four .cms_image p:before {
	font-family: 'FontAwesome';
	font-size: 1.6rem;
	content: "\f105";
	line-height: 18px;
	color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	width: 18px;
	height: 20px;
	margin-top: 6px;
	padding-left: 2px;
	text-align: center;
	border-radius: 10px;
	background: #03A9F4;
	border: none;
}

/* 大文字見出し */
.contentsWide.top h2,
.contents .mainLead {
	font-size: 3.6rem;
	font-weight: bold;
	margin-bottom: 30px;
	color: #333;
	padding-bottom: 0;
	border-bottom: none;
}
.contents .contentsMain .mainLead,
.contents .contentsMain .mainLead h2,
.contents .mainLead.small {
	font-size: 2.6rem;
	font-weight: bold;
	color: #333;
	margin-bottom: 20px;
	padding-bottom: 0;
	border-bottom: none;
}

.f30Title {
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
}


/* ------------------------------
 スマホ用コード（見出し）
------------------------------ */
@media screen and (max-width: 767px) {
	.contentsHome .box_title {
		width: auto;
	}
	/* メインイメージ内見出し */
	.mainimgTop h1 {
		width: 90%;
		font-size: 2.4rem;
		margin: 0 auto;
		padding-top: 85px;
	}
	.mainimgPage h1 {
		width: 90%;
		font-size: 2.4rem;
		margin: 0 auto;
		padding-top: 70px;
	}
	
	.contentsWide h2,
	.contentsPage h2 {
		font-size: 2.0rem;
		margin-bottom: 15px;
	}
	.no_line h2 {
		font-size: 2.4rem;
	}
	.contentsPage h3,
	.contents .h3_noicon,
	.contents .large,
	.iconLink .cms_caption_b {
		font-size: 1.8rem;
		margin-bottom: 10px;
	}
	.contentsPage h3:before,
	.iconLink .cms_caption_b:before {
		top: 5px;
	}
	.contents_navi li h3:before,
	.contents_navi.four .cms_image p:before {
		top: -1px;
	}
	
	/* 大文字見出し */
	.contentsWide.top h2,
	.contents .mainLead {
		font-size: 2.8rem;
		margin-bottom: 15px;
	}
	.contents .contentsMain .mainLead,
	.contents .contentsMain .mainLead h2,
	.contents .mainLead.small {
		font-size: 2.2rem;
		margin-bottom: 15px;
	}
	
	.f30Title {
		font-size: 2.4rem;
	}
}

@media screen and (max-width: 479px) {
	.contentsHome h2 span {
		font-size: 2.4rem;
	}
	.contentsWide h2,
	.contentsPage h2 {
		font-size: 1.8rem;
	}
	.no_line h2 {
		font-size: 2.2rem;
	}
	.contentsPage h3 {
		font-size: 1.7rem;
	}
	.contentsPage h3:before {
		top: 4px;
	}
	
	/* メインイメージ内見出し */
	.mainimgTop h1 {
		font-size: 2rem;
		padding-top: 60px;
	}
	.mainimgPage h1 {
		font-size: 2rem;
		padding-top: 50px;
	}
	
	/* 大文字見出し */
	.contentsWide.top h2,
	.contents .mainLead {
		font-size: 2.4rem;
	}
}


/* ------------------------------
 ボックス
------------------------------ */
/* サイドあり 1/4 */
.w210 {
	width: 210px;
}

/* サイドあり 1/3 */
.w287 {
	width: 287px;
}

/* サイドあり 1/2 */
.w442 {
	width: 442px;
}

.w360 {
	width: 360px;
}
.w420 {
	width: 420px;
}
.w585 {
	width: 585px;
}
.w598 {
	width: 598px;
}


.w1220 {
	width: 1220px;
	margin-left: auto;
	margin-right: auto;
}

/* ------------------------------
 スマホ用コード（ボックス）
------------------------------ */
@media screen and (max-width: 767px) {
	.w210 {
		width: 48%;
	}
	.w287,
	.w442,
	.w420,
	.w360,
	.w585,
	.w598 {
		width: 100%;
	}
	
	.w1220 {
		width: 100%;
	}
}


/* ------------------------------
 テーブル
------------------------------ */
.contents table {
	width: 100%;
}

/* デフォルト */
table {
	border-top: solid 1px #E6E6E6;
}
table tr {
	border-bottom: solid 1px #E6E6E6;
}
table th {
	padding: 12px 0 12px 10px;
	font-weight: bold;
	text-align: left;
}
table td {
	padding: 12px 0 12px 10px;
}

/* 一覧 */
.list table tr:nth-child(odd) {
	background: #F2F2F2;
}
.list table th {
	font-size: 1.4rem;
	line-height: 1.2;
	color: #fff;
	background: #808080;
	border: none;
	text-align: left;
	padding: 5px 8px;
}
.list table td {
	text-align: left;
	border: none;
	padding: 10px 0 10px 11px;
}
.list table td a {
	font-weight: bold;
}

/* th青 */
.blue_th table th {
	font-size: 1.4rem;
	color: #fff;
	padding: 12px 10px;
	vertical-align: middle;
	text-align: center;
	background: #0073BC;
}

.blue_th table td {
	font-size: 1.4rem;
}


/* ------------------------------
 スマホ用コード（テーブル）
------------------------------ */
@media screen and (max-width: 479px) {
	.contents .res table {
		border-bottom: solid 1px #E6E6E6;
	}
	.contents .res table th {
		width: auto !important;
		display: block;
		padding-bottom: 5px;
	}
	.contents .res table td {
		width: auto !important;
		display: block;
		border-top: none;
		border-bottom: none;
		padding-top: 5px;
	}
	
	/* 一覧 */
	.list table th {
		display: none;
	}
	.list table td {
		width: 100% !important;
		display: block;
		padding: 3px 10px;
	}
	.list table td:first-child {
		padding-top: 10px;
	}
	.list table td:last-child {
		padding-bottom: 10px;
	}
}

/* ------------------------------
 囲み
------------------------------ */
/* 水色角丸背景 */
.color {
	padding: 22px 30px;
	border-radius: 8px;
	background: #EBF4FA;
}

/* 青タイトル青背景 */
.blueBg {
	background: #cce3f2;
	padding: 0 22px 22px 22px;
	position: relative;
}
.blueBg .blueTitle {
	background: #0073BC;
	color: #fff;
	text-align: center;
	line-height: 24px;
	font-size: 2rem;
	padding: 8px;
	margin: 0 -22px 22px;
	font-weight: bold;
}

/* シルバーライン */
.grayLine {
	border: 5px solid #e6e6e6;
	border-radius: 16px;
	padding: 25px 35px;
}


/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.color.side {
		padding: 18px 20px;
	}
}
/* ------------------------------
 スマホ用コード（テーブル）
------------------------------ */
@media screen and (max-width: 479px) {
	.blueBg {
		background: #cce3f2;
		padding: 0 15px 15px 15px;
	}
	.blueBg .blueTitle {
		font-size: 1.8rem;
		margin: 0 -15px 15px;
	}
}

/* ------------------------------
 リスト
------------------------------ */
.cms_text ul li {
	margin-bottom: 5px;
	padding-left: 1.2em;
	position: relative;
}

.cms_text ul li:before {
	content: "●";
	margin: 0 5px 0 3px;
	font-size: 1.1rem;
	line-height: 2;
	color: #0073BC;
	vertical-align: top; 
	position: absolute;
	top: 0;
	left: 0;
}
/* 横並びリスト */
.side ul:after {
	content: "";
	clear: both;
	display: block;
}
.side ul li {
	float: left;
	margin-right: 25px;
}

/* 1. 2. 3. … リスト */
.cms_text ol {
	list-style-type: decimal;
	padding-inline-start: 1.8em;
}
/* ローマ字1. 2. 3. … リスト */
.roma ol {
	list-style-type: upper-roman !important;
}

/* 注釈（※） */
.notes ul li {
	font-size: 1.4rem;
	margin-bottom: 0;
}
.notes ul li:before {
	content: "※";
	margin: 0 6px 0 0;
	font-size: 1.4rem;
	line-height: 1.5;
	color: #333;
}

/* 注釈（※1,※2,※3 …） */
.notes ol {
	list-style: none;
	padding-inline-start: 0;
}
.notes ol li {
	font-size: 1.4rem;
	padding-left: 2em;
	margin-bottom: 0;
	position: relative;
}
.notes ol li:before {
	content: "※";
	margin: 0 10px 0 0;
	font-size: 1.4rem;
	line-height: 1.5;
	color: #333;
	position: absolute;
	top: 0;
	left: 0;
}
.notes ol li:nth-child(1):before {
	content: "※1";
}
.notes ol li:nth-child(2):before {
	content: "※2";
}
.notes ol li:nth-child(3):before {
	content: "※3";
}
.notes ol li:nth-child(4):before {
	content: "※4";
}
.notes ol li:nth-child(5):before {
	content: "※5";
}

/* 各店舗アイコン */
.items ul {
	font-size: 0;
}
.items li {
	padding-right: 5px;
	display: inline-block;
	padding-left: 0 !important;
	text-indent: 0 !important;
	margin-bottom: 0;
}
.items li:before {
	display: none;
}
.items li:last-child {
	padding-right: 0;
}
.items li span {
	font-size: 11px;
	font-weight: bold;
	color: #fff;
	line-height: 1.2;
	text-align: center;
	vertical-align: middle;
	width: 45px;
	height: 36px;
	border-radius: 4px;
	-ms-border-radius: 4px;
	display: table-cell;
}
.items li span.item_no {
	background: #e6e6e6;
}
.items li span.item01 {
	background: #CA4B5B;
}
.items li span.item02 {
	background: #DB6991;
}
.items li span.item03 {
	background: #F6C459;
}
.items li span.item04 {
	background: #BCCD5A;
}
.items li span.item05 {
	background: #85BB65;
}
.items li span.item06 {
	background: #4CAA7E;
}
.items li span.item07 {
	background: #53BCBF;
}
.items li span.item08 {
	background: #53B1E3;
}
.items li span.item09 {
	background: #5081BB;
}
.items li span.item10 {
	background: #6D689C;
}
.items li span.item11 {
	background: #976694;
}
.items li span.item12 {
	background: #E68569;
}


/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	/* 横並びリスト */
	.side ul li {
		float: none;
		margin-right: 0;
	}
	
	/* 各店舗アイコン */
	.items li {
		margin-bottom: 1%;
	}
}
/* ------------------------------
 ページ内リンク
------------------------------ */
.pageLink {
	background: #ebf4fa;
	border-radius: 8px;
	padding: 15px 30px;
}
.pageLink li {
	float: left;
	margin-right: 60px;
}
.pageLink li:last-child {
	margin-right: 0;
}
.pageLink ul li:before {
	font-family: 'FontAwesome';
	content: "\f13a";
	font-size: 1.5rem;
	line-height: 1.8;
}
.pageLink li a {
	color: #333;
}

/* ------------------------------
 ボタン
------------------------------ */
a .button,
a.button,
.button a {
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	color: #fff;
	min-width: 200px;
	padding: 9px;
	border-radius: 4px;
	-ms-border-radius: 4px;
	display: inline-block;
	background: #0174bc;
	background: linear-gradient(#328ec9, #0174bc);
	background: -moz-linear-gradient(top, #328ec9, #0174bc);
	background: -webkit-gradient(linear, left top, left bottom, from(#328ec9), to(#0174bc));
	-webkit-transition: 0.1s ease-in-out;
	-moz-transition: 0.1s ease-in-out;
	-o-transition: 0.1s ease-in-out;
	transition: 0.1s ease-in-out;
}
a .button:hover,
a.button:hover,
.button a:hover {
	opacity: 0.7;
	text-decoration: none;
}

a .btn-a,
a.btn-a,
.btn-a a {
	font-size: 2rem;
	min-width: 400px;
	padding: 15px 20px;
}
.w442 a .btn-a,
.w442 a.btn-a,
.w442 .btn-a a {
	min-width: 300px;
}

.w287.btn-a a {
	min-width: 287px;
}

a .btn-b,
a.btn-b,
.btn-a b {
	background: #0174bc;
	background: linear-gradient(#808080, #4d4d4d);
	background: -moz-linear-gradient(top, #808080, #4d4d4d);
	background: -webkit-gradient(linear, left top, left bottom, from(#808080), to(#4d4d4d));
	line-height: 36px;
	padding: 0;
}
a .btn-c,
a.btn-c,
.btn-c a {
	font-size: 3rem;
	min-width: 598px;
	padding: 25px 20px;
}


/* お問合せボタンボックス */
.contactBtn {
	text-align: center;
}
.contactBtn .button {
	display: inline-block;
	margin: 0 10px 5px;
}
.contactBtn .button a {
	font-size: 2rem;
	min-width: 300px;
	padding: 15px;
}

/* お問合せボックス */
.contact {
	background: #ebf4fa;
    border-radius: 8px;
    padding: 22px 30px;
    text-align: center;
}
.contact div {
	font-size: 4rem;
	color: #0073BC;
}
.contact span {
	color: #0073BC;
}

/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	a .button,
	a.button,
	.button a,
	.w442 a .button,
	.w442 a.button,
	.w442 .button a
	 {
		min-width: 90%;
	}
	.w287.button a {
		min-width: 100%;
	}
	
	a .btn-a,
	a.btn-a,
	.btn-a a {
		font-size: 2rem;
		padding: 13px 10px;
	}
	
	a .btn-c,
	a.btn-c,
	.btn-c a {
		font-size: 2.4rem;
		min-width: 90%;
		padding: 20px 20px;
	}
	
	/* お問合せボタンボックス */
	.contactBtn .button {
		margin: 0 0 5px;
		display: block;
	}
	.contactBtn .button a {
		font-size: 1.6rem;
		min-width:100%;
	}
	
	/* お問合せボックス */
	.contact {
		padding: 20px 25px;
	}
	.contact div {
		font-size: 2.4rem;
	}
	.contact span {
		font-size: 1.8rem;
	}
	.contact span strong {
		display: block;
	}
}

/* ------------------------------
 アイコン
------------------------------ */
.blank {
	padding-right: 20px;
	background: url(../img/blank_icon.gif) no-repeat right center;
}

.icon01 {
	position: relative;
	padding-left: 20px;
}
.icon01:before {
	font-family: 'FontAwesome';
	content: "\f105";
	line-height: 16px;
	color: #fff;
	position: absolute;
	top: 50%;
	left: auto;
	width: 14px;
	height: 16px;
	margin-top: -8px;
	margin-left: -20px;
	text-align: center;
	padding-left: 2px;
	border-right: none;
	border-radius: 8px;
	background: #03A9F4;
}
