@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-XXX */
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	margin: 0 auto;
	padding: 0 10px;
	width: 1180px;
}
@media all and (max-width: 896px) {
	.content {
		width: auto;
	}
}
/*------------------------------------------------------------
	font
------------------------------------------------------------*/
.oswSans {
	font-weight: 500;
	font-family: 'Oswald', sans-serif;
}
@media all and (max-width: 896px) {
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	text-align: center;
	color: #fff;
	font-size: 10rem;
	letter-spacing: 0.01em;
	font-weight: 500;
	font-family: 'Oswald', sans-serif;
}
@media all and (max-width: 896px) {
	.headLine01 {
		font-size: 5rem;
		line-height: 1;
	}
}
/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
	margin-bottom: 24px;
	color: #000;
	overflow: hidden;
	font-size: 2.8rem;
	text-align: center;
	letter-spacing: 0.1em;
}
.headLine02 .mid {
	font-size: 1.8rem;
}
.headLine02 .ico {
	display: block;
	position: relative;
	text-align: center;
}
.headLine02 .ico::before,
.headLine02 .ico::after {
	position: absolute;
	content: '';
	width: 100%;
	right: calc(50% + 50px);
	height: 4px;
	bottom: 11px;
	background: url(../images/common/line01.png) repeat left bottom/12px 4px;
}
.headLine02 .ico::after {
	right: auto;
    left: calc(50% + 50px);
}
.headLine02 .ico img {
	position: relative;
}
.headLine02 .num {
	font-size: 5rem;
	line-height: 1;
	font-family: 'Noto Sans', sans-serif;
}
@media all and (max-width: 896px) {
	.headLine02 {
		font-size: 2.1rem;
	}
	.headLine02 .ico img {
		width: 60px;
	}
	.headLine02 .ico::before, .headLine02 .ico::after {
		right: calc(50% + 30px);
		height: 1px;
		bottom: 7px;
		background-size: 13px 2px;
		background-image: url(../images/common/line01_sp.png);
	}
	.headLine02 .ico::after {
		left: calc(50% + 30px);
	}
	.headLine02 .mid {
		font-size: 1.35rem;
	}
	.headLine02 .ico {
		margin-bottom: 9px;
	}
	.headLine02 .num {
		font-size: 3.75rem;
	}
}
/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/
.headLine03 {
	margin-bottom: 55px;
	padding: 10px 10px;
	color: #000;
	font-weight: 700;
	text-align: center;
	font-size: 3.8rem;
	font-family: 'Oswald', sans-serif;
	background: url(../images/common/bg01.png) no-repeat left center/100% auto;
}
.headLine03.blue {
	background-image: url(../images/common/bg02.png);
}
.headLine03.brown {
	background-image: url(../images/common/bg03.png);
}
.headLine03.purple {
	background-image: url(../images/common/bg04.png);
}
.headLine03.green {
	background-image: url(../images/common/bg05.png);
}
.headLine03 span.headLineJP {
	display: inline-block;
    padding-left: 30px;
    font-size: 1.6vw;
    vertical-align: middle;
    height: 32px;
}
@media all and (max-width: 896px) {
	.headLine03 {
		margin-bottom: 20px;
		padding: 1vw 2.5vw;
		font-size: 6.25vw;
		border-radius: 38px;
		background-size: 100% 100%;
		background-image: url(../images/common/bg01_sp.png);
	}
	.headLine03.blue {
		background-image: url(../images/common/bg02_sp.png);
	}
	.headLine03 span.headLineJP {
		display: block;
		padding-left: 0;
		padding-bottom: 5px;
		font-size: 3vw;
		height: auto;
	}
}
/*------------------------------------------------------------
	comList
------------------------------------------------------------*/
.comList {
	margin: -34px 0 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.comList:last-child {
	margin-bottom: 0;
}
.comList::after {
	content: '';
	width: calc((100% - 104px)/3);
}
.comList li {
	margin-top: 34px;
	padding: 6px 28px 40px;
	box-sizing: border-box;
	margin-top: 34px;
	width: calc((100% - 104px)/3);
	border-radius: 35px;
	border: 2px solid #dbdbdb;
	background-color: #fff;
}
.comList li.big {
	padding: 16px 20px 16px;
	width: 100%;
	display: flex;
    align-items: center;
}
.comList li.big .speBox {
	width: 19.5%;
}
.comList li.big .imgBox {
	width: 80%;
	align-items: center;
}
.comList li.big .pho {
	width: 274px;
	margin: 0 auto 0 -15px;
}
.comList li.big .textInner {
	width: calc(100% - 320px);
}
.comList .hTtl {
	margin-bottom: 19px;
	position: relative;
	color: #e4001e;
	font-size: 3rem;
	letter-spacing: 0.01em;
	font-weight: 500;
	text-align: center;
	line-height: 1.4;
	font-family: 'Oswald', sans-serif;
}
.comList.blue .hTtl {
	color: #a3cbd2;
}
.comList .hTtl .inner {
	display: inline-block;
	position: relative;
}
.comList .hTtl .num {
	margin-bottom: -4px;
    vertical-align: bottom;
    display: inline-block;
	font-size: 7rem;
	line-height: 1.2;
}
.comList .hTtl .sm {
	position: absolute;
	left: 65px;
    top: 23px;
	color: #000;
	font-size: 1.7rem;
	letter-spacing: 0.05em;
	font-weight: 400;
	font-family: 'Noto Sans JP', sans-serif;
}
.comList .pho {
	margin: 0 auto 9px;
	width: 274px;
}
.comList .ttl {
	margin-bottom: 6px;
	font-size: 2.3rem;
	letter-spacing: 0.01em;
	font-weight: 700;
	font-feature-settings: "palt";
}
.comList .text {
	line-height: 1.76;
	letter-spacing: 0.01em;
}
@media all and (max-width: 896px) {
	.comList {
		margin-top: -15px;
		display: block;
	}
	.comList li {
		padding: 13px 18px 21px;
		margin-top: 15px;
		border-radius: 17.5px;
		width: auto;
		position: relative;
		border-width: 1px;
	}
	.comList .pho {
		margin: 0 auto 9px;
		padding-right: 48px;
		width: 60%;
		text-align: center;
	}
	.comList .speBox {
		margin: 0 0 0.25vw 5.5vw;
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
	.comList .hTtl {
		margin: 0 3.5vw 4.5vw 0;
		font-size: 4.5vw;
	}
	.comList .hTtl .num {
		margin-bottom: -1vw;
		font-size: 10.5vw;
	}
	.comList .hTtl .sm {
		left: 9.75vw;
    	top: 3vw;
		font-size: 2.55vw;
	}
	.comList .text {
		line-height: 1.7;
		font-size: 1.5rem;
	}
	.comList .ttl {
		line-height: 1.25;
		font-size: 4vw;
	}
	.comList li.big {
		padding: 13px 18px 23px;
		display: block;
	}
	.comList li.big .speBox {
		width: auto;
	}
	.comList li.big .imgBox {
		width: auto;
		display: block;
	}
	.comList li.big .pho {
		margin: 0 auto 9px;
		width: 45.6%;
	}
	.comList li.big .textInner {
		width: auto;
	}
	.comList li.big .hTtl {
		width: auto;
	}
}
/*------------------------------------------------------------
	comList01
------------------------------------------------------------*/
.comListBox {
	margin-bottom: -42px;
	overflow: hidden;
}
.comList01 {
	margin: -42px -24px 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.comList01:last-of-type {
	margin-bottom: 0;
	border-bottom: 0;
	padding-bottom: 0;
}
.comList01::after {
	content: '';
	width: calc(100%/3);
}
.comList01 li {
	margin-top: 42px;
	margin-bottom: -2px;
	padding: 0 24px 42px;
	position: relative;
	width: calc(100%/3);
	box-sizing: border-box;
	border-bottom: 1px solid #dedede;
}
.comList01 .pho {
	margin-bottom: 9px;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	border: 1px solid #bababa;
	border-radius: 35px;
}
.comList01 .pho img {
	width: 100%;
}
.comList01 .age {
	margin-left: 25px;
	position: absolute;
    box-sizing: border-box;
	min-width: 96px;
    z-index: 1;
    padding: 0 5px 2px 10px;
    left: 22px;
    top: 22px;
	color: #fff;
	font-size: 2.2rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-align: center;
	border-radius: 17px;
	background-color: #e4001e;
}
.comList01 .ttl {
	margin-bottom: 10px;
	text-align: center;
	color: #000;
	font-weight: 700;
}
.comList01 .ttl.special .num {
	letter-spacing: -1px;
}
.comList01 .ttl .num {
	letter-spacing: 0.05em;
    margin-top: -2px;
	line-height: 1.3;
	display: block;
	font-weight: 400;
}
@media all and (max-width: 896px) {
	.comListBox {
		margin-bottom: -22px;
		overflow: hidden;
		display: flex;
		justify-content: center;
	}
	.comList01 {
		margin: -20px -6px 0;
		padding-bottom: ;
    	margin-bottom: 20px;
    	display: inline-flex;
    	width: fit-content;
	}
	.comList01::after {
		display: none;
	}
	.comList01 li {
		margin-top: 20px;
		padding: 0 6px 22px;
		width: 50%;
	}
	.comList01 .pho {
		border-radius: 18px;
	}
	.comList01::after {
		width: auto;
	}
	.comList01 .age {
		margin-left: 5px;
		font-size: 1.268rem;
		padding: 0 10px 2px 10px;
		min-width: inherit;
		top: 14px;
		left: 15px;
	}
	.comList01 .ttl {
		margin-bottom: 2.4vw;
		font-size: 1.3rem;
	}
	.comList01 .ttl .num {
		margin-top: -1px;
		font-size: 3vw;
	}
}
/*------------------------------------------------------------
	comBtn
------------------------------------------------------------*/
.comBtn {
	margin: 0 auto;
	width: 246px;
}
.comBtn a {
	padding: 12px 16px 12px 10px;
	display: block;
	color: #fff !important;
	text-align: center;
	border-radius: 24px;
	background: #e4001e url(../images/common/icon01.png) no-repeat right 10px center/12px;
}
.comBtn a:hover {
	opacity: 0.8;
}
@media all and (max-width: 896px) {
	.comBtn {
		width: auto;
	}
	.comBtn a {
		padding: 8px 16px 8px 10px;
		border-radius: 20px;
		font-size: 1.2rem;
		border-radius: 20px;
		background-size: 9px;
	}
}
@media all and (max-width: 374px) {
	.comBtn a {
		font-size: 1rem;
		background-size: 6px;
	}
}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
@media all and (max-width: 896px) {
}