/************************************
** 基本表示
************************************/
/*初期化*/
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.container {
  padding-right: constant(safe-area-inset-right);
  padding-left: constant(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
  padding-left: env(safe-area-inset-left);
}
.pd {padding: 50px 0}
.pdhf {padding: 25px 0}
@media screen and (max-width: 991px) {/*タブレット （メニュー切り替え）*/
.pd {padding: 30px 0}
.pdhf {padding: 15px 0}
}

/**************************************/
/*      elements       */
/**************************************/
hr {
	border: 0;
	border-top: 1px solid #000000;
}
.cf::after {
  clear: both;
  content: "";
  display: block;
}
.clear {
  clear: both;
}
img {
	max-width: 100%;
	height: auto;
}
.img-center {
	margin: 0 auto;
}
.ctr {
	text-align: center
}
.tlrt {
	text-align:right
}
.lt {
	float:left
}
.rt {
	float:right
}
span {
	display: inline-block;
}
li {
	margin-bottom: 5px
}
.wp-block-gallery {
	margin-left: 0
}
.row img {
	margin-bottom:15px
}
.spacer100 {height: 100px}
@media screen and (max-width: 1199px) {/*PC小*/
.lpcnone { display: none}
}
@media screen and (min-width: 992px) {
.pcnone { display: none}
}
@media screen and (max-width: 991px) {/*タブレット （メニュー切り替え）*/
.spnone { display: none}
.spacer100 {height: 50px}
}
@media screen and (min-width: 768px) {/*スマホ*/
.usspnone { display: none}
}
@media screen and (max-width: 767px) {/*スマホ*/
.sspnone { display: none}
}
@media screen and (min-width: 576px) {
.uxspnone { display: none}
}
@media screen and (max-width: 575px) {
.xspnone { display: none}
}
/* ----IE hack svg ---- */
img[src$=".svg"] {
	width: 100%;
}
/* --------------------------------
font
-------------------------------- */
/* サイズ */
.font-md-b {
	font-size: 24px;
	font-weight: bold;
}
.font-mincho {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: normal
}
.font-mincho-b {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: bold
}
.font-gothic {
	font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: normal
}
.font-gothic-b {
	font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: bold
}

/* --------------------------------
text-deco
-------------------------------- */
.before-cercle::before {
	content: "\f10c";
	color: #ec6d74;
	font-family:'Font Awesome 5 Free';
	font-weight:900;
	position: absolute;
	top: 0;
	left: 0;
}

/********************************************************************************
button Setting
********************************************************************************/
.button01 {overflow: hidden !important;}
.button01 a {
	display: block;
    width: 100%;
    padding: 15px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    position: relative;
    z-index: 2;
    overflow: hidden !important;
    border: 2px solid #fff;
	background: rgba(0,0,0,0.3);
}
.button01 a:before {
	font-family: "Font Awesome 5 Free";
	font-weight:900;
	content: "\f105";
	margin-right: 15px;
}
.button01 a:hover {
    color: #fff;
	background: rgba(0,0,0,1);
}
.button02 {overflow: hidden !important;}
.button02 a {
	display: block;
    width: 100%;
    padding: 15px;
    color: #005FAB;
    text-align: center;
    text-decoration: none;
    position: relative;
    z-index: 2;
    overflow: hidden !important;
    border: 2px solid #005FAB;
}
.button02 a:before {
	font-family: "Font Awesome 5 Free";
	font-weight:900;
	content: "\f105";
	margin-right: 15px;
}
.button02 a:hover {
    color: #005FAB;
	background: #f0f0f0;
}
.button03 {overflow: hidden !important;}
.button03 a {
	display: block;
    width: 100%;
    padding: 15px;
    color: #ffffff;
	background: #005FAB;
    text-align: center;
    text-decoration: none;
    position: relative;
    z-index: 2;
    overflow: hidden !important;
    border: 2px solid #005FAB;
}
.button03 a:before {
	font-family: "Font Awesome 5 Free";
	font-weight:900;
	content: "\f105";
	margin-right: 15px;
}
.button03 a:hover {
    color: #005FAB;
	background: #ffffff;
}
@media screen and (max-width: 991px) {/*タブレット （メニュー切り替え）*/
}
@media screen and (max-width: 767px) {/*スマホ*/
.button01 a { width: 100%;}
}

/********************************************************************************
border Setting ■カラー修正■
********************************************************************************/
.bdr-left {
	padding-left:10px;
	border-left: 2px solid #ec6d74;
}
.bdr-bottom {
	padding-bottom:5px;
	border-bottom: 1px solid #444444;
}
.bdr-right {
	border-right: 1px solid #444444;
}
.bdr-none {
	border: none;
}
.bdr-after {
	margin-bottom: 10px;
	position: relative;
}
.bdr-after::after {
	content:"";
	position: absolute;
	bottom: -5px;
	left: 0;
	height: 0;
	width: 100%;
	border-bottom: 1px solid #ffffff;
}
.bdr-box {
	padding: 20px;
	margin: 20px 0;
	border: 5px solid #eee;
	border-radius: 10px;
}
/********************************************************************************
color Setting ■カラー修正■
********************************************************************************/
/* ---- color ---- */
.fc-base {
	color: #000000;
}
.fc-main {
	color: #005FAB;
}
.fc-sub {
	color: #53BC49;
}
.fc-light {
	color: #f0f0f0;
}
.fc-white {
	color: #ffffff;
}
.fc-black {
	color: #000000;
}
.fc-red {
	color: #EF444D;
}

/* ---- background ---- */
.bg-base {
	background-color: #000000;
}
.bg-main {
	background-color: #005FAB;
}
.bg-sub {
	background-color: #53BC49;
}
.bg-light {
	background-color: #f0f0f0;
}
.bg-white {
	background-color: #ffffff;
}
.bg-black {
	background-color: #000000;
}
.bg-gray {
	background-color: #f3f3f3;
}
/********************************************************************************
tab Setting
********************************************************************************/
.tab-border {
	border-bottom: 1px solid #dddddd;
}
.tab-border .nav-tabs {
	z-index: 30;
	margin-bottom: -1px;
}
/********************************************************************************
table layout
********************************************************************************/

table {
	width: 100%;
	max-width: 100%;
	margin-bottom: 30px;
	border-bottom: 1px solid #eee;
}
table p {
	margin: 5px 0;
}
table > thead > tr > th, table > tbody > tr > th, table > tfoot > tr > th, table > thead > tr > td, table > tbody > tr > td, table > tfoot > tr > td {
	padding: 15px 10px;
	line-height: 1.5;
	vertical-align: middle;
	border-top: 1px solid #eee;
}
table.ptb15 th, table.ptb15 td {
	padding-top: 15px !important;
	padding-bottom: 15px !important;
}
table.th30 th {
	width: 30%;
}
table.th7em th {
	min-width: 7em;
}
table.thnowrap th {
	white-space: nowrap;
}
table.td-center td, table.th-center th {
	text-align: center;
}
table.va-middle th {
	vertical-align: middle !important;
}
table th span {
	font-size: 0.8em;
}
.table th, .table td {
	vertical-align: middle;
	border-top: none;
}
.table-bordered {
	border: 5px solid #eeeeee;
}
/* ---- table-bdr-tb ---- */
.table-bdr-tb>thead>tr>th, .table-bdr-tb>tbody>tr>th, .table-bdr-tb>tfoot>tr>th, .table-bdr-tb>thead>tr>td, .table-bdr-tb>tbody>tr>td, .table-bdr-tb>tfoot>tr>td {
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	vertical-align: middle;
}