@charset "UTF-8";

.m_img_area::before {
	background-image: url("../images/cat/m_img@2x.jpg");
	background-position: center center !important;
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}



/*lead_box
---------------------------------------------------------*/
.lead_box .com_flt{
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
.lead_box .com_flt .img_r{
	max-width: 480px;
	width: 43.7%;
}
.lead_box .com_flt .txt_l{
	max-width: 550px;
	width: 52.3%;
}
.lead_box .com_flt .com_lead dt,
.lead_box .com_flt .com_lead dd{
	text-align: left;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.lead_box .com_flt .img_r{
	margin-left: 4%;
	margin-bottom: 1em;
}
.lead_box .com_flt .txt_l{
	max-width: 100%;
	width: 100%;
	float: none;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.lead_box .com_flt .img_r{
	width: 70%;
	margin: 0 auto 5%;
	float: none;
}
.lead_box .com_flt .txt_l{
	max-width: 100%;
	width: 100%;
	float: none;
}
.lead_box .com_flt .com_lead dt{
	text-align: center;
}
}



/*feature
---------------------------------------------------------*/
#feature .feature_list li{
	margin-top: 80px;
}
#feature .feature_list li:first-child{
	margin-top: 0;
}
#feature .feature_list li .flex_box{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#feature .feature_list li .flex_box .img_r,
#feature .feature_list li .flex_box .img_l{
	max-width: 590px;
	width: 48.361%;
}
#feature .feature_list li .flex_box .txt_r,
#feature .feature_list li .flex_box .txt_l{
	max-width: 550px;
	width: 47.639%;
}
#feature .feature_list li .flex_box .txt_r .inbox,
#feature .feature_list li .flex_box .txt_l .inbox{
	max-width: 470px;
	width: 90%;
}
#feature .feature_list li:nth-child(odd) .flex_box .txt_r .inbox{
	margin-left: 0;
	margin-right: auto;
}
#feature .feature_list li:nth-child(even) .flex_box .txt_l .inbox{
	margin-left:  auto;
	margin-right: 0;
}
#feature .ft_no{
	font-size: min(125%,1.8vw);
	letter-spacing: 0.2em;
	line-height: 1em;
	color: #007DE6;
	margin-bottom: 2em;
}
#feature .ft_no strong{
	font-size: 450%;
	letter-spacing: 0.1em;
	line-height: 0.9em;
	color: #0606CD;
	margin-right: 0.18em;
	display: inline-block;
}
#feature .ft_no span{
	position: relative;
	display: inline-block;
	padding-bottom: 0.3em;
	transform: translateY(-0.3em);
}
#feature .ft_no span::before{
	position: absolute;
	content: "";
	background: #007DE6;
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
}
#feature .ft_style dt{
	font-size: min(218.75%,3.2vw);
	letter-spacing: 0.2em;
	line-height: 1.45em;
	font-weight: bold;
	margin-bottom: 0.4em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#feature .feature_list li{
	margin-top: 8%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#feature .feature_list li{
	margin-top: 10%;
}
#feature .feature_list li .flex_box{
	display: block;
}
#feature .feature_list li:nth-child(even) .flex_box{
    display: flex;
    flex-direction: column-reverse;
}
#feature .feature_list li .flex_box .img_r,
#feature .feature_list li .flex_box .img_l{
	width: 100%;
	margin: 0 auto;
}
#feature .feature_list li .flex_box .txt_r,
#feature .feature_list li .flex_box .txt_l{
	max-width: 100%;
	width: 100%;
	margin-top: -1.7em;
	position: relative;
	z-index: 2;
}
#feature .feature_list li .flex_box .txt_r .inbox,
#feature .feature_list li .flex_box .txt_l .inbox{
	max-width: 100%;
	width: 100%;
}
#feature .feature_list li:nth-child(odd) .flex_box .txt_r .inbox{
	margin-right: 0;
}
#feature .feature_list li:nth-child(even) .flex_box .txt_l .inbox{
	margin-left:  0;
}
#feature .ft_no{
	font-size:90%;
	margin-bottom: 1em;
}
#feature .ft_style dt{
	font-size: 160%;
	letter-spacing: 0.1em;
	margin-bottom: 0.3em;
}
}



/*point
---------------------------------------------------------*/
#point h3{
	font-size: min(218.75%,3.2vw);
	letter-spacing: 0.2em;
	line-height: 1.45em;
	text-align: center;
	font-weight: bold;
	margin-bottom: 65px;
}
#point .point_list{
	display: flex;
	justify-content: space-between;
    flex-wrap: wrap;
}
#point .point_list li{
	max-width: 480px;
	width: 48.5%;
	margin-top: 60px;
}
#point .point_list li:nth-child(-n + 2){
	margin-top: 0;
}
#point .point_list li .img{
	position: relative;
	max-width: 480px;
	margin: 0 auto 10%;
	text-align: center;
}
#point .point_list li .img .no {
	position: absolute;
	opacity: 0.8;
	font-size: min(8vw,544%);
	font-weight: 700;
	line-height: 0.8;
	letter-spacing: .05em;
	right: 0;
	bottom: -0.15em;
}
#point .point_list li .img .no span {
	position: absolute;
	display: block;
	font-size: 16.4%;
	letter-spacing: .3em;
	writing-mode: vertical-rl;
	left: -1em;
	top: .5em;
}
#point .pt_style dt{
	font-size: min(168.75%,2.6vw);
	letter-spacing: 0.2em;
	line-height: 1.45em;
	font-weight: bold;
	margin-bottom: 0.4em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#point h3{
	margin-bottom: 6.5%;
}
#point .point_list li{
	margin-top: 6%;
}
#point .point_list li:nth-child(-n + 2){
	margin-top: 0;
}
#point .point_list li .img{
	max-width: 480px;
	text-align: center;
}
#point .pt_style dt{
	font-size: min(168.75%,2.6vw);
	letter-spacing: 0.2em;
	line-height: 1.45em;
	font-weight: bold;
	margin-bottom: 0.4em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#point h3{
	font-size: 160%;
	letter-spacing: 0.1em;
	margin-bottom: 8%;
}
#point .point_list{
	display: block;
}
#point .point_list li{
	max-width: 100%;
	width: 100%;
	margin-top:8%!important;
	padding-top: 10%;
	position: relative;
}
#point .point_list li:nth-child(-n + 1){
	margin-top: 0!important;
	padding-top: 0;
}
#point .point_list li::before {
    position: absolute;
    content: "";
    background-color: #b9e7fc;
    width: 80%;
    height: 1px;
    left: 10%;
    top: 0;
}
#point .point_list li:nth-child(-n + 1)::before {
    position: static;
    background-color: none;
}
#point .point_list li .img{
	width: 70%;
}
#point .point_list li .img .no {
	font-size: 15vw;
}
#point .pt_style dt{
	font-size: 138%;
	letter-spacing: 0.1em;
	margin-bottom: 0.4em;
}
}



/*flow
---------------------------------------------------------*/
#flow {
	padding-bottom: 150px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#flow{
	padding-bottom: 12%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#flow{
	padding-bottom: 14%;
}
}
