/*	【汎用】タイトル
---------------------------------*/
.ttl-cmn01{
	font-size: 2.4rem;
	font-weight: 600;
}
.ttl-cmn01 small{
	font-size: 0.75em;
	font-weight: 600;
}
.ttl-cmn02{
	font-size: 2.1rem;
	font-weight: 600;
}
.ttl-cmn03{
	font-size: 2.1rem;
	font-weight: 600;
	color: #fff;
	line-height: 50px;
	text-align: center;
	background:#043106;
}
.ttl-cmn04{
	font-size: 3rem;
	color:#043106;
	letter-spacing: 0.075em;
	line-height: 1.3;
}
.ttl-cmn04 span{
	display: block;
	color: #97b098;
	font-size: 2.4rem;
	font-weight: 600;
}
.ttl-cmn05{
	font-size: 1.8rem;
	font-weight: 600;
}
.green{
	color: #043106;
}
.lightgreen{
	color: #97b098;
}
.under-line{
	display: inline-block;
	border-bottom: 1px solid #333;
}
.rl{
	-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
}
.ls100{
	letter-spacing: 0.1em;
}
.ls75{
	letter-spacing: 0.075em;
}
@media screen and (max-width:767px) {
    .ttl-cmn01{
		font-size: 1.8rem;
    }	
    .ttl-cmn02{
        font-size: 1.6rem;
    }
    .ttl-cmn03{
        font-size: 1.5rem;
    }
	.ttl-cmn04{
		font-size: 2.1rem;
		line-height: 1.5;
	}
	.ttl-cmn04 span{
		font-size: 1.4rem;
	}
	.ttl-cmn05{
		font-size: 1.6rem;
	}
}

/*	【汎用】ボタン
---------------------------------*/
.btn-cmn01 a {
	display: block;
	max-width: 310px;
	width: 100%;
    background: #fff;
    color: #043106;
	border: 2px solid #043106;
	text-align: center;
	font-weight: 600;
	line-height: 60px;
	letter-spacing: 0.075em;
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
	cursor: pointer;
}
.btn-cmn01.center a {
	margin-right: auto;
	margin-left: auto;
}
.btn-cmn02 a {
	display: block;
	border: 1px solid #333;
	background: #fff;
	border-radius: 15px;
	font-size: 1.4rem;
	font-weight: 700;
	width: 120px;
	line-height: 30px;
	letter-spacing: 0.075em;
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
	cursor: pointer;
	text-align: center;
}
.cmn-btn-icon {
	width: 370px;
}
.cmn-btn-icon a {
	display: block;
	width: 100%;
	background: #fff;
	line-height: 60px;
	text-align: center;
}
.cmn-btn-icon a span {
	display: inline-block;
	position: relative;
	padding: 0 0 0 45px;
	font-size: 2.1rem;
	font-weight: 500;
	color: #000;
}
.cmn-btn-icon a span::before {
	content: "";
	position: absolute;
	left: 0;
	top: calc(50% - 18px);
	width: 31px;
	height: 37px;
	background: url(../../images/corporation/common/icon_file01.png)
}


@media screen and (max-width:767px) {
	.btn-cmn01 a {
		margin-right: auto;
		margin-left: auto;
	}
.cmn-btn-icon {
	width: 260px;
}
.cmn-btn-icon a {
	line-height: 50px;
}
.cmn-btn-icon a span {
	padding: 0 0 0 35px;
	font-size: 1.5rem;
}
.cmn-btn-icon a span::before {
	top: calc(50% - 12px);
	width: 24px;
	height: 29px;
	background-size: contain;
}
.btn-cmn02-parent{
	position: relative;
	padding-bottom: 90px;
}
.cmn-outline-box01.btn-cmn02-parent{
	padding-bottom: 90px;
	margin-bottom: 50px;
}
.btn-cmn02{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}
.btn-cmn02 a {
	border: 1px solid #043106;
	border-radius: 25px;
	width: 250px;
	line-height: 50px;
	color: #043106;
	margin: 0 auto;
}
}
/*	共通
---------------------------------*/
.sec01{
    padding: 110px 0 120px;
}
.sec02{
    padding: 100px 0 70px;
}
.cmn-otr{
    padding: 70px 0 120px;
}
.cmn-otr.bg-beige{
	margin-top: 70px;
}
.cmn-img-left{
    max-width: none;
    max-width: initial;
    position: absolute;
    top: 0;
    right: 0;
}
.cmn-img-right{
    max-width: none;
    max-width: initial;
    position: absolute;
    top: 0;
    left: 0;
}
.bg-beige{
	background: #edece6;
}
.post-box-cmn{
	background: #fff;
	padding: 40px;
}
.txtlink{
	text-decoration: underline;
}
/*flexbox汎用レイアウト*/
/*2カラムの子(親1200px)*/
.item-cmn-2column{
    width: 48%;
    max-width: 575px;
}
/*3カラムの子(親1200px)*/
.item-cmn-3column{
	width: 31.67%;
    max-width: 380px;
}
@media screen and (max-width: 1200px) {
.cmn-img-left,.cmn-img-right{
	max-width: 120%;
}
}
@media screen and (max-width: 1023px) {
	.item-cmn-2column.tb-100{
		width: 100%;
		margin: 0 auto 25px;
	}
	.item-cmn-2column.tb-100:last-of-type{
		margin: 0 auto;
	}
	.cmn-img-left,.cmn-img-right{
		position: relative;
		max-width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.sec01{
		padding: 50px 0;
	}
	.sec02{
		padding: 50px 0;
	}
	.cmn-otr{
		padding: 40px 0 60px;
	}
	.cmn-otr.bg-beige{
		margin-top: 40px;
	}
	.post-box-cmn{
		padding: 30px 15px;
	}
	.item-cmn-2column{
        width: 100%;
        margin-bottom: 25px;
    }
	.item-cmn-3column{
		width: 100%;
        margin-bottom: 20px;
	}
    .item-cmn-2column:last-of-type,.item-cmn-3column:last-of-type{
        margin-bottom: 0px;
    }
	/*スマホ時左寄せテキスト*/
	.sp-txtleft-cmn {
   	 	max-width: 500px;
    	margin-right: auto;
    	margin-left: auto;
    	text-align: left;
	}
}
/*	【汎用】テーブル
---------------------------------*/
td{
	line-height: 1.875;
}
.tbl-cmn01 table {
	margin: 0 auto;
	width: 100%;
	text-align:left;
}
.tbl-cmn01 table tr:nth-of-type(odd) {
	background: #f5f4f0;
}
.tbl-cmn01 table tr:nth-of-type(even) {
	background: #fff;
}
.tbl-cmn01 table th {
	padding: 15px 50px 15px 30px;
	width: 200px;
	font-weight: 600;
}
.tbl-cmn01 table td {
	padding: 15px 0;
}
@media screen and (max-width:767px) {
td{
	line-height: 1.785;
}
.tbl-cmn01 table th {
	display: block;
	padding: 15px 10px 5px;
	width: 100%;
}
.tbl-cmn01 table td {
	display: block;
	padding: 5px 10px 15px;
	width: 100%;
}
th,td{
	font-size:1.4rem;
}
}

/*	【共通】パンくず
---------------------------------*/
.topicpath {
	padding: 20px 0;
	color: #666;
}
.topicpath{
	font-size: 1.3rem;
}
@media screen and (max-width: 1023px) {　
.topicpath_inner {
	padding-left: 15px;
	padding-right: 15px;
}
.topicpath{
	font-size: 1rem;
}
}

/*__投稿画像二つ並び機能なしの場合__*/
/*画像左寄せ*/
.alignleft {
  	display: block;
}
/*画像の中央寄せ*/
.aligncenter {
  	display: block;
  	margin-right:auto;
  	margin-left: auto;
}
/*画像右寄せ*/
.alignright {
  	display: block;
	margin-left: auto;
}