@charset "UTF-8";
/*
 * ================================================
 *
 * [content]
 *
 * ================================================
 */
img {
	vertical-align: middle;
	max-width: 100%;
}
/**
 * 幅指定
 */
.pL1hhem { padding-left: 1.25em; }
/**
 * 文字装飾
 */
.ftSerif {
	font-family:
		'Noto Serif JP',
		'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN',
		'HG明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
}
/**
 * form
 */
fieldset {
	margin: 0;
	padding: 0;
	border: none;
}
button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
	font-family: inherit;
}
input,
textarea,
select {
	line-height: 13px;
	margin: 0;
	font-family: inherit;
}
input.formText[type=text],
input.formText[type=password],
input.formText[type=number],
input.formText[type=email],
textarea.formText,
select.formSelect {
	padding: 5px;
	border: 1px solid #666;
	background-color: #FFF;
}
input.formText[type=text]:focus,
input.formText[type=password]:focus,
input.formText[type=number]:focus,
input.formText[type=email]:focus,
textarea.formText:focus,
select.formSelect:focus {
	border: 1px solid #444444;
}
.formRadio {
	position: relative;
	padding-left: 18px;
}
	.formRadio input {
		position: absolute;
		top: .35em;
		left: 0;
	}
#alphaBg {
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 2000;
	background: #000000;
	display: none;
	zoom: 1;
	min-height: 100%;
}
/**
 * popup
 */
.popupWrapper {
	position: absolute;
	top: 0;
	left: 50%;
	margin: 0;
	z-index: 2100;
	display: none;
	width: 80%;
	margin-left: -40%;
}
	.popupWrapper .closeVox {
		height: 50px;
	}
	.popupWrapper .popupCloseBt {
		position: absolute;
		top: 0;
		right: 0;
		width: 50px;
		height: 50px;
	}
	.popupWrapper .popupCloseBt span {
		width: 40px;
		height: 3px;
		background: #FFFFFF;
		position: absolute;
		left: 50%;
		top: 50%;
		margin: -1.5px 0 0 -20px;
	}
	.popupWrapper .popupCloseBt span:nth-child(1) {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.popupWrapper .popupCloseBt span:nth-child(2) {
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.popupWrapper .content {
		background: #FFFFFF;
	}
#popupContents {
		display: none;
}
#debug {
	position: fixed;
	right: 0;
	top: 0;
	background-color: rgba(0, 0, 0, 0.5);
	width: 200px;
	height: 200px;
	color: #000000;
	display: none;
	z-index: 9999;
	overflow: auto;
}
/**
 * ボックス用スタイル
 */
.secVox {
	padding: 50px 0;
}
.secVox:first-of-type {
	padding-top: 15px;
}
.centerBox {
	text-align: center;
	padding: 10px 0;
}
.boxS01 {
	border: 1px solid #DDD;
	background: #FEFFE9;
	text-align: center;
	font-size: 1.8rem;
	font-weight: bold;
	padding: 15px;
}
/**
 * リスト用スタイル
 */
.listOrg {
	counter-reset: count;
}
	.listOrg > li {
		counter-increment: count;
		position: relative;
		padding-left: 1.25em;
	}
	.listOrg > li::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
	}
	.listOrg.circle > li::before {
		content: '●';
	}
	.listOrg.square > li::before {
		content: '■';
	}
	.listOrg.note > li::before {
		content: '※';
	}
	.listOrg.dot > li::before {
		content: '・';
	}
/**
 * リンク用スタイル
 */
a.lnkS01 {
	position: relative;
	color: #005EAC;
	padding-left: 20px;
}
a.lnkS01::before {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 6px;
	border-color: transparent transparent transparent #005EAC;
	position: absolute;
	top: .4em;
	left: 5px;
}
a.lnkS02 {
	position: relative;
	color: #005EAC;
	padding-left: 15px;
}
a.lnkS02::before {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 8px;
	border-color: transparent transparent transparent #005EAC;
	position: absolute;
	top: .4em;
	left: 5px;
}
/**
 * アイコン用スタイル
 */
.icoS01 {
	position: relative;
	padding-left: 1em;
}
.icoS01::before {
	position: absolute;
	top: 0;
	left: 0;
}
.icoS01.note::before {
	content: '※';
}
.icoPDF {
	background: url(../../images/content/content/icon_pdf.png) center right / 12px no-repeat;
	padding-right: 20px;
}
/**
 * 見出し用スタイル
 */
.hdS01 {
	font-size: 2.2rem;
	padding: 0 0 .75em 1em;
	position: relative;
	margin-bottom: 20px;
}
.hdS01::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 2em;
	background: #000;
}
.hdS02 {
  color: #333;
	font-weight: bold;
	font-size: 3.5rem;
	line-height: 1.8;
	margin-bottom: 40px;
}
.hdS03 {
    position: relative;
    text-align: left;
    background: rgb(233,251,245,1);
    background: linear-gradient(90deg, rgba(233 239 251) 0%, rgba(241 241 241) 100%);
    padding: 12px 10px 12px 20px;
    margin-bottom: 40px;
    color: #333;
    font-size: 2rem;
    font-weight: 500;
}
	.hdS03 a {
		color: #fff;
		text-decoration: none;
	}
.hdS03::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    background-color: #005eac;
    width: 4px;
    height: 20px;
    margin: auto 0;
    content: "";
}

.hdS04 {
	color: #005eac;
	font-size: 2.5rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.hdS05 {
	position: relative;
	color: #000;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.4;
}
/*.hdS05::before {
	content: '';
	position: absolute;
	top: 15%;
	left: 12px;
	width: 5px;
	height: 70%;
	background: #8BC21F;
}*/
.hdS06 {
	font-size: 2.2rem;
	font-weight: bold;
	border-left: 6px solid #8BC21F;
	line-height: 1.5;
	padding-left: .75em;
	margin-bottom: 15px;
}
/**
 * ボタン用スタイル
 */
.btS01 {
	display: inline-block;
  border-image: linear-gradient(to right, #00a496 0%, #0058a9 100%);
  border-image-slice: 1;	
  background: -moz-linear-gradient(right, #00a496 0%, #0058a9 100%);
  background: -webkit-linear-gradient(right, #00a496 0%, #0058a9 100%);
  background: linear-gradient(to right, #00a496 0%, #0058a9 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00a496', endColorstr='#0058a9', GradientType=0);
	color: #FFF !important;
	font-weight: bold;
	padding: 20px 80px 20px 70px;
	position: relative;
	border-radius: 4px;
	text-decoration: none !important;
}
	.btS01::after {
		position:absolute;
    top:50%;
    right:20px;
    display: block;
    width: 10px;
    height: 10px; 
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
    margin-top:-4px;
	}

.btS01.middle {
	padding-right: 50px;
}
.btS01.ftBig {
	font-size: 1.6rem;
}
.btS01.gray {
	/*background-color: #4DBFB5;*/
}
.btS01.black {
	background: #333;
}
.btS01.pdficn::after {
	content: '';
	position: absolute;
	right: 10px;
	top: 50%;
	width: 20px;
	height: 25px;
	background: url(../../images/content/content/icon_pdf.png) center right/ 20px no-repeat!important;
	margin-top: -13px;
}
/**
 * テーブル用スタイル
 */
.tblS01 {}
	.tblS01 th,
	.tblS01 td {
		border: 1px solid #DDD;
		padding: 1.5em;
		vertical-align: top;
	}
	.tblS01 th {
		font-weight: normal;
	}
	.tblS01 thead {
		background: #FEFFE9;
	}
		.tblS01 thead th {
			font-size: 1.5rem;
			padding: .75em 0;
		}
	.tblS01 tbody {}
		.tblS01 tbody th {
			white-space: nowrap;
			text-align: left;
			padding-right: 5em;
		}
	.tblS01 .valignMiddle {
		vertical-align: middle;
	}
.tblS02 {}
	.tblS02 th,
	.tblS02 td {
		border: 1px solid #DDD;
		padding: 1.25em;
	}
	.tblS02 th {
		font-weight: normal;
		background: #f5f8fb;
		vertical-align: top;
	}
	.tblS02 tbody {}
		.tblS02 tbody th {
			white-space: nowrap;
			text-align: left;
			padding: 1.25em;
		}
/**
 * accordionVox
 */
.accordionVox {}
	.accordionVox .accordionTitle {
		cursor: pointer;
	}
	.accordionVox .accordionContents {
		display: none;
	}
/**
 * shadow
 */
.sdw01 {
	-webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, .4);
	        box-shadow: 2px 2px 5px rgba(0, 0, 0, .4);
}
/**
 * transition
 */
.trOp01 {
	-webkit-transition: .2s;
	        transition: .2s;
}
.trOp01:hover {
	opacity: .7;
}
.trScl01 {
	-webkit-transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.trScl01:hover,
.trScl01.active {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
	z-index: 1;
}
.trSwR01 {
	display: inline-block;
	vertical-align: middle;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
	position: relative;
	-webkit-transition: color 0.5s linear;
	transition: color 0.5s linear;
}
.trSwR01::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: 0 50% 50%;
	transform-origin: 0 50% 50%;
	-webkit-transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.trSwR01.active::before,
.trSwR01:hover::before {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}


/* SNSリスト用 */

.sns-list {
	display : -webkit-flex;
	display : flex;
	 -webkit-justify-content: space-between; /* スペースを均等 */
	justify-content: space-between; /* スペースを均等 */	
}

.sns-list > li {
	width : 33%;
	text-align:center;
	background : #cf8422;

    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
	    transition: all .5s ease;

}

.sns-list > li:last-child {
	border : none;	
}

.sns-list > li a {
	padding : 10px;
	display:block;
	vertical-align:middle;
}


/* facebook用 */
.sns-list > li:nth-child(2) {
	background : #3e5c9a;

}

/* twitter用 */
.sns-list > li:nth-child(3) {
	background : #55acee;	
}

/* twitter用 */
.sns-list > li:nth-child(4) {
	background : #795fca;	
}

.sns-list > li i {
	color : #ffffff;
	font-size : 2rem;
}
/* SNSアイコンオフ用 */
.sns-list li.off {
	background : #ddd!important;
}
.sns-list li.off i {
	padding : 14px 0 10px;
}

/* ホバー用 */
.sns-list > li:hover:not(.off) {
	opacity : .4;
}
/**
 * --------------------------------------------------------------------------
 * flex
 * --------------------------------------------------------------------------
 */
.flex, .flexPc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.jstBetween {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.jstCenter {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.jstAround {
  -webkit-box-pack: space-around;
  -ms-flex-pack: space-around;
  justify-content: space-around;
}
.alItemCenter {
  align-items: center;
}
.dirRowReverse {
	flex-direction: row-reverse;
}
/**
 * --------------------------------------------------------------------------
 * Column
 * --------------------------------------------------------------------------
 */
.column2, .column2Pc {
  width: 48%;
}
.column3, .column3Pc {
  width: 32%;
}
.column4, .column4Pc {
  width: 24%;
}
.column2Long {
	width: 59%;
}
.column2Short {
	width: 37%;
}

/**
 * --------------------------------------------------------------------------
 * ColumnBox
 * --------------------------------------------------------------------------
 */
.columnBox2 {
	width: 49%;
}
.columnBox3 {
	width: 32%;
}
.columnBox4 {
	width: 24%;
}
.columnBox2,
.columnBox3,
.columnBox4 {
	background: #fff;
	position: relative;
	border-radius: 5px;
	filter: drop-shadow(0px 2px 8px rgba(0, 0, 0, 0.16));
}
/**
 * --------------------------------------------------------------------------
 * ColumnInner
 * --------------------------------------------------------------------------
 */
.columnInner30 {
	padding: 30px;
}
.columnInner40 {
	padding: 40px;
}

/**
 ****************************************************
 *
 * screens larger than 768
 *
 ****************************************************
 */
@media only screen and (min-width: 768px) {
	.pcDspNone { display: none; }
}

/**
 ****************************************************
 *
 * screens smaller than 767
 *
 ****************************************************
 */
@media only screen and (max-width: 767px) {
	.spDspNone { display: none; }
	/**
	 * transition series
	 */
	.trOp01 {
		-webkit-transition: none;
		transition: none;
	}
	.trOp01:hover {
		opacity: 1.0;
	}
	.trScl01 {
		-webkit-transition: none;
		transition: none;
	}
	.trScl01:hover {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
	/**
	 * form
	 */
	input.formText[type=text],
	input.formText[type=password],
	input.formText[type=number],
	input.formText[type=email],
	textarea,
	select {
		font-size: 1.6rem;
	}
	input.formText[type=text],
	input.formText[type=password],
	input.formText[type=number],
	input.formText[type=email],
	select {
		line-height: 16px;
	}
	/**
	 * ボックス用スタイル
	 */
.secVox {
	padding:20px 0;
}
.secVox:first-of-type {
	padding-top: 20px;
}
	/**
	 * 見出し用スタイル
	 */
.hdS01 {
	font-size: 1.7rem;
	padding: 0 0 .75em 0.75em;
	position: relative;
	margin-bottom: 20px;
}
.hdS01::before {
}
.hdS02 {
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 1.6;
	margin-bottom: 20px;
}
.hdS03 {
    padding: 8px 8px 8px 14px;
    margin-bottom: 20px;
    font-size: 1.5rem;
    font-weight: 500;
}
	.hdS03 a {
	}
.hdS03::before {
}

.hdS04 {
	color: #005eac;
	font-size: 1.5rem;
	font-weight: 500;
	margin-bottom: 10px;
}
.hdS05 {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.4;
}
/*.hdS05::before {
	content: '';
	position: absolute;
	top: 15%;
	left: 12px;
	width: 5px;
	height: 70%;
	background: #8BC21F;
}*/
.hdS06 {
	font-size: 2.2rem;
	font-weight: bold;
	border-left: 6px solid #8BC21F;
	line-height: 1.5;
	padding-left: .75em;
	margin-bottom: 15px;
}
	/**
	 * ボタン用スタイル
	 */	
.btS01 {
	font-weight: 500;
	padding: 15px 40px 15px 30px;
}
	.btS01::after {
    right:15px;
    width: 8px;
    height: 8px; 
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    margin-top:-3px;
	}
	/**
	 * テーブル用スタイル
	 */
	.tblS01 {}
		.tblS01 th,
		.tblS01 td {
			padding: .75em;
		}
		.tblS01 thead {}
			.tblS01 thead th {
				font-size: 1.3rem;
			}
		.tblS01 tbody {}
			.tblS01 tbody th {
				padding: .75em;
			}
	.tblS02 {}
		.tblS02 th,
		.tblS02 td,
		.tblS02 tbody th {
			padding: 1em .75em;
		}
/**
* --------------------------------------------------------------------------
* flex
* --------------------------------------------------------------------------
*/
  .flexPc {
    display: inherit;
  }
  /**
 * --------------------------------------------------------------------------
 * Column
 * --------------------------------------------------------------------------
 */
  .column2Pc {
    width: auto;
    margin-bottom: 30px;
  }
  .column3Pc {
    width: auto;
    margin-bottom: 30px;
  }
  .column4Pc {
    width: auto;
    margin-bottom: 30px;
  }
	.column2Long {
    width: auto;
    margin-bottom: 30px;
	}
	.column2Short {
    width: auto;
    margin-bottom: 30px;
	}
/**
 * --------------------------------------------------------------------------
 * ColumnBox
 * --------------------------------------------------------------------------
 */
	.columnBox2 {
			width: auto;
			margin-bottom: 30px;
	}
	.columnBox3 {
			width: auto;
			margin-bottom: 30px;
	}
	.columnBox4 {
			width: auto;
			margin-bottom: 30px;
	}
}