@charset "utf-8";

/* ------------------------------
 見出し&テキスト
------------------------------ */
/* -- TOP H1 -- */
.topMainimg h1 {
	position: absolute;
	bottom: 0;
	width: 100%;
	background-color: #F3EDDF;
}
.topMainimg h1 img {
	position: absolute;
}
/* -- H1 -- */
.contentsTop h1,
.contents h1 {
	font-size: 3.4rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.2;
	padding: 30px 0;
	position: relative;
	background-color: #F3EDDF;
	z-index: 2;
}

/* -- HOME H2 -- */
.contentsHome h2 {
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.2;
	margin-bottom: 40px;
	text-align: center;
}
.contentsHome h2 span {
	font-family: 'Poppins', sans-serif;
	font-size: 1.4rem;
	font-weight: 500;
	color: #969696;
	margin-top: 5px;
	display: block;
}

/* -- H2 -- */
.contentsTop h2,
.contents h2 {
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.2;
	margin-bottom: 15px;
	position: relative;
}
/* -- H3 -- */
.contentsTop h3,
.contents h3 {
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	padding: 15px;
	margin-bottom: 30px;
	position: relative;
	border: 2px solid #064676;
	color: #064676;
	background-color: #fff;
}
/* -- H4 -- */
.contents h4 {
	font-size: 1.7rem;
	font-weight: bold;
}

/* -- 明朝見出し -- */
.minLead {
	font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	font-size: 2.8rem;
	font-weight: bold;
}
/* ------------------------------
  PC用限定CSS（見出し）
------------------------------ */
@media print,screen and (min-width: 768px) {
	/* -- TOP H1 -- */
	.topMainimg h1 {
		height: 120px;
	}
	.topMainimg h1 img {
		position: absolute;
		width: 705px;
		left: 40px;
		top: -105px;
	}
}
/* ------------------------------
 スマホ用コード（見出し）
------------------------------ */
@media screen and (max-width: 767px) {
	/* -- TOP H1 -- */
	.topMainimg h1 {
		height: 80px;
	}
	.topMainimg h1 img {
		width: 95%;
		max-width: 362px;
		top: -120px;
		left: 0;
	}

	/* -- H1 -- */
	.contentsTop h1,
	.contents h1 {
		font-size: 2.2rem;
		padding: 20px 5%;

	}
	
	/* -- HOME H2 -- */
	.contentsHome h2 {
		font-size: 2.0rem;
		margin-bottom: 15px;
		text-align: center;
		padding-left: 0;
		border-left: none;
	}
	/* -- H2 -- */
	.contentsTop h2,
	.contents h2 {
		font-size: 2.0rem;
		margin-bottom: 20px;
	}
	
	/* -- H3 -- */
	.contents h3 {
		font-size: 1.9rem;
	}

	/* -- 明朝見出し -- */
	.minLead {
		font-size: 2.2rem;
	}
}

/* ------------------------------
 ボックス
------------------------------ */
/* -- 横並びボックス（flexbox） --- */
.flexBox {
	display: flex !important;
	flex-flow: row wrap;
}
.flexBox::after,
.cms_block.flexBox::after {
	display: none;
}
.flexBox > * {
	width: 100%;
}
/* -- 横並びボックス（flexbox） センター揃え --- */
.flexBox.fb-tac {
	justify-content: center;
}
/* -- 横並びボックス（flexbox） 縦センター揃え --- */
.flexBox.fb-vac {
	align-items: center;
}
/* -- 横並びボックス（flexbox） 左右別れ --- */
.flexBox.fb-btw {
	justify-content: space-between;
}
/* -- flex-flow（flexbox） コラム --- */
.ff-clm > div {
	flex-flow: column;
}
/* ------------------------------
 横幅グリッド PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	/* -- 50% --- */
	.w50p {
		width: 50%;
	}

	/* -- 1/2 --- */
	.w546 {
		width: 546px;
	}
	.half,
	.w1-2 {
		width: 47.895%;
	}
	.cms_fl.w546, .fl.w546 {
		margin-right: 40px;
	}
	.cms_fr.w546, .fr.w546 {
		margin-left: 0;
	}
	
	.cms_fl.w1-2, .fl.w1-2, .cms_fl.half, .fl.half {
		margin-right: 4.211%;
	}
	.cms_fr.w1-2, .fr.w1-2, .cms_fr.half, .fr.half {
		margin-left: 0;
	}

	/* -- 1/3 --- */
	.w350 {
	    width: 350px;
	}
	.w1-3 {
	    width: 30.702%;
	}
	/* -- 2/3 --- */
	.w745 {
	    width: 745px;
	}
	.w2-3 {
	    width: 65.351%;
	}
	.cms_fl.w745, .fl.w745 {
		margin-right: 45px;
	}
	.cms_fl.w1-3, .fl.w1-3, .cms_fl.w2-3, .fl.w2-3 {
		margin-right: 3.947%;
	}
	.cms_fr.w745, .fr.w745, .cms_fr.w1-3, .fr.w1-3, .cms_fr.w2-3, .fr.w2-3 {
		margin-left: 0;
	}

	/* -- 1/4 --- */
	.w258 {
		width: 258px;
	}
	.w1-4 {
		width: 22.632%;
	}
	/* -- 3/4 --- */
	.w846{
		width: 846px !important;
	}
	.w3-4 {
		width: 74.211%;
	}
	.cms_fl.w258, .fl.w258, .cms_fl.w846, .fl.w846 {
		margin-right: 36px;
	}
	.cms_fl.w1-4, .fl.w1-4, .cms_fl.w3-4, .fl.w3-4 {
		margin-right: 3.159%;
	}
	.cms_fr.w258, .fr.w258, .cms_fr.w846, .fr.w846,
	.cms_fr.w1-4, .fr.w1-4, .cms_fr.w3-4, .fr.w3-4 {
		margin-left: 0;
	}
	
	/* -- 1/5 --- */
	.w208 {
		width: 208px;
	}
	.w1-5 {
		width: 18.246%;
	}
	.cms_fl.w208, .fl.w208 {
		margin-right: 25px;
	}
	.cms_fl.w1-5, .fl.w1-5 {
		margin-right: 2.194%;
	}
	.cms_fr.w208, .fr.w208,
	.cms_fr.w1-5, .fr.w1-5 {
		margin-left: 0;
	}

	/* -- 横並びボックス（flexbox） --- */
	.flexBox.nowide > * {
		width: auto;
	}
	/* flexbox 1/2 */
	.flexBox .w1-2:not(:nth-child(2n)) {
		margin-right: 4.211%;
	}
	
	/* flexbox 1/3 */
	.flexBox .w1-3:not(:nth-child(3n)) {
		margin-right: 3.947%;
	}
	/* flexbox 1/4 */
	.flexBox .w1-4:not(:nth-child(4n)) {
		margin-right: 3.159%;
	}
	
	/* -- 横並びボックス（flexbox） 改行させない --- */
	.flexBox.fb-nowrap {
		flex-flow: nowrap;
	}
	/* -- 横並びボックス（flexbox） センター揃え --- */
	.flexBox.pc_fb-tac {
		justify-content: center;
	}
	/* -- 横並びボックス（flexbox） 縦センター揃え --- */
	.flexBox.pc_fb-vac {
		align-items: center;
	}
	/* -- 横並びボックス（flexbox） 左右別れ --- */
	.flexBox.pc_fb-btw {
		justify-content: space-between;
	}

	.flexBox .cms_text:last-child,
	.flexBox .cms_image:last-child {
		margin-bottom: 40px;
	}
	.cms_block {
		width: 1140px;
	}
	.wide {
		width: 100%;
	}
}
@media print,screen and (min-width:768px) {
	/*お問合せの調整*/
	.contentTop .cms_block:nth-last-child(2),
	.contents .cms_block:nth-last-child(2) {
		margin-bottom: 60px;
	}
}
/* ----------------------
 スマホ用コード
---------------------- */
@media screen and (max-width: 767px) {
	/* -- 横並びボックス（flexbox） センター揃え --- */
	.flexBox.sp_fb-tac {
		justify-content: center;
	}
	/* -- 横並びボックス（flexbox） 縦センター揃え --- */
	.flexBox.sp_fb-vac {
		align-items: center;
	}
	/* -- 横並びボックス（flexbox） 左右別れ --- */
	.flexBox.sp_fb-btw {
		justify-content: space-between;
	}
	.cms_block {
		padding-left: 5%;
		padding-right: 5%;
	}
}

/* ------------------------------
 テーブル
------------------------------ */
/* デフォルト */
table {
	width: 100%;
}
table thead th {
	text-align: center;
	vertical-align: middle;
}
table th {
	padding: 10px 15px;
	background: #B4C7D6;
	vertical-align: top;
	border: solid 1px #443932;
	font-weight: bold;
}
table td {
	padding: 10px 15px;
	text-align: left;
	border: solid 1px #443932;
}
/* 枠なし */
.nomal table {
	width: 100%;
	font-size: 1.7rem;
}
.nomal table thead th {
	text-align: center;
	vertical-align: middle;
}
.nomal table th {
	padding: 12px 0;
	background: none;
	border: none;
}
.nomal table td {
	padding: 12px 0 12px 30px;
	border: none;
}

/* 横スクロールがつく */
.scroller {
	width: auto !important;
	overflow: auto !important;
}
.scroller table {
	width: 1140px !important;
}
.mainContents .scroller table {
	width: 818px !important;
}
/* ------------------------------
 スマホ用コード（テーブル）
------------------------------ */
@media screen and (max-width: 767px) {
	table th,
	table td {
		padding: 10px;
	}

	/* レスポンシブ */
	.res table th {
		width: auto !important;
		display: block;
		padding: 10px;
		border-bottom: none !important;
	}
	.res table tr:not(:first-child) th {
		border-top: none !important;
	}
	.res table td {
		width: auto !important;
		display: block;
		padding: 10px;
	}
	.res table tr:not(:first-child) td:first-child {
		border-top: none !important;
	}

	/* 枠なし */
	.nomal table th {
		padding-bottom: 0;
	}
	.nomal table td {
		padding-top: 0;
	}
	/* 横スクロールがつく */
	.scroller {
		width: 100% !important;
    	overflow: auto !important;
    	padding-left: 0em;
    	padding-right: 0em;
	}
	
	.scroller table {
		font-size: 1.4rem;
		width: 818px !important;
	}
	.mCustomScrollbar { 
		-ms-touch-action: auto !important;
		touch-action: auto !important;
	}
	.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
		background-color: #1A81DE !important;
	}
	.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail,
	.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
		height: 7px !important;
	}
}
@media screen and (max-width: 479px) {
	.scroller {
		width: 100% !important;
	}
}
/* ------------------------------
 リスト
------------------------------ */
/*  ノーマルリスト */
.cms_text ul li,
.cms_image ul li {
	line-height: 1.5;
	padding-left: 15px;
	position: relative;
}
.cms_text ul li:before,
.cms_image ul li:before {
	content: "";
	position: absolute;
	left: 2px;
	top: 12px;
	width: 4px;
	height: 4px;
	background: #443932;
	border-radius: 100%;
}

/* 横並びリスト */
.inline ul li,
.inline ol li {
	display: inline-block;
	margin-right: 15px;
}

/* 数字リスト */
ol li {
	list-style-type:none;
	list-style-position:inside;
	counter-increment: cnt;
	padding-left: 25px;
	position: relative;
}
ol li:before {
	content: counter(cnt)".";
	position: absolute;
	top: 0;
	left: 0;
}
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	/* 横並び 2分割 */
	.div2 ul,
	.div2 ol {
		display: flex;
		align-content: flex-start;
		flex-flow: row wrap;
	}
	.div2 ul li,
	.div2 ol li {
		width: calc((100% - 40px) / 2);
	}
	.div2 ul li:not(:nth-child(2n)),
	.div2 ol li:not(:nth-child(2n)) {
		margin-right: 40px;
	}
}

/* ------------------------------
 ページ内リンク
------------------------------ */
.pageLink {
	text-align: center;
}
.pageLink li{
	display: inline-block;
	padding: 0 !important;
}
.pageLink li:not(:last-child) {
	border-right: 1px dotted #443932;
}
.pageLink li::before {
	content: none !important;
}
.pageLink li a {
	padding: 0 20px;
	color: #bd9869;
	text-decoration: none;
}
.pageLink li a:hover {
	text-decoration: underline;
}

/* ------------------------------
 PDFブロック
------------------------------ */
.glbox {
	font-size: 1.3rem;
	padding: 20px 30px;
	border: solid 1px #dcdcdc;
}
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	.glbox .tleft {
		width: calc(100% - 170px);
		float: left;
	}
	.glbox .imgright {
		width: 120px;
		float: right;
	}
}
/* ----------------------
 スマホ用コード
---------------------- */
@media screen and (max-width: 767px) {
	.glbox {
		padding: 10px 15px;
	}
	.glbox .imgright {
		text-align: center;
		margin-top: 10px;
	}
}

/* ------------------------------
 アイコン
------------------------------ */
a[target="_blank"]  {
	background: url("../img/icon_blank.png") no-repeat right 0 top .4em;
	background-size: 9px;
	padding-right: 12px;
}
.icon_pdf a,
a.icon_pdf {
	background: url('../img/icon_pdf.png') no-repeat right 0 top ;
	background-size: 18px;
	padding-right: 23px;
	color: #064676;
	text-decoration: underline;
}
.icon_pdf a::after,
a.icon_pdf::after {
	content: none;
}
.icon-note {
	position: relative;
	padding-left: 20px;
}
.icon-note::before {
	content: '※';
	position: absolute;
	display: block;
	left: 0;
}
/* ------------------------------
 ボタン
------------------------------ */
.btn a {
	font-size: 1.7rem;
	line-height: 1.2;
	color: #fff;
	text-align: center;
	min-width: 250px;
	text-decoration: none;
	padding: 15px 40px;
	display: inline-block;
	position: relative;
	background: #064676;
	border-radius: 5px;
}
.btn a::before {
	content: "";
	position: absolute;
	right: 15px;
	top: 0;
	bottom: 0;
	width: 25px;
	height: 7px;
	display: inline-block;
	margin: auto;
	background: url(../img/icon_arrow.png) no-repeat 0 0 /cover;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.btn a:hover {
	opacity: 1;
}

/* -- お問合せボタン -- */
.btn.inq a::before {
	width: 16px;
	height: 11px;
	background: url(../img/icon_mail_w.png) no-repeat 0 0 /cover;
}
/* ----------------------
 PC用限定CSS
---------------------- */
@media print,screen and (min-width:768px) {
	.btn a:hover::before {
		right: 10px;
	}
}
/* ----------------------
 スマホ用コード
---------------------- */
@media screen and (max-width: 767px) {
	.btn a {
		min-width: 270px;
	}
}
@media screen and (max-width:374px) {
	.btn a {
		min-width: 100%;
	}
}

/* ------------------------------
 背景
------------------------------ */
/* 白背景囲い */
.whiteBg{
    padding: 45px;
    background: #fff;
    border-radius: 10px;
}

/* 青背景 */
.blueBg {
    padding: 50px 35px;
	background: #E6ECF1;
	border-radius: 10px;
}
.wide.blueBg {
    padding: 50px 0;
	border-radius: 0;
}
/*茶背景 */
.brownBg {
	padding: 50px 0;
	background-color: #F3EDDF;
}
/* ----------------------
 スマホ用コード
---------------------- */
@media screen and (max-width: 767px) {
	/* 白背景囲い */
	.whiteBg{
		padding: 30px 15px;
	}
	/* 青背景 */
	.blueBg {
		padding: 30px 35px;
	}
	.cms_block.blueBg:not(.wide) {
		margin-left: auto;
		margin-right: auto;
		width: 90%;
	}
	.cms_block.wide.blueBg{
		padding: 30px 5%;
	}
	/* ワイド　茶背景 */
	.brownBg {
		padding: 40px 5%;
	}
}
/* ------------------------------
 下層タイトル回り
------------------------------ */
.headering {
	margin-bottom: 70px;
}
.headering img {
	width: 100%;
	height: 270px;
	object-fit: cover;
}
/*IEハック*/
_:-ms-fullscreen, :root .headering > img {
	font-family: 'object-fit: cover; '
}
/* ----------------------
 スマホ用コード
---------------------- */
@media screen and (max-width: 767px) {
	.headering {
		margin-bottom: 40px;
	}
	.headering img {
		height: 120px;
	}
}
