@charset "utf-8";
/*
 * 小規模な装飾に関する共通のCSS
 */

/* 見出しテキスト */
.c_txt-u60bar{/* テキスト下に60pxのバー */
	letter-spacing: 0.08em;
	text-align: center;
}
.c_txt-u60bar .in{
	position: relative;
	display: inline-block;
	padding-bottom: 10px;
	margin: 0;
	font-family: 'Oswald', sans-serif;
	font-size: 80px;
	font-weight: 600;
	line-height: 1.4;
}
.c_txt-u60bar .in:first-letter{
	color: #214b9f;
}
.c_txt-u60bar .in::before{
	content: '';
	position: absolute;
	bottom: 0px;
	left: 50%;
	display: block;
	background-color: #e3d31c;
	margin-left: -30px;
	width: 60px;
	height: 3px;
	z-index: 3;
}
@media screen and (min-width: 768px) and (max-width: 1139px) {
	.c_txt-u60bar .in{
		font-size: 60px;
	}
}
@media print{
	.c_txt-u60bar .in{
		font-size: 60px;
	}
}
@media screen and (max-width: 767px) {
	.c_txt-u60bar .in{
		font-size: 32px;
	}
	.c_txt-u60bar .in::before{
		margin-left: -20px;
		width: 40px;
	}
}

.c_txt-u54p{/* テキスト下に54%のバー */
	letter-spacing: 0.08em;
	text-align: center;
}
.c_txt-u54p .in{
	position: relative;
	display: inline-block;
	padding-bottom: 30px;
	margin: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 48px;
	font-weight: 600;
	line-height: 1.4;
}
.c_txt-u54p .in::before{
	content: '';
	position: absolute;
	bottom: 0px;
	left: 23%;
	display: block;
	background-color: #214b9f;
	width: 54%;
	height: 6px;
	z-index: 3;
}
@media screen and (min-width: 768px) and (max-width: 1139px) {
	.c_txt-u54p .in{
		font-size: 36px;
	}
}
@media print{
	.c_txt-u54p .in{
		font-size: 32px;
	}
}
@media screen and (max-width: 767px) {
	.c_txt-u54p .in{
		padding-bottom: 20px;
		font-size: 20px;
	}
	.c_txt-u54p .in::before{
		height: 5px;
	}
}




.c_txt-u54p{/* テキスト下に54%のバー */
	letter-spacing: 0.08em;
	text-align: center;
}
.c_txt-u54p .in02{
	position: relative;
	display: inline-block;
	padding-bottom: 30px;
	margin: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 36px;
	font-weight: 600;
	line-height: 1.4;
}
.c_txt-u54p .in02::before{
	content: '';
	position: absolute;
	bottom: 0px;
	left: 23%;
	display: block;
	background-color: #214b9f;
	width: 54%;
	height: 6px;
	z-index: 3;
}
@media screen and (min-width: 768px) and (max-width: 1139px) {
	.c_txt-u54p .in02{
		font-size: 30px;
	}
}
@media print{
	.c_txt-u54p .in02{
		font-size: 28px;
	}
}
@media screen and (max-width: 767px) {
	.c_txt-u54p .in02{
		padding-bottom: 20px;
		font-size: 20px;
	}
	.c_txt-u54p .in02::before{
		height: 5px;
	}
}



.c_txt-bgdot{/* 背景あり、テキスト中にバー */
	background-image: url(../img/common/c_txt-bgdot.png);
	background-repeat: repeat;
	padding: 0 10px 10px 0;
}
.c_txt-bgdot .in{
	background-color: white;
	padding: 12px 10px;
}
.c_txt-bgdot .in .main{
	display: inline-block;
	padding-right: 25px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 600;
	color: #214b9f;
}
.c_txt-bgdot .in .sub{
	position: relative;
	top: -6px;
	display: inline-block;
	padding-left: 50px;
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	color: #8d8d8d;
}
.c_txt-bgdot .in .sub::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 0px;
	display: block;
	background-color: #8d8d8d;
	margin-top: -1px;
	width: 25px;
	height: 1px;
	z-index: 3
}
@media screen and (max-width: 767px) {
	.c_txt-bgdot{
		padding: 0 5px 5px 0;
	}
	.c_txt-bgdot .in{
		background-color: white;
		padding: 5px;
		text-align: right;
	}
	.c_txt-bgdot .in .main{
		display: block;
		padding-right: 0px;
		text-align: left;
	}
	.c_txt-bgdot .in .sub{
		top: 0px;
		padding-left: 30px;
		margin: 0;
	}
	.c_txt-bgdot .in .sub::before{
		width: 20px;
	}
}

.c_txt-rubar{/* テキスト右下にバー */
	position: relative;
}
.c_txt-rubar::before{
	content: '';
	position: absolute;
	bottom: 5px;
	left: 0px;
	display: block;
	background-color: #214b9f;
	width: 100%;
	height: 1px;
	z-index: 3;
}
.c_txt-rubar .in{
	position: relative;
	top: 4px;
	display: inline-block;
	background-color: white;
	padding: 2px 20px 2px 0;
	color: #214b9f;
	line-height: 1.4;
	z-index: 6;
}


/* 未使用見出し例ここから */
.c_txt-lgbar{/* テキスト前にグラデの縦バー */
	position: relative;
	padding-left: 25px;
}
.c_txt-lgbar::before{
	content: '';
	position: absolute;
	top: 0px;
	left: 0px;
	display: block;
	background: linear-gradient(0deg, #dadf4d 0%, #56cc7c 100%);
	-webkit-background: linear-gradient(0deg, #dadf4d 0%, #56cc7c 100%);
	-moz-background: linear-gradient(0deg, #dadf4d 0%, #56cc7c 100%);
	width: 6px;
	height: 100%;
	z-index: 3;
}
.c_txt-lgbar .txt01{
	margin: 0;
	font-size: 14px;
}
.c_txt-lgbar .txt02{
	margin: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 45px;
	font-weight: 600;
	line-height: 1.2;
}
@media screen and (min-width: 768px) and (max-width: 1139px) {
	.c_txt-lgbar .txt01{
		font-size: 12px;
	}
	.c_txt-lgbar .txt02{
		font-size: 35px;
	}
}
@media print{
	.c_txt-lgbar .txt01{
		font-size: 12px;
	}
	.c_txt-lgbar .txt02{
		font-size: 35px;
	}
}
@media screen and (max-width: 767px) {
	.c_txt-lgbar .txt01{
		font-size: 10px;
	}
	.c_txt-lgbar .txt02{
		font-size: 26px;
	}
}

.c_txt-30bar{/* テキスト左右に30pxのバー */
	text-align: center:
}
.c_txt-30bar .in{
	position: relative;
	display: inline-block;
}
.c_txt-30bar .in::before{
	content: '';
	position: absolute;
	top: 50%;
	left: -50px;
	display: block;
	background-color: #171717;
	width: 30px;
	height: 1px;
	z-index: 3;
}
.c_txt-30bar .in::after{
	content: '';
	position: absolute;
	top: 50%;
	right: -50px;
	display: block;
	background-color: #171717;
	width: 30px;
	height: 1px;
	z-index: 3;
}
@media screen and (max-width: 767px) {
	.c_txt-30bar .in::before{
		left: -30px;
		width: 20px;
	}
	.c_txt-30bar .in::after{
		right: -30px;
		width: 20px;
	}
}

.c_txt-u940bar{/* テキスト下に940pxの太いバー */
	position: relative;
	padding-top: 34px;
	letter-spacing: 0.08em;
	text-align: center;
}
.c_txt-u940bar .txt{
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	color: #3acbbf;
	text-align: center;
	z-index: 3;
}
.c_txt-u940bar .in{
	position: relative;
	display: inline-block;
	padding-bottom: 26px;
	font-family: "BIZ UDGothic", 'Noto Sans JP', sans-serif;
}
.c_txt-u940bar .in::before{
	content: '';
	position: absolute;
	bottom: 0px;
	left: 50%;
	display: block;
	background-color: #38a2c9;
	margin-left: -470px;
	width: 940px;
	height: 6px;
	z-index: 3;
}
@media screen and (min-width: 768px) and (max-width: 1139px) {
	.c_txt-u940bar{/* テキスト下に940pxの太いバー */
		padding-top: 30px;
	}
	.c_txt-u940bar .txt{
		font-size: 12px;
	}
	.c_txt-u940bar .in{
		display: block;
		padding-bottom: 22px;
	}
	.c_txt-u940bar .in::before{
		left: 10%;
		margin-left: 0px;
		width: 80%;
		height: 5px;
	}
}
@media print{
	.c_txt-u940bar{/* テキスト下に940pxの太いバー */
		padding-top: 30px;
	}
	.c_txt-u940bar .txt{
		font-size: 12px;
	}
	.c_txt-u940bar .in{
		display: block;
		padding-bottom: 22px;
	}
	.c_txt-u940bar .in::before{
		left: 10%;
		margin-left: 0px;
		width: 80%;
		height: 5px;
	}
}
@media screen and (max-width: 767px) {
	.c_txt-u940bar{/* テキスト下に940pxの太いバー */
		padding-top: 20px;
	}
	.c_txt-u940bar .txt{
		font-size: 10px;
	}
	.c_txt-u940bar .in{
		padding-bottom: 18px;
	}
	.c_txt-u940bar .in::before{
		left: 4%;
		margin-left: 0px;
		width: 92%;
		height: 4px;
	}
}

.c_txt-u60pbar{/* テキスト下に60%のバー */
	position: relative;
	letter-spacing: 0.08em;
	text-align: center;
}
.c_txt-u60pbar .in{
	position: relative;
	display: inline-block;
	padding-bottom: 26px;
	font-family: "BIZ UDGothic", 'Noto Sans JP', sans-serif;
}
.c_txt-u60pbar .in::before{
	content: '';
	position: absolute;
	bottom: 0px;
	left: 20%;
	display: block;
	background-color: #38a2c9;
	width: 60%;
	height: 3px;
	z-index: 3;
}
@media screen and (min-width: 768px) and (max-width: 1139px) {
	.c_txt-u60pbar .in{
		padding-bottom: 22px;
	}
}
@media print{
	.c_txt-u60pbar .in{
		padding-bottom: 22px;
	}
}
@media screen and (max-width: 767px) {
	.c_txt-u60pbar .in{
		padding-bottom: 18px;
	}
}

.c_txt-u120bar{/* テキスト下に120pxのバー */
	position: relative;
	letter-spacing: 0.08em;
	text-align: center;
}
.c_txt-u120bar .in{
	position: relative;
	display: inline-block;
	padding-bottom: 26px;
	font-family: "BIZ UDGothic", 'Noto Sans JP', sans-serif;
}
.c_txt-u120bar .in::before{
	content: '';
	position: absolute;
	bottom: 0px;
	left: 50%;
	display: block;
	background-color: #3acbbf;
	margin-left: -60px;
	width: 120px;
	height: 3px;
	z-index: 3;
}
@media screen and (max-width: 767px) {
	.c_txt-u120bar .in{
		padding-bottom: 20px;
	}
	.c_txt-u120bar .in::before{
		margin-left: -40px;
		width: 80px;
		height: 2px;
	}
}

.c_txt-bgbar{/* 背景色あり、テキスト前にバー */
	position: relative;
	background-color: #38a2c9;
	padding: 7px 10px 5px 40px;
	color: white;
	font-weight: 400;
}
.c_txt-bgbar::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 10px;
	display: block;
	background-color: white;
	margin-top: -1px;
	width: 20px;
	height: 2px;
	z-index: 3;
}
@media screen and (max-width: 767px) {
	.c_txt-bgbar{/* 背景色あり、テキスト前にバー */
		padding: 7px 10px 5px 28px;
	}
	.c_txt-bgbar::before{
		left: 5px;
		width: 15px;
	}
}

.c_txt-udoublebar{/* テキスト下に二重線 */
	position: relative;
	background-image: url(../img/common/tit_ic01.png);
	background-size: 18px auto;
	background-position: left center;
	background-repeat: no-repeat;
	padding: 4px 0 4px 35px;
}
.c_txt-udoublebar::before{
	content: '';
	position: absolute;
	bottom: 0px;
	left: 0px;
	display: block;
	background-color: #38a2c9;
	width: 100%;
	height: 1px;
	z-index: 3;
}
.c_txt-udoublebar::after{
	content: '';
	position: absolute;
	bottom: 3px;
	left: 0px;
	display: block;
	background-color: #38a2c9;
	width: 100%;
	height: 3px;
	z-index: 3;
}
@media screen and (max-width: 767px) {
	.c_txt-udoublebar{/* テキスト下に二重線 */
		position: relative;
		background-size: 12px auto;
		padding: 4px 0 4px 20px;
	}
}
/* 未使用見出し例ここまで */


/* テキスト装飾 */
.check_list{/* チェックマーク付きリスト */
	overflow: hidden;
}
.check_list li{
	background-image: url(../img/common/ic_check.png);
	background-position: left 5px;
	background-repeat: no-repeat;
	padding: 3px 0 3px 32px;
}

.bgtxt_list{/* 緑バック白抜き文字 */
	display: inline-block;
	background-color: #129d1e;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	padding: 6px 15px 4px 15px;
	color: white;
}
.bgtxt_list:hover{
	color: white;
}
@media screen and (max-width: 767px) {
	.bgtxt_list{/* 緑バック白抜き文字 */
		display: block;
	}
}


/* ボタン装飾 */
.c_bt01{
	overflow: hidden;
}
.c_bt01 a{/* 角は小さめの丸み */
	position: relative;
	display: block;
	border: #214b9f solid 2px;
	background-color: white;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	padding: 8px 0 6px 0;
	text-align: center;
	color: #214b9f;
}
.c_bt01 .c_bt-cir{/* 角が完全な丸の場合 */
	border-radius: 60px;
	-webkit-border-radius: 60px;
	-moz-border-radius: 60px;
}
.c_bt01 a .bt_arrow{
	position: absolute;
	top: 8px;
	right: 20px;
	z-index: 6;
}
.c_bt01 a .bt_txt{
	position: relative;
	z-index: 6;
}
.c_bt01 a{/* ホバー時の設定 */
	overflow: hidden;
	position: relative;
	text-decoration: none;
}
.c_bt01 a::after{
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	background-color: #eaf0fa;/* 背景色 */
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .06s;
}
.c_bt01 .c_bt-cir::after{
	border-radius: 60px;
	-webkit-border-radius: 60px;
	-moz-border-radius: 60px;
}
.c_bt01 a:hover::after{
	transform: scale(1, 1);
}

.c_bt02{
	overflow: hidden;
}
.c_bt02 a{
	position: relative;
	display: block;
	border: #129d1e solid 1px;
	background-color: white;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	padding: 8px 0 6px 0;
	text-align: center;
	color: #129d1e;
}
.c_bt02 a .bt_arrow{
	position: absolute;
	top: 8px;
	right: 20px;
	z-index: 6;
}
.c_bt02 a .bt_txt{
	position: relative;
	z-index: 6;
}
.c_bt02 a{/* ホバー時の設定 */
	position: relative;
	text-decoration: none;
}
.c_bt02 a::after{
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	background-color: #cef8d2;/* 背景色 */
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .1s;
}
.c_bt02 a:hover::after{
	transform: scale(1, 1);
}


/* 背景layout */
.c_text-bg01{/* 背景色白抜き文字上方のみ角丸 */
	background-color: #38a2c9;
	border-radius: 20px 20px 0px 0px;
	-webkit-border-radius: 20px 20px 0px 0px;
	-moz-border-radius: 20px 20px 0px 0px;
	padding: 15px 0;
	color: white;
}

.c_bg-eefcef{/* 背景色単色 */
	background-color: #eefcef;
}


/* 青枠と見出し、余白多め */
.c_textbox01{
	border: #38a2c9 solid 1px;
	background-color: white;
	padding: 20px;
}
.c_textbox01 .box_tit{
	display: inline-block;
	background-color: #38a2c9;
	border-radius: 60px;
	-webkit-border-radius: 60px;
	-moz-border-radius: 60px;
	padding: 10px 80px 8px 80px;
	color: white;
}
@media screen and (max-width: 767px) {
	.c_textbox01{
		padding: 15px;
	}
	.c_textbox01 .box_tit{
		display: block;
		padding: 10px 0px 8px 0px;
		text-align: center;
	}
}

/* 青枠と見出し、余白少なめ */
.c_textbox02{
	border: #38a2c9 solid 1px;
	background-color: white;
	padding: 5px;
}
.c_textbox02 .box_tit{
	background-color: #38a2c9;
	padding: 10px 15px 8px 15px;
	color: white;
}


/* googlemapレスポンシブ */
.c_gmap{
	overflow: hidden;
	position: relative;
	margin: 0;
	width: 100%;
	height: 460px;
}
.c_gmap iframe,
.c_gmap object,
.c_gmap embed{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 767px) {
	.c_gmap{
		height: 260px;
	}
}


/* YouTubeレスポンシブ */
.c_youtube{
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.c_youtube iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}


/* ページ先頭へのリンク */
#pagetop{
	position: fixed;
	bottom:20px;
	right:10px;
	z-index:100;
}
@media screen and (min-width: 768px) and (max-width: 1139px) {
	#pagetop img{
		width: 45px;/* sp時サイズ指定 */
	}
}
@media print{
	#pagetop{
		display: none !important;
	}
}
@media screen and (max-width: 767px) {
	#pagetop img{
		width: 40px;/* sp時サイズ指定 */
	}
}


/* ankerリンク余白 */
.anker_po{
	position: relative;
	top: -20px;
	display: block;
}
@media screen and (max-width: 767px) {
	.anker_po{
		top: -70px;
	}
}
