@charset "UTF-8";
.fv {
	background: url("../about/img/fv_ab.jpg?set0001") no-repeat top;
	background-size: cover;
}
.fv .inner {
    height: 36.73vw;
    max-height: 360px;
}
.fv h2 {
    top: 45%;
}
.txt p {
    font-size: 0.875em;
    text-align: center;
    line-height: 3em;
}
.con h3.title {
    margin-bottom: 2.25em;
}
.triangle + .bg_bk .inner {
    padding: 9em 0;
}

.con > .inner {
    padding: 6em 0;
}

.con h3.title .en {
    font-size: 2.66em;
}
.promise3 ul{
    overflow: hidden;
    display: table;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 20px 0;
}
.promise3 li {
    max-width: 270px;
    width: 27.55vw;
    background-color: #f6f6f4;
    padding: 123px 30px 30px;
    box-sizing: border-box;
    display: table-cell;
    position: relative;
}

.promise3 li .txt h4 {
    font-size: 1.0625em;
	line-height: 1.64em;
	margin-bottom: 1em
}
.promise3 li .txt p {
    text-align: justify; /* 基本 */
    text-justify: inter-ideograph; /* IEで必要 */
    text-justify: inter-character; /* Firefoxで必要 */
    line-height: 2.3em;
}
.promise3 ul {
    counter-reset: number 0;/* number のカウンタを 0 にセット */
}
.promise3 li:before,
.promise3 li:after {
    content: '';
    display: block;
 	position: absolute;
    top: 0;
    left: 0;
	width: 100%;
}
.promise3 li:after {
    counter-increment: number 1; /* number カウンタの増加数をセット */
    content: counter(number) " ";/* 表示形式を指定 */
    font-size: 2.9375em;
    color: #fff;
    padding: 0.5em 0.5em 0.7em;
    box-sizing: border-box;
}
.promise3 li:before {
    width: 0;
	height: 0;
	border-style: solid;
	border-width: 120px 27.55vw 0 0;
	border-color: #b83a21 transparent transparent transparent;
}
@media (max-width: 750px){
.fv {
	background: url("../about/img/fv_ab_sp.jpg?set0001") no-repeat top;
	background-size: cover;
}
.fv .inner {
    height: 48.66vw;
    max-height: 365px;
}
.triangle + .con {
    margin-top: -6.66vw;
    height: auto;
}
.triangle + .bg_bk .inner {
    padding: 15vw 0 12vw;
}
.con h3.title {
    margin-bottom: 7.33vw;
}
.txt p {
    font-size: 2.933vw;
    line-height: 2.2em;
}
.con > .inner {
    padding: 10vw 0;
}
.promise3 ul{
    border-spacing: 0;
}
.promise3 li {
    max-width: 515px;
    width: 68.66vw;
    padding: 23vw 6.8vw 4.93vw;
    display: block;
    margin-bottom: 7.33vw;
}

.promise3 li .txt h4 {
    font-size: 4vw;
    line-height: 1.422em;
}
.promise3 li:after {
    font-size: 8.8vw;
    padding: 0.4em 0.5em 0.7em;
}
.promise3 li:before {
	border-width: 18.66vw 68.67vw 0 0;
}
.promise3 li .txt p {
    line-height: 1.6em;
}
}
@media (min-width: 751px){

}@media (min-width: 980px){
.promise3 li:before {
	border-width: 120px 270px 0 0;
}
}