﻿.flow_type3 .cate{counter-reset: box;}
.flow_type3 .cate_box{counter-increment: box;}
.flow_type3 .box_item{padding-top: 60px;}
.flow_type3 .box_title1{z-index: 0}
.flow_type3 .box_title1::before, .flow_type3 .box_title1::after{
	position: absolute;
	content: "";
	display: block;
	pointer-events: none
}
.flow_type3 .box_title1::before {
	content: "0"counter(box);
	font-size: 86px;
	color: #ebebeb;
	left: 0;
	top: -70px;
	z-index: -1;
}
.flow_type3 .box_title1::after{
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
	background-color: #222
}
/*-------- スマートフォン --------*/
@media screen and (max-width: 667px){
.flow_type3 .box_title1::before{
	left: auto;
	right: 0;
	top: -50px
}
.flow_type3 .box_item {
    padding-top: 36px;
}
}
.flow_type1 .cate_box{border-left:none;background-color: rgba(0,0,0,0);}
.flow_type1 .box_txt1,
.flow_type1 .box_txt2{padding-left:130px;}

.flow_type1 .box_wrap{
    position: relative;
    padding-left: 30px;
}
.flow_type1 .box_wrap:before{
    content: "";
    display: inline-block;
    height: calc(100% - 0px);
    border-left: 14px solid rgba(243, 237, 225, .78);
    position: absolute;
    top: -5px;
    left: 107px
}
.flow_type1 .box_txt1{position:relative;}
.flow_type1 .box_txt1::before,
.flow_type1 .box_txt1::after {
	content: "";
	display: block;
	position: absolute;
	top: 18px;
}
.flow_type1 .box_txt1::before {
	width: 7px;
	height: 7px;
	margin-top: -3px;
	background: #6b90db;
	border-radius: 50%;
	left: 61.5px;
}
.flow_type1 .box_txt1::after {
	width: 50px;
	border-bottom: 1px dashed #999;
	position: absolute;
	left: 72px;
}
.flow_type1 .box_description2{
    position: relative;
    border-left: none;
    background-color: rgba(255, 255, 255, 0);
}
.flow_type1 .box_description2 span{
position: absolute;
    display: inline-block;
    width: 90px;
    top: -23px;
    left: -50px;
}
/*--------タブレット--------*/
@media screen and (max-width: 768px){
.flow_type1 .flex_order2_tb{
    width: 78%!important;
    margin-left: auto;
}
}
/*--------スマートフォン--------*/
@media screen and (max-width: 667px){
.flow_type1 .box_description2 span {
    width: 70px;
}
.flow_type1 .box_wrap{
    padding-left: 23px;
}
.flow_type1 .box_wrap:before {
    left: 22px;
}
.flow_type1 .box_txt1::before, .flow_type1 .box_txt1::after {
    top: 58px;
}
.flow_type1 .box_txt1::before {
    margin-top: -3px;
    left: -17.5px;
}
.flow_type1 .box_txt1::after {
    width: 30px;
    left: -8px;
}
.flow_type1 .box_txt1, .flow_type1 .box_txt2 {
    padding-left: 30px;
}
.flow_type1 .box_txt1{
    padding-top: 46px;
}
.flow_type1 .flex_order2_tb {
    width: 87%!important;
}
}

.link_type2 .cate_box a {
    color: #fff;
}
.link_type2 .cate_box a:before, .link_type2 .cate_box a:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.5);
    z-index: 1;
}
.link_type2 .cate_box a:after {
    top: 100%;
    background-color: var(--color3);
    transition: 0.5s;
	z-index: 3;
}
.link_type2 .cate_box a:hover:after {
    top: 0;
}
.link_type2 .cate_box .txt_wrap {
    z-index: 2;
}
.link_type2 .more {
	letter-spacing: 3px;
    box-sizing: border-box;
	opacity: 0;
	transition: opacity .8s;
	z-index: 4;
}
.link_type2 .cate_box a:hover .more {
    opacity: 1;
}
#cms_2-c .box_item{
	word-break: break-all;
}
.cms_2-c .cate_box{
    justify-content: flex-start;
}
@media screen and (max-width: 667px){
	#cms_2-c .cate_title{
		margin-left: 0;
	}
	#cms_2-c .box_item{
		border: none;
	}
	.cms_2-c .box_item{
		border: none;
	}
}

.BA_type2 .box_img1_wrap, .BA_type2 .box_img2_wrap {
	width: 48%!important;
	margin: 0 1%;
}
.BA_type2 .box_img1_wrap::before, .BA_type2 .box_img2_wrap::before {
	position: absolute;
	content: "Before";
	width: 121px;
	background-color: var(--color1);
	color: #fff;
	text-align: center;
	display: block;
	left: 0;
	bottom: 0;
	margin: auto;
	z-index: 1;
	font-size: 14px;
	letter-spacing: 1px;
	padding: 4px 0px;
	box-sizing: border-box;
}
.BA_type2 .box_img2_wrap::before {
	content: "After";
	background-color: var(--color5);
}

/* ---------- スマホ ---------- */
@media screen and (max-width: 667px){
.BA_type2 .box_img1_wrap::before, .BA_type2 .box_img2_wrap::before{
	width: 76px;
	font-size: 13px;
}
.BA_type2 .box_img1_wrap::before, .BA_type2 .box_img2_wrap::before{padding: 1px 0px;}
}
#cms_5-c .box_title1{
	border-color: rgba(0,0,0,0.05)
}
#cms_5-c .box_title1::before{
	content: "Q.";
	font-weight: bold;
	position: absolute;
	top: 6px;
	left: 13px;
	font-size:-webkit-calc(1rem + 8px);font-size : calc(1rem + 8px);
}
#cms_5-c .box_txt1::before{
	content: "A.";
	font-weight: bold;
	position: absolute;
	color: var(--color3);
	top: 8px;
	left: 13px;
	font-size:-webkit-calc(1rem + 8px);font-size : calc(1rem + 8px);
}
.cms_5-c .box_title1{
	border-color: rgba(0,0,0,0.05)
}
.cms_5-c .box_title1::before{
	content: "Q.";
	font-weight: bold;
	position: absolute;
	top: 6px;
	left: 13px;
	font-size:-webkit-calc(1rem + 8px);font-size : calc(1rem + 8px);
}
.cms_5-c .box_txt1::before{
	content: "A.";
	font-weight: bold;
	position: absolute;
	color: var(--color3);
	top: 8px;
	left: 13px;
	font-size:-webkit-calc(1rem + 8px);font-size : calc(1rem + 8px);
}

@media screen and (max-width: 768px){
	#cms_5-c .box_title1::before{
		top: 6px;
		font-size:-webkit-calc(1rem + 6px);font-size : calc(1rem + 6px);
	}
	#cms_5-c .box_txt1::before{
		top: 9px;
		font-size:-webkit-calc(1rem + 6px);font-size : calc(1rem + 6px);
	}
	.cms_5-c .box_title1::before{
		top: 6px;
		font-size:-webkit-calc(1rem + 6px);font-size : calc(1rem + 6px);
	}
	.cms_5-c .box_txt1::before{
		top: 9px;
		font-size:-webkit-calc(1rem + 6px);font-size : calc(1rem + 6px);
	}
}
@media screen and (max-width: 667px){
	#cms_5-c .box_title1::before{
		top: 5px;
		left: 0;
		font-size:-webkit-calc(1rem + 4px);font-size : calc(1rem + 4px);
	}
	#cms_5-c .box_txt1::before{
		top: 10px;
		left: 0;
		font-size:-webkit-calc(1rem + 4px);font-size : calc(1rem + 4px);
	}
	.cms_5-c .box_title1::before{
		top: 5px;
		left: 0;
		font-size:-webkit-calc(1rem + 4px);font-size : calc(1rem + 4px);
	}
	.cms_5-c .box_txt1::before{
		top: 10px;
		left: 0;
		font-size:-webkit-calc(1rem + 4px);font-size : calc(1rem + 4px);
	}
}