@charset "UTF-8";

#main-img {
	margin: 40px 0 0;
}


h2 {
	font-size: 24px;
	padding: 0;
}

h2::before {
	background: none;
}

h2::after {
	background: none;
}

#ribbon {
	display: inline-block;
	position: relative;
	top: 60px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	padding: 12px 32px 12px 16px;
	font-size: 18px;
	background: #d22926;
	color: #FFF;
	box-sizing: border-box;
	clear: both;
	margin-bottom: 40px;
}

#ribbon:before, #ribbon:after {
	position: absolute;
	content: '';
	width: 0px;
	height: 0px;
	z-index: 1;
}

/*#ribbon:before {
	top: 0;
	left: 0;
	border-width: 25px 0px 25px 15px;
	border-color: transparent transparent transparent #fff;
	border-style: solid;
}*/

#ribbon:after {
	top: 0;
	right: 0;
	border-width: 25px 15px 25px 0px;
	border-color: transparent #fff transparent transparent;
	border-style: solid;
}

.h3_box {
	display: flex;
	align-items: center;
	width: 100%;
	margin-top: 60px;
}

h3 {
	font-size: 18px;
	color: #d22926;
	margin: 0 0 8px 0;
	padding-right: 8px;
}

.h3_box .line {
	flex-grow: 1;
	height: 3px;
	background-color: #d22926;
	min-width: 0;
	margin-top: -8px;
}

p.policy_description {
	margin: 0px 0 60px;
	font-size: 14px;
	line-height: 1.8;
}

.title_img {
	margin: 40px 0 3px;
	display: inline-block;
}

#title_img2 {
	margin-left: 6px;
}

.policy_title {
	font-size: 21px;
	color: #d22926;
	font-weight: bolder;
	margin-left: 6px;
}

.sdg_img img {
	margin: 0 0 8px 0;
}

.sdgs_ul {
	list-style: disc;
	padding-left: 18px;
	margin-top: 18px;
}

li {
	margin-bottom: 12px;
}

.etc {
	margin-top: 24px;
}

.btn_box {
	display: inline-block;
	clear: both;
}

.btn {
	font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
	font-size: 14px;
    font-weight: normal;
	letter-spacing: 0.3em;
	cursor: pointer;
	padding: 14px 13px 12px 18px !important;
	background-color: #FFF;
	color: #d22926;
	border: solid 2px #d22926 !important;
	border-radius: 0px !important;
	outline: none;
    box-shadow: none;
    clear: both;
    margin: 6px auto 24px;
	display: inline-block !important;
    transition-property: all .2s linear 0s;
	-moz-transition: all .2s
 linear 0s;
	-webkit-transition: all .2s linear 0s;
	-o-transition: all .2s linear 0s;
} 

.btn:link, .btn:visited {

}

.btn:hover, .btn:active, .btn:focus {
    background-color: #d22926;
    outline: none;
    color: #FFF;
    transition-property: all .2s linear 0s;
	-moz-transition: all .2s linear 0s;
	-webkit-transition: all .2s linear 0s;
	-o-transition: all .2s linear 0s;
}

.btn_box {
    display: inline-block;
    margin: 0 auto 80px;
}

.responsive-image {
	width: 100%;
	height: auto;
	display: none;
}

@media screen and (max-width: 767px) {
	.mobile {
		display: block;
		margin: 0 auto;
	}
}

@media screen and (min-width: 768px) {
	.tablet-up {
		display: block;
	}
}

@media screen and (min-width: 1200px) {
	/* 1200px以上用（PC用）の記述 */
	
}

@media screen and (min-width: 980px) and (max-width: 1199px) {
	/* 980px - 1119px用（PC用）の記述 */
	
}
	
@media screen and (min-width: 768px) and (max-width: 979px) {
	/* 768px - 979px用（タブレット用）の記述 */
	
}

@media screen and (min-width: 480px) and (max-width: 769px) {
	/* 480px - 767px用（タブレット／スマートフォン用）の記述 */
	
}
	
@media screen and (min-width: 321px) and (max-width: 479px) {
	/* 321px - 479px用（スマートフォン用）の記述 */
	
	#ribbon h2{
		font-size: 18px;
		padding-top: 3px;
	}
	
}

@media screen and (max-width: 320px) {
	/* 320px 以下用（スマートフォン用）の記述 */
	
	#ribbon h2{
		font-size: 16px;
		padding-top: 5px;
	}
	
}
