@charset "utf-8";
/* ========================================================
	template.css => テンプレート用CSS
======================================================== */

html {
	font-size: 62.5%;
}
body {
	background-color: #fff;
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.8;
	color: #1a1a1a;

	/* ヒラギノベース */
	/*font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;*/
	/* 游ゴシックベース */
	font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;
	/* メイリオベース */
	/*font-family: "メイリオ", "Meiryo", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Verdana, Arial, Helvetica, sans-serif;*/
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
@media screen and (max-width: 768px) {
	body {
		font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;
	}
}
*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.8;
}
a[href] {
	color: #048ebf;
	text-decoration: underline;
	outline: none;
}
a[href]:hover {
	text-decoration: none;
}
a[href].a_reverse,
.a_reverse a[href] {
	text-decoration: none;
}
a[href].a_reverse:hover,
.a_reverse a[href]:hover {
	text-decoration: underline;
}
a[href^="http"],
a[href^="mailto:"] {
	word-wrap : break-word;
	overflow-wrap : break-word;
}

label {
	cursor: pointer;
}
input, select, textarea, button {
	max-width: 100%;
	margin: 0;
	vertical-align: middle;
	font-family: inherit;
	outline: none;
	font-size: 100%;
}

button {
	cursor: pointer;
}
iframe {
	max-width: 100%;
	vertical-align: middle;
}

.hidden {
	display: none;
}
.slick-slider * {
	outline: none;
}

@media screen and (max-width: 768px) {
	img {
		max-width: 100%;
		height: auto;
	}
}


/* pc / sp
============================================================================================================ */
.sp,
.spl,
.sps {
	display: none !important;
}
@media screen and (min-width: 769px), print {
	.pc_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}
}
@media screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
	img.sp, span.sp, br.sp, em.sp, strong.sp {
		display: inline !important;
	}
	table.sp {
		display: table !important;
	}
	td.sp, th.sp {
		display: table-cell !important;
	}
	.sp_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}

	.sp_center {
		text-align: center;
	}
}
@media screen and (max-width: 768px) and (min-width: 371px) {
	.spl {
		display: block !important;
	}
	img.spl, splan.spl, br.spl, em.spl, strong.spl {
		display: inline !important;
	}
	.spl_non {
		display: none !important;
	}
}
@media screen and (max-width: 370px) {
	.sps {
		display: block !important;
	}
	img.sps, spsan.sps, br.sps, em.sps, strong.sps {
		display: inline !important;
	}
	.sps_non {
		display: none !important;
	}
}

/* sp
============================================================================================================ */
@media screen and (max-width: 768px) {
	*[data-label] img {
		display: none !important;
	}
	*[data-label]:before {
		content: attr(data-label);
	}
	*[data-label-r]:after {
		display: block;
		content: attr(data-label-r);
	}
	.sp_tac {
		text-align: center;
	}
}
@media screen and (min-width: 371px) {
	*[data-label-r].spl_r_inline:after {
		display: inline;
	}
}

/* color
============================================================================================================ */
.c_theme,
a.c_theme {
	color: #048ebf;
}
.c_white,
a.c_white {
	color: #fff;
}
.c_black,
a.c_black {
	color: #1a1a1a;
}

/* bg
============================================================================================================ */
.bg_gray {
	background-color: #fafafa;
}

/* transition
============================================================================================================ */
@media screen and (min-width: 769px) {
	a[href],
	a[href]:before,
	a[href]:after,
	button,
	.basic_trs,
	.basic_trs:before,
	.basic_trs:after,
	.basic_trs *,
	.basic_trs *:before,
	.basic_trs *:after {
		-webkit-transition: color 0.2s, background 0.2s, border 0.2s, opacity 0.2s;
		-o-transition: color 0.2s, background 0.2s, border 0.2s, opacity 0.2s;
		transition: color 0.2s, background 0.2s, border 0.2s, opacity 0.2s;
	}
}

/* font size
============================================================================================================ */
.fz_ss {
}
.fz_s {
	font-size: 1.3rem;
}
.fz_m {
	font-size: 1.4rem;
}
.fz_ml {
	font-size: 1.8rem;
}
.fz_l {
	font-size: 2rem;
	line-height: 1.6;
}
.fz_ll {
}
@media screen and (max-width: 768px) {
	.fz_s {
		font-size: 1.1rem;
	}
	.fz_m {
		font-size: 1.2rem;
	}
	.fz_ml {
		font-size: 1.4rem;
	}
	.fz_l {
		font-size: 1.5rem;
	}
}

/* font family
============================================================================================================ */
.ff_min {
	font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "ヒラギノ明朝 ProN W3", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "HiraMinProN-W3", "游明朝", YuMincho, "HGS明朝E", "HG明朝E", "メイリオ", Meiryo, serif;
}
.ff_en {
	font-family: 'Futura-Light', 'Futura Light', 'Futura', 'Century Gothic', 'CenturyGothic', 'Apple Gothic', 'AppleGothic', 'URW Gothic L', 'Nunito', sans-serif;
	font-weight: 300;
}


/* font
============================================================================================================ */
.fwb {
	font-weight: bold;
}



/* display
============================================================================================================ */
.db {
	display: block;
}
.dib {
	display: inline-block;
}
.dtable {
	display: table;
}
.dtable.w100p {
	width: 100%;
}
.dtable.fixed {
	table-layout: fixed;
}
.dtable > * {
	display: table-cell;
	vertical-align: middle;
}
@media screen and (min-width: 769px), print {
	.pc_dtable {
		display: table;
	}
	.pc_dtable.w100p {
		width: 100%;
	}
	.pc_dtable.fixed {
		table-layout: fixed;
	}
	.pc_dtable > * {
		display: table-cell;
		vertical-align: middle;
	}
}

/* w
============================================================================================================ */
.w {
	position: relative;
	width: 980px;
	margin: 0 auto;
}
.w:after {
	content: ""; display: table; clear: both;
}
.mw {
	min-width: 1040px;
}
.xw {
	max-width: 1420px;
	margin: auto;
	padding: 0 10px;
}
.xw:after {
	content: ""; display: table; clear: both;
}
@media screen and (max-width: 768px) {
	.w {
		width: auto !important;
	}
	.mw {
		min-width: 0;
	}
	.xw {
		padding: 0;
	}
}


/* hv_wh
============================================================================================================ */
@media screen and (min-width: 769px), print {
	a.hv_wh,
	button.hv_wh,
	a .hv_wh,
	.hv_wh a {
		position: relative;
		display: block;
		overflow: hidden;
		vertical-align: middle;
	}
	a.hv_wh:after,
	button.hv_wh:after,
	a .hv_wh:after,
	.hv_wh a:after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		background-color: rgba(255,255,255,0);
		-webkit-transition: background 0.2s;
		-o-transition: background 0.2s;
		transition: background 0.2s;
		z-index: 3;
	}
	a[href].hv_wh:hover:after,
	button.hv_wh:hover:after,
	a[href]:hover .hv_wh:after,
	.hv_wh a[href]:hover:after {
		background-color: rgba(255,255,255,0.3);
	}
	a[href].hv_wh.a20:hover:after,
	button.hv_wh.a20:hover:after,
	a[href]:hover .hv_wh.a20:after,
	.hv_wh.a20 a[href]:hover:after {
		background-color: rgba(255,255,255,0.1);
	}
	a[href].hv_wh.a10:hover:after,
	button.hv_wh.a10:hover:after,
	a[href]:hover .hv_wh.a10:after,
	.hv_wh.a10 a[href]:hover:after {
		background-color: rgba(255,255,255,0.02);
	}

	.hv_op a:hover,
	a.hv_op:hover,
	a:hover .hv_op {
		opacity: .7;
	}
}



/* target
============================================================================================================ */
.target {
	display: block;
	position: relative;
	width: 1px;
	top: -100px;
}
.target.pt {
	top: -120px;
}
@media screen and (max-width: 768px) {
	.target {
		top: -56px;
	}
	.target.pt {
		top: -70px;
	}
}


/* container
============================================================================================================ */
#container {
	position: relative;
	padding-top: 100px;
	font-size: 1.5rem;
	line-height: 1.8;
}
@media screen and (max-width: 768px) {
	#container {
		padding-top: 50px;
		font-size: 1.3rem;
	}
}


/* spパディング
============================================================================================================ */
@media screen and (max-width: 768px) {
	.sp_full {
		margin-left: -20px !important;
		margin-right: -20px !important;
	}
	.sp_pd {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
	.sp_pdtb {
		padding-top: 20px !important;
		padding-bottom: 20px !important;
	}
}
@media screen and (max-width: 370px) {
	.sp_full {
		margin-left: -15px !important;
		margin-right: -15px !important;
	}
	.sp_pd {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}
	.sp_pdtb {
		padding-top: 15px !important;
		padding-bottom: 15px !important;
	}
}


/* ヘッダー
============================================================================================================ */
#header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	height: 100px;
	background-color: #fff;
	border-bottom: 1px solid #f0f0f0;
	z-index: 1000;
}
#header .logo {
}
#header .logo a {
	display: block;
}
@media print {
	#header {
		position: absolute;
	}
}
@media screen and (min-width: 769px), print {
	#header .logo a {
		float: left;
		padding: 20px 0;
	}
}
@media screen and (max-width: 768px) {
	#header {
		height: 50px;
	}
	#header .logo a {
		width: 240px;
		height: 50px;
		background: url(../images/head/logo_sp.png) no-repeat 50%;
		-webkit-background-size: 200px;
		background-size: 200px;
	}
	#header .logo a img {
		display: none;
	}
}


/* nav_btn
------------------------------------------------------------- */
@media screen and (max-width: 768px) {
	#header .nav_btn {
		position: absolute;
		right: 0;
		top: 0;
		width: 50px;
		height: 50px;
		z-index: 20;
	}
	#header .nav_btn a {
		position: relative;
		display: block;
		height: 50px;
	}
	#header .nav_btn:before,
	#header .nav_btn a:before,
	#header .nav_btn a:after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 26px;
		margin-top: -1px;
		margin-left: -13px;
		border-top: 2px solid #048ebf;
		-webkit-transition: all 0.2s;
		-o-transition: all 0.2s;
		transition: all 0.2s;
	}
	#header .nav_btn a:before {
		-webkit-transform: translateY(-7px);
		-ms-transform: translateY(-7px);
		-o-transform: translateY(-7px);
		transform: translateY(-7px);
	}
	#header .nav_btn a:after {
		-webkit-transform: translateY(7px);
		-ms-transform: translateY(7px);
		-o-transform: translateY(7px);
		transform: translateY(7px);
	}
	#header .nav_close a {
		position: fixed;
		top: 50px;
		right: 0;
		left: 0;
		background-color: rgba(0,0,0,.3);
		opacity: 0;
		pointer-events: none;
		z-index: 4;
	}

	/* open */
	#header.open .nav_btn:before {
		opacity: 0;
	}
	#header.open .nav_btn a:before {
		-webkit-transform: translateY(0) rotate(45deg);
		-ms-transform: translateY(0) rotate(45deg);
		transform: translateY(0) rotate(45deg);
	}
	#header.open .nav_btn a:after {
		-webkit-transform: translateY(0) rotate(-45deg);
		-ms-transform: translateY(0) rotate(-45deg);
		transform: translateY(0) rotate(-45deg);
	}
	#header.open .nav_close a {
		opacity: 1;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		pointer-events: auto;
	}

	/* showed */
	#header.showed .nav_close a {
		bottom: 0;
		-webkit-transition: opacity .3s;
		-o-transition: opacity .3s;
		transition: opacity .3s;
	}
}


/* nav
------------------------------------------------------------- */
#header nav a {
	position: relative;
	display: table;
	width: 100%;
	color: #333333;
	text-align: center;
	text-decoration: none;
}
#header nav a > * {
	display: table-cell;
	vertical-align: middle;
}
#header .hnav a {
	color: #fff;
}
#header .hnav .contact a {
	background-color: #333333;
}
#header .hnav .recruit a {
	background-color: #526ed1;
}
@media screen and (min-width: 769px), print {
	#header nav {
		position: absolute;
		right: 0;
		top: 0;
		font-weight: bold;
	}
	#header .gnav li {
		float: left;
		width: 140px;
		border-left: 1px solid #f0f0f0;
	}
	#header .gnav a {
		height: 100px;
		font-size: 1.4rem;
		line-height: 1.5;
	}
	#header .gnav a:after {
		content: "";
		position: absolute;
		bottom: 0;
		right: 0;
		left: 0;
		border-top: 3px solid #048ebf;
		opacity: 0;
		-webkit-transform: translateY(-3px);
		-ms-transform: translateY(-3px);
		-o-transform: translateY(-3px);
		transform: translateY(-3px);
		-webkit-transition: all .2s;
		-o-transition: all .2s;
		transition: all .2s;
	}
	#header .gnav li a.current {
		color: #048ebf;
	}
	#header .gnav li a.current:after,
	#header .gnav li a:hover:after {
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		-o-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}
	#header .gnav li.contact a {
		background-color: #048ebf;
		color: #fff;
	}
}
@media screen and (min-width: 769px) and (max-width: 1090px), print {
	#header .gnav li.index {
		width: 110px;
	}
}
@media screen and (min-width: 1120px) {
	#header .logo a {
		padding-left: 20px;
		padding-right: 20px;
	}
}
@media screen and (min-width: 1160px) {
	#header .gnav li {
		width: 150px;
	}
}
@media screen and (min-width: 1210px) {
	#header .gnav li {
		width: 160px;
	}
	#header .gnav li a {
		font-size: 1.5rem;
	}
}
@media screen and (min-width: 1260px) {
	#header .gnav li {
		width: 170px;
	}
}
@media screen and (min-width: 1310px) {
	#header .gnav li {
		width: 180px;
	}
}
@media screen and (min-width: 1360px) {
	#header .gnav li {
		width: 190px;
	}
}
@media screen and (min-width: 1410px) {
	#header .gnav li {
		width: 200px;
	}
}
@media screen and (max-width: 768px) {
	#header nav {
	}
	#header nav > div {
		position: fixed;
		right: 0;
		bottom: 0;
		width: 260px;
		top: 50px;
		background-color: #048ebf;
		-webkit-transform: translateX(100%);
		-ms-transform: translateX(100%);
		-o-transform: translateX(100%);
		transform: translateX(100%);
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		z-index: 5;
	}
	#header nav > div > div {
		height: 100%;
		padding-bottom: 10px;
		overflow-y: auto;
	}

	/* open */
	#header.open nav > div {
		-webkit-transform: translateX(0%);
		-ms-transform: translateX(0%);
		-o-transform: translateX(0%);
		transform: translateX(0%);
	}

	/* showed */
	#header.showed nav > div {
		-webkit-transition: -webkit-transform 0.3s;
		-o-transition: -o-transform 0.3s;
		transition: transform 0.3s;
	}

	#header nav a {
		padding: 18px 20px;
		font-size: 1.5rem;
		line-height: 1.3;
		text-align: left;
		color: #fff;
	}
	#header nav a:after {
		content: "";
		position: absolute;
		top: 50%;
		right: 15px;
		width: 8px;
		height: 8px;
		margin-top: -6px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	#header nav .gnav a {
		border-bottom: 1px solid rgba(255,255,255,.5);
	}
}



/* フッター
============================================================================================================ */
#footer {
	position: relative;
	background-color: #048ebf;
	color: #fff;
	font-size: 1.4rem;
}
#footer .info {
}
#footer .info dt {
	margin-bottom: 15px;
}
#footer .info dd + dd {
	margin-top: 20px;
}
#footer small {
	display: block;
	margin-top: 80px;
	padding: 18px;
	font-size: 1.2rem;
	background-color: #1a1a1a;
	color: #7c7c7c;
	text-align: center;
	font-weight: bold;
}
@media screen and (min-width: 769px), print {
	#footer {
		padding-top: 60px;
	}
	#footer .info {
		float: left;
	}
	#footer nav {
		float: right;
	}
	#footer nav > ul {
		float: left;
		padding-left: 2em;
	}
	#footer nav a {
		color: #fff;
	}
	#footer nav li + li {
		margin-top: 5px;
	}
	#footer nav > ul > li + li {
		margin-top: 15px;
	}
	#footer nav > ul ul {
		margin-top: 10px;
	}
	#footer nav > ul > li > a {
		font-weight: bold;
	}
	#footer small {
		letter-spacing: 1px;
	}
}
@media screen and (max-width: 768px) {
	#footer .info {
		padding: 30px 0 20px;
		text-align: center;
		font-size: 1.3rem;
	}
	#footer .info dt {
		margin-bottom: 10px;
	}
	#footer .info dd + dd {
		margin-top: 15px;
	}
	#footer .info dt a {
		display: block;
		margin: auto;
		width: 250px;
		height: 44px;
		background: url(../images/foot/logo_sp.png) no-repeat 50%;
		-webkit-background-size: 250px;
		background-size: 250px;
	}
	#footer .info dt a img {
		display: none;
	}
	#footer .info .box_btn {
		margin: auto;
	}

	#footer nav a {
		display: block;
		position: relative;
		border-top: 1px solid rgba(255,255,255,.5);
		padding: 12px 10px 12px 20px;
		text-decoration: none;
		font-size: 1.3rem;
		color: #fff;
	}
	#footer nav li li a {
		padding: 8px 10px 8px 34px;
	}
	#footer nav a:after {
		content: "";
		position: absolute;
		top: 50%;
		right: 20px;
		width: 8px;
		height: 8px;
		margin-top: -5px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	#footer small {
		margin-top: 0;
		padding: 20px 0;
		font-size: 1rem;
	}
}

/* ページトップ
------------------------------------------------------------- */
#pagetop a {
	position: absolute;
	width: 80px;
	height: 80px;
	padding-top: 34px;
	border: 2px solid #fff;
	border-radius: 100%;
	background-color: #048ebf;
	text-align: center;
}
#pagetop a:before {
	content: "";
	position: absolute;
	top: 18px;
	left: 50%;
	width: 14px;
	height: 14px;
	margin-left: -7px;
	border-top: 3px solid #fff;
	border-left: 3px solid #fff;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}
@media print {
	#pagetop {
		display: none;
	}
}
@media screen and (min-width: 769px) {
	#pagetop {
		overflow: hidden;
		position: fixed;
		overflow: hidden;
		bottom: 0;
		right: 35px;
		width: 80px;
		height: 100px;
		z-index: 100;
	}
	#pagetop a {
		top: 100px;
		-webkit-transition: top 0.3s;
		-o-transition: top 0.3s;
		transition: top 0.3s;
	}
	#pagetop.abs {
		position: absolute;
		top: -40px;
		bottom: auto;
	}
	#pagetop.show a {
		top: 0;
	}
}
@media screen and (max-width: 768px) {
	#pagetop a {
		right: 5px;
		top: -30px;
		-webkit-transform-origin: 100% 0;
		-moz-transform-origin: 100% 0;
		-ms-transform-origin: 100% 0;
		-o-transform-origin: 100% 0;
		transform-origin: 100% 0;
		-webkit-transform: scale(.7);
		-ms-transform: scale(.7);
		-o-transform: scale(.7);
		transform: scale(.7);
		z-index: 10;
	}
}


/* フッターお問い合わせ
============================================================================================================ */
#footContact {
	margin-top: 30px;
	padding: 60px 0;
	font-size: 1.6rem;
	font-weight: bold;
}
#footContact dt img {
	display: block;
	margin-bottom: 10px;
}
#footContact dd .tel {
	font-size: 3.4rem;
	line-height: 1.5;
	font-weight: bold;
	letter-spacing: 2px;
}
@media screen and (min-width: 769px), print {
	#footContact dl {
		display: table;
		margin: auto;
	}
	#footContact dl > * {
		display: table-cell;
		vertical-align: middle;
	}
	#footContact dt {
		padding-right: 50px;
	}
	#footContact dd {
		position: relative;
		padding-left: 50px;
	}
	#footContact dd:before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		height: 50px;
		margin-top: -25px;
		border-right: 1px solid #b7b7b7;
	}
	#footContact dd .contact {
		display: inline-block;
		margin-left: 25px;
		vertical-align: -6px;
	}
}
@media screen and (max-width: 768px) {
	#footContact {
		padding: 25px;
		font-size: 1.3rem;
		text-align: center;
	}
	#footContact dt:after {
		content: "";
		display: block;
		width: 40px;
		margin: 10px auto 0;
		border-top: 1px solid #b7b7b7;
	}
	#footContact dt img {
		margin: 0 auto 5px;
	}
	#footContact dd {
		margin-top: 10px;
	}
	#footContact dd .tel {
		font-size: 3rem;
		text-decoration: none;
		color: #1a1a1a;
	}
	#footContact dd .box_btn {
		margin: 5px auto 0;
	}
}







/* section
============================================================================================================ */
.section {
	padding: 80px 0;
}
@media screen and (max-width: 768px) {
	.section {
		padding: 30px 0;
	}
}




/* タイトル
============================================================================================================ */
.page_title {
	display: table;
	width: 100%;
	height: 240px;
	background-repeat: no-repeat;
	background-position: 50%;
	-webkit-background-size: cover;
	background-size: cover;
	text-align: center;
	font-size: 3.5rem;
	color: #fff;
	line-height: 1.4;
}
.page_title > * {
	display: table-cell;
	vertical-align: middle;
}
.page_title .ff_en {
	display: block;
	font-size: 1.2rem;
}

.page_title.company {
	background-image: url(../images/parts/page_title_company.jpg);
	background-position: 50% 0;
}
.page_title.linen {
	background-image: url(../images/parts/page_title_linen.jpg);
	background-position: 50% 0;
}
.page_title.home {
	background-image: url(../images/parts/page_title_home.jpg);
	background-position: 50% 0;
}

@media screen and (max-width: 768px) {
	.page_title {
		height: 110px;
		font-size: 2rem;
	}
	.page_title .ff_en {
		font-size: 1rem;
	}
}

.bdb_title {
	margin-bottom: 50px;
	padding-bottom: 15px;
	font-size: 2.8rem;
	line-height: 1.6;
	font-weight: bold;
	border-bottom: 2px dotted #3ea7cd;
}
@media screen and (max-width: 768px) {
	.bdb_title {
		margin-bottom: 25px;
		font-size: 1.8rem;
	}
}





/* ボタン
============================================================================================================ */
a.box_btn,
a .box_btn,
button.box_btn {
	position: relative;
	width: 280px;
	max-width: 100%;
	padding: 10px;
	background-color: #048ebf;
	border: none;
	border-radius: 100px;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	font-size: 1.4rem;
	line-height: 1.3;
	text-align: center;
}
a.box_btn,
a .box_btn {
	display: block;
}
.box_btn.auto {
	width: auto;
}
.box_btn.center {
	margin-left: auto;
	margin-right: auto;
}
.box_btn.s {
	padding-top: 8px;
	padding-bottom: 8px;
	width: 170px;
}
.box_btn.l {
	padding: 15px;
}
.box_btn.white {
	background-color: #fff;
	color: #048ebf;
}
.box_btn.dib {
	display: inline-block;
	width: auto;
	padding-right: 2em;
	padding-left: 2rem;
}
@media screen and (min-width: 769px), print {
}
@media screen and (max-width: 768px) {
	a.box_btn,
	a .box_btn,
	button.box_btn {
		padding: 12px;
		font-size: 1.3rem;
	}
}







/* パーツ諸々
============================================================================================================ */
.lead_txt {
	margin-bottom: 50px;
	font-size: 2.4rem;
	font-weight: bold;
}
@media screen and (max-width: 768px) {
	.lead_txt {
		margin-bottom: 30px;
		font-size: 1.6rem;
	}
}

/* paragraph section */
.para_section > * {
	margin-top: 1.6em;
}
@media screen and (max-width: 768px) {
	.para_section > * {
	}
}



/* table
============================================================================================================ */
.basic_table {
	width: 100%;
	border: 1px solid #dddddd;
}
.basic_table th,
.basic_table td {
	padding: 20px 30px;
	border-bottom: 1px solid #dddddd;
	vertical-align: top;
}
.basic_table th {
	background-color: #fafafa;
	font-weight: bold;
	text-align: center;
	color: #048ebf;
}
.basic_table th.w30p {
	width: 30%;
}
@media screen and (max-width: 768px) {
	.basic_table th,
	.basic_table td {
		padding: 10px 15px;
	}
}




/* ul / ol
============================================================================================================ */
.point_li li {
	position: relative;
	padding-left: 1.2em;
}
.point_li li > span:first-child {
	position: absolute;
	top: 0;
	left: 0;
}

.parentheses_li li {
	position: relative;
	padding-left: 2.5em;
}
.parentheses_hlaf_li li {
	position: relative;
	padding-left: 1.5em;
}
.parentheses_li li > span:first-child,
.parentheses_hlaf_li li > span:first-child {
	position: absolute;
	top: 0;
	left: 0;
}

.dot_li li {
	position: relative;
	padding-left: 1em;.
}
.dot_li li:before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}
.dot_li li.point_notes:before {
	content: "※";
}
.dot_li.m_li li + li {
	margin-top: .5em;
}
.dot_li.m_li_l li + li {
	margin-top: 1em;
}

.num_li li {
	margin-left: 20px;
	list-style-type: decimal;
}
.num_li li + li {
	margin-top: .5em;
}






/* お知らせ
============================================================================================================ */
/* information_cat */
.information_cat {
	display: inline-block;
	width: 9em;
	background-color: #fba33c;
	color: #fff;
	border-radius: 100px;
	font-size: 1.2rem;
	line-height: 1.6;
	text-align: center;
	font-weight: bold;
	vertical-align: 2px;
}
.information_cat.red {
	background-color: #f03838;
}
@media screen and (max-width: 768px) {
	.information_cat {
		font-size: 1rem;
	}
}



/* 一覧 */
.information_list {
}
.information_list li:nth-child(odd) {
	background-color: #fafafa;
}
.information_list a {
	display: block;
	padding: 20px 25px;
	text-decoration: none;
	color: #1a1a1a;
	font-size: 1.6rem;
	line-height: 1.5;
}
.information_list a > * {
	display: block;
}
.information_list a .time {
	float: left;
	width: 100px;
	font-weight: bold;
	vertical-align: 0;
}
.information_list a .information_cat {
	float: left;
	margin-top: 2px;
}
.information_list a .title {
	margin-left: 230px;
}
.information_list a[href]:hover .title {
	text-decoration: underline;
}
@media screen and (max-width: 768px) {
	.information_list a {
		padding: 15px;
		font-size: 1.3rem;
	}
	.information_list a .time {
		float: none;
		display: inline-block;
		width: auto;
	}
	.information_list a .information_cat {
		float: none;
		display: inline-block;
		margin-left: 10px;
	}
	.information_list a .title {
		margin-left: 0;
		margin-top: 5px;
	}
}



