
/* module
----------------------------------------------------*/

#content {
    padding: 0px;
}

:root {
    --blue2: #1b75b2;
}

.blue {
	color: var(--blue2);
}
.orange {
	color: #ff6600;
}

p {
    font-size: 16px;
    font-weight: 500;
}

.gf {
	font-family: 'Josefin Sans', sans-serif;
}

.lp_title {
	margin-bottom: 30px;
    text-align: center;
	font-weight: 600;
}
.lp_title h2 {
	font-size: 36px;
	font-weight: 600;
}
.lp_title h2 span {
	font-size: 42px;
}


.artl .arrow {
    position: relative;
    display: inline-block;
    margin-bottom: 5px;
    padding: 0 35px;
    font-weight: 600;
    font-size: 18px;
    color: var(--blue);
}
.artl .arrow:before,
.artl .arrow:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 27px;
    height: 2px;
    background-color: var(--blue);
}
.artl .arrow:before {
    left: 0;
    -moz-transform: rotate(60deg);
    -webkit-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    transform: rotate(60deg);
}
.artl .arrow:after {
    right: 0;
    -moz-transform: rotate(-60deg);
    -webkit-transform: rotate(-60deg);
    -ms-transform: rotate(-60deg);
    transform: rotate(-60deg);
}


.artl_cta .arrow {
    position: relative;
    display: inline-block;
    margin-bottom: 12px;
    padding: 0 35px;
    font-weight: 600;
    font-size: 17px;
    color: #ffffff;
}
.artl_cta .arrow:before,
.artl_cta .arrow:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 27px;
    height: 2px;
    background-color: #ffffff;
}
.artl_cta .arrow:before {
    left: 0;
    -moz-transform: rotate(60deg);
    -webkit-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    transform: rotate(60deg);
}
.artl_cta .arrow:after {
    right: 0;
    -moz-transform: rotate(-60deg);
    -webkit-transform: rotate(-60deg);
    -ms-transform: rotate(-60deg);
    transform: rotate(-60deg);
}

#wrapper {
    overflow: initial;
}


/* header
----------------------------------------------------*/
header.header {
    position: absolute;
    width: 100%;
    z-index: 2;
}

header.header .logo_menu {
    min-height: 86px;
    margin: 0 auto;
	justify-content: start;

}

header.header .tel {
    margin-left: auto;
}

/* eyecatch
----------------------------------------------------*/

.eyecatch2.type2 {
    padding: 40px 0px 80px;
}

.eyecatch2 {
    position: relative;
    /*
    padding: 90px 0px 120px;
    background-image: url(../img/fv_bk.jpg);
    background-size: cover;
    background-position: center center;
    animation: bg 10s infinite linear;
    */
    padding: 120px 0px 0px;
    background: rgb(215 240 251);
    background: linear-gradient(305deg, rgb(161 216 243) 0%, rgb(240 249 255) 50%, rgb(227 243 253) 100%);
}
@keyframes bg {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: 360px -360px;
	}
}
.eyecatch2 .inner {
    align-items: center;
}
.eyecatch2 .left {
    width: 560px;
}
.eyecatch2 .right {
    width: calc( 100% - 560px);
    text-align: right;
}
.eyecatch2 h1 {
    margin-bottom: 10px;
    font-size: 60px;
    font-weight: 900;
    letter-spacing: 2px;
    line-height: 1.2;
    color: var(--blue2);
}
.eyecatch2 h1 .second {
	font-size: 78px;
    font-style: inherit;
}
.eyecatch2 h1 span .small {
    font-size: 50px;
    color: #555;
}
.eyecatch2 .sub {
	margin-bottom: 20px;
	font-size: 32px;
    font-weight: 600;
    letter-spacing: 3.0px;
}

.eyecatch2 .memo {
	margin-top: 20px;
    padding-left: 15px;
    font-size: 10px;
}
.eyecatch2 .fv_building {
    margin-top: 40px;
	opacity: 0.6;
}

.eyecatch2 .fv_degree img {
	width: 100%;
}


.eyecatch2 .fv_building img {
	margin: 0 auto;
}

.eyecatch2 .btn a {
    display: block;
}
.ikt2 {
    display: block;
    position: relative;
    z-index: 2;
    overflow: hidden;
    margin-top: 26px;
    padding: 20px 0px;
    font-size: 22px;
	width: 440px;
    font-weight: 600;
    text-align: center;
    color: #fff !important;
    text-decoration: none;
    background-image: -webkit-linear-gradient(45deg, #ffb100 0%, #f55e31 100%);
    background-image: linear-gradient(45deg, #ffb100 0%, #f55e31 100%);
    border-radius: 40px;
    border-bottom: solid 4px #b35008;
    transition: .25s linear;
    -webkit-transition: .25s linear;
    -moz-transition: .25s linear;
    text-shadow: 0px 2px 2px #bd5315;
}
.ikt2:hover {
    background-image: -webkit-linear-gradient(-45deg, #ffb100 0%, #f55e31 100%);
    background-image: linear-gradient(-45deg, #ffb100 0%, #f55e31 100%);
    border-bottom: solid 4px #522300;
    text-decoration: none !important;
}
.ikt2:after {
	position: absolute;
	content: "\f054";
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	top: 50%;
    right: 60px;
	left: auto;
	bottom: auto;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.ikt2:before {
    display: block;
    position: absolute;
    z-index: -1;
    left: -30%;
    top: -50%;
    content: "";
    width: 25px;
    height: 150px;
    transform: rotate(30deg);
    -webkit-transform: rotate(30deg);
    -moz-transform: rotate(30deg);
    background-image: linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 50%,rgba(255,255,255,0) 100%);
    background-image: -webkit-gradient(linear, left bottom, right bottom, color-stop(0%,rgba(255,255,255,0)), color-stop(50%,rgba(255,255,255,0.7)),color-stop(100%,rgba(255,255,255,0)));
    background-image: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, #ffffff rgba(255,255,255,0.7),rgba(255,255,255,0) 100%);
    animation: shiny 3s infinite linear;
    -webkit-animation: shiny 3s infinite linear;
    -moz-animation: shiny 3s infinite linear;
}

@keyframes shiny {
	0% {
		left: -30%;
	}
	20% {
		left: 120%;
	}
	100% {
		left: 120%;
	}
}
@-webkit-keyframes shiny {
	0% {
		left: -30%;
	}
	20% {
		left: 120%;
	}
	100% {
		left: 120%;
	}
}
@-moz-keyframes shiny {
	0% {
		left: -30%;
	}
	20% {
		left: 120%;
	}
	100% {
		left: 120%;
	}
}

/* ??????????
----------------------------------------------------*/

.what_area2 {
    background: #e8f0f3;
}

.what_box {
    position: relative;
    max-width: 820px;
    margin: 0 auto;
    padding: 40px;
    background: #f7f7f7;
    box-shadow: 23px 0px 0px -20px #f7f7f7, 0px 23px 0px -20px #f7f7f7, 0px -23px 0px -20px #f7f7f7, -23px 0px 0px -20px #f7f7f7, 0 0 0 3px #555;
}

/* ?????o??
----------------------------------------------------*/
.what_box:after {
    content: "";
    position: absolute;
    bottom: -50px;
    right: 30%;
    border: 25px solid transparent;
    border-top: 26px solid #f7f7f7;
}

.what_box_2 {
    padding: 40px;
    background: #fff;
    box-shadow: 0px 1px 10px 0px rgb(0 0 0 / 10%);
    border-radius: 10px;
}

.what_box_2 p{
	font-size: 18px;
	font-weight: 600;
}

.what_discussion {
    position: relative;
    top: 106px;
    margin-top: -60px;
    text-align: center;
}

	

/* ????????????????????
----------------------------------------------------*/

/* diff_area???????X?y?[?X????
----------------------------------------------------*/
.diff_area {
	padding-bottom: 0px;
}

.diff_area .diff_table {
	margin: 0 auto 40px;
	text-align: center;
}

.diff_area .diff_caution {
    margin: 0 auto;
    max-width: 820px;
    align-items: center;
}

.diff_area .diff_caution .img {
	width: 165px; 
	top: 106px;
}

/* ?????A?C?R???????e?L?X?g?z?u
----------------------------------------------------*/
.diff_area .diff_caution .txt {
	position: relative;
    width: calc(100% - 165px - 40px);
    margin-left: 40px;
    padding: 30px;
    background: #f2f2f2;
    border-radius: 10px;
}


/* ?????o??
----------------------------------------------------*/
.diff_area .diff_caution .txt:after{
    content: "";
    position: absolute;
    top: 30px;
    left: -30px;
    border: 15px solid transparent;
    border-right: 29px solid #f2f2f2;
}


/* CTA
----------------------------------------------------*/
.cta {
	position: relative;
    padding: 46px 0px;
    background-color: #176599;
}
section.cta:last-child {
    padding: 46px 0px;
}
.cta .inner {
	position: relative;
    align-items: center;
}
.cta .left{
	width: 380px;
}

.cta .left h1{
    margin: 0px 0px 0px;
    font-size: 38px;
    font-weight: 600;
    letter-spacing: 2px;
    line-height: 1.2;
    color: #ffffff;
}

.cta .tl {
    font-size: 38px;
    font-weight: 600;
    letter-spacing: 2px;
    line-height: 1.2;
    color: #fff;
}
.cta .tl .second {
	font-size: 52px;
    font-style: inherit;
}

.cta .tl .small {
    font-size: 36px;
    color: #ffffff;
}

.cta .right {
    width: calc(100% - 610px);
    padding: 0 30px 0 20px;
}

.cta .right a {
    display: block;
}

.cta .right a img {
    width: 100%;
}
.cta .right a.tel {
    margin: 0 auto 15px;
    text-align: center;
}
.cta .right a.tel img {
    max-width: 320px;
}

.cta .cta_man {
    position: absolute;
    bottom: -70px;
    right: -52px;
}
.cta .cta_subsidy {
	margin: 10px 0 0 16px;
}

.cta .cta_subsidy a {
    font-size: 12px;
    color: #f8fcff;
    text-decoration: underline;
}
	    

.cta .ikt2 {
    display: block;
    position: relative;
    z-index: 2;
    overflow: hidden;
    margin: 0px;
	width: 100%;
    padding: 20px 0px;
    font-size: 22px;
    font-weight: 600;
    text-align: center;
    color: #fff !important;
    text-decoration: none;
    background-image: -webkit-linear-gradient(45deg, #ffb100 0%, #f55e31 100%);
    background-image: linear-gradient(45deg, #ffb100 0%, #f55e31 100%);
    border-radius: 40px;
    border-bottom: solid 4px #b35008;
    transition: .25s linear;
    -webkit-transition: .25s linear;
    -moz-transition: .25s linear;
    text-shadow: 0px 2px 2px #bd5315;
}

/* ????????????
----------------------------------------------------*/

.kinds {
	background-image: url(../img/kinds_bk.png);
	background-size: cover;
}
.kinds .inner {
    position: relative;
}

.kinds_list {
    margin: 40px auto;
    position: relative;
}

/* box??2?????z?u
----------------------------------------------------*/
.kinds_box {
    width: calc(100% / 2 - 2%);
    margin: 1%;
    padding: 40px 50px;
    background: #fff;
    text-align: center;
    border-radius: 20px;
}

.kinds_box .tl {
    margin-bottom: 15px;
    font-size: 26px;
    font-weight: 700;
}

.kinds_box .txt {
	text-align: left;
}

.kinds_box .price_box {
    width: 90%;
    margin: 20px auto;
    padding: 8px 0px;
    background: #176599;
    border-radius: 25px;
}

.kinds_box .price {
    margin: 0 auto;
    font-size: 20px;
    color: #fff;
    text-align: center;
}

.kinds_icon {
    position: absolute;
    top: 0%;
    left: 6%;
}

.kinds_icon img {
    width: 118px;
}



/* ????????????????????????????
----------------------------------------------------*/
 .when_box {
    position: relative;
    max-width: 700px;
    margin: 0 auto;
    padding: 20px 40px;
    background: #1b75b2;
    border-radius: 20px;
}

.three_list .txt {
	text-align: left;

}

 /* ?????o??
----------------------------------------------------*/
 .when_box:after {
    content: "";
    position: absolute;
    bottom: -55px;
    right: 46%;
    border: 26px solid transparent;
    border-top: 32px solid #1b75b2;
}


.when_txt h2 {
	text-align: center;
	font-size: 38px;
	font-weight: 600;
	color: #fff;
}

.three_list {
    justify-content: center;
}

.when li {
    padding: 0 15px;
}


.three_list li .img {
    margin: 50px 0px;
}

.when li .img img {
	width: 280px;
    height: 280px;
}
   

.when li h3 {
    margin-bottom: 15px;
    color: var(--blue);
    font-size: 24px;
    font-weight: 600;
}

    
/* No.1
----------------------------------------------------------- */
section.rank {
    margin-top: -100px;
    padding-bottom: 0;
}
.rank .bg_img {
    padding: 60px 0;
    background: center / cover no-repeat url(/common/img/no.1_bg.jpg);
}
.rank_title {
    width: 90%;
    margin: 0 auto 3%;
}
.rank_txt {
    position: relative;
    height: 300px;
}
.rank_txt_inner {
    margin-top: 5%;
}
.rank_txt_inner p {
    position: relative;
    padding-top: 6px;
    padding-bottom: 10px;
    border-bottom: 1px dotted var(--white);
    line-height: 1.6;
}
.rank_txt_inner p span {
    padding-left: 70px;
}

.rank_contents p {
    margin-top: 2%;
    text-shadow: 2px 2px 2px var(--milky-white);
}
.rank_txt_img {
    position: absolute;
    bottom: 0;
    right: -5%;
}
 
/* ?????????s??者???I????
----------------------------------------------------*/
.solution_area {
	    background-image: url(../img/sol_bk.png);
	    background-size: cover;
}

.title_area {
    margin: 0 auto 40px;
    text-align: center;
}

.title_area .sub {
    margin-bottom: 10px;
    padding-bottom: 10px;
    display: inline-block;
    font-weight: 700;
    font-size: 26px;
    letter-spacing: 1.5px;
    color: var(--blue);
    border-bottom: 3px solid var(--blue);
}

.title_area h2 {
    font-size: 40px;
    line-height: 1.4;
    font-weight: 900;
}

.title_area h2 span {
    color: var(--blue);
}

.three_list {
    justify-content: center;
}

.solution_area .three_list li .num {
    margin-top: -40px;
}

.solution_area .three_list li .num span {
    display: inline-block;
    padding: 20px 17px;
    font-size: 26px;
    line-height: 1;
    color: #fff;
    background: var(--blue);
    border-radius: 50%;
}

.solution_area .three_list li h3 {
	font-size: 20px;
	font-weight: 600;
    margin-top: 20px;
    color: var(--blue);
}

.solution_area .three_list li .img {
    margin: 40px 0px;
    width: 280px;
    height: 142px;
}

.solution_area .three_list li {
    margin-top: 40px;
    padding: 24px;
    background: #fff;
    border-radius: 10px;
}

.solution_area .three_list li p {
	font-size: 14px;
	text-align: left;
}

/* ???X?g????????3?????z?u
----------------------------------------------------*/
.three_list li {
    width: calc(100% / 3 - 30px);
    margin-right: 30px;
    text-align: center;
}

.three_list li:last-child{
	margin-right: 0px;
}




    /* ???r?r?X???????p????????
----------------------------------------------------*/
.feat_biz_area .left {
    width: calc(100% - 546px);
    padding-right: 60px;
}
    
.feat_biz_area .left .tl {
    margin-bottom: 30px;
}

.feat_biz_area .left .txt p {
    font-size: 16px;
}
    
.feat_biz_area .right {
    width: 546px;
}



    /* ???r?r?X?????p????????
----------------------------------------------------*/
.flow_area {
	background-image: url(../img/feat_biz_area.png);
	background-size: cover;
}

.flow_list li:not(:first-child):before {
	left: -20px;
}

.flow_list li {
	width: calc(100% / 3 - 20px);
	margin: 0 10px;
}



.flow_list li:last-child .flow {
    margin-right: 0px;
}

.flow_list li .tl_area {
    margin: 0px 0px 20px;
    text-align: center;
}

.flow_list li .tl_area .gf {
    margin-bottom: 5px;
    line-height: 1;
    font-size: 18px;
    font-weight: 600;
    color: #869aa5;
}

.flow_list li .tl_area h3 {
    font-size: 20px;
    font-weight: 600;
}
.flow_list li .img {
    margin: 20px auto;
    text-align: center;
}

.flow_list {
    margin-top: 40px;
}

.flow_area .flow_list li {
	margin-top: 40px;
    padding: 30px;
    background: #fff;
    border-radius: 10px;
}
    


/* footer?????X?y?[?X????
----------------------------------------------------*/
#footer {
	margin-top: 0px;
}


/* ??????
----------------------------------------------------*/

.search_category {
    background: #f7f7f7;
}


/* ?^?u???b?g????
----------------------------------------------------*/
@media screen and ( max-width:1020px ) {
	
	.inner.flex_in {
	    display: block;
	}
	
	
	.tablet {
		display: none;
	}
	
	
	/* eyecatch2
	----------------------------------------------------*/	
	.eyecatch2 .left {
	    width: 100%;
	    text-align: center;
	}
	
	.eyecatch2 h1 {
	    font-size: 80px;
	}
	
	.eyecatch2 h1 .second {
	    font-size: 105px;
	}
	
	.eyecatch2 .sub {
	    font-size: 41px;
	}

	.ikt2 {
		width: 100%;
		margin: 26px 0px 0px 0px;
	}
	

	/* ??????????
	----------------------------------------------------*/
	.what_box {
	    box-shadow: 23px 0px 0px -20px #f7f7f7, 0px 23px 0px -20px #f7f7f7, 0px -23px 0px -20px #f7f7f7, -23px 0px 0px -20px #f7f7f7, 0 0 0 2px #555;
	}
	

		
		
	/* ????????????????????
	----------------------------------------------------*/	
	.diff_area .diff_table img {
		width: 788px;
		margin: 0 auto 40px;
    }
    
    .diff_area .diff_caution .txt p {
		font-size: 21px;
	}
	
	.diff_area .diff_caution .txt {
    	width: calc(100% - 165px - 20px);
    	margin-left: 20px;
    }
	
	.diff_area .diff_caution .img {
    	width: 165px;
	}
	
	
	/* cta
	----------------------------------------------------*/
	.artl_cta .arrow {
	    font-size: 33px;
	}

	.cta .tl {
	    font-size: 55px;
	}
	
	.cta .tl .second {
	    font-size: 77px;
	}

	.cta .right {
		text-align: center;
	}

	.cta .left, .cta .right {
    	width: 100%;
    	padding: 0px;
    	text-align: center;
	}
	
	.cta .right a.tel img {
	    max-width: 68%;
		margin-top: 10px;
	}
	
	.cta .right a img {
    	width: 72%;
	}
	
	
	.cta .cta_subsidy a {
	    font-size: 15px;
		margin-left: 138px;
	}

	.cta .ikt2 {
		margin: 20px 0 0;
	}
	
		
	
	/* ????????????
	----------------------------------------------------*/	
	.kinds_box .tl {
    	font-size: 27px;
	}
	
	
	/* ????????????????????????????
	----------------------------------------------------*/	
	.when li .img img {
		width: 230px;
    	height: 230px;
	}
	
	.when li h3 {
		margin-bottom: 15px;
	    font-size: 16px;
	}
	
	.when li .img:last-child {
    	margin-right: 0px;
	}
	
	/* ?????????s??者???I????
	----------------------------------------------------*/
	.solution_area .three_list li .img {
	    width: 100%;
	    height: 100%;
	}
	

	
	/* ???r?r?Y???????p????????
	----------------------------------------------------*/		
	.feat_biz_area .left {
	    width: 100%;
	    padding: 0;
	    text-align: center;
    }
    
    .feat_biz_area .right {
    	width: 100%;
    	text-align: center;
	}
	
	.feat_biz_area .left .txt p {
	    margin: 40px 68px;
	}
		

	
	/* ???r?r?Y?????p????????
	----------------------------------------------------*/	
	.flow_list li .img img {
		width: 200px;
		margin: 15px auto;
	}
	.flow_list li .tl_area h3 {
	    font-size: 20px;
    }
	.flow_list li .tl_area {
		display: block;
	}
}	


/* ?X?}?[?g?t?H??????
----------------------------------------------------*/	
@media screen and ( max-width:760px ) {
	
	.three_list.flex_in {
	    display: block;
	}
	
	.three_list li {
	    width:100%;
	    text-align: center;
	}

	section {
		padding: 60px 0px;
	}

	.lp_title h2 {
	    font-size: 28px;
	    font-weight: 600;
	}
	p {
	    font-size: 14px;
	}
	
	#content {
		padding-top: 0px;
	}

	header .site_logo {
        margin-left: 0px;
        padding-left: 0px;
    }
	
	header.header .logo_menu {
	    width: 100%;
    	min-height: 62px;
	}

	header.header .logo_menu .tel {
	    padding-right: 15px;
	}

	header.header .logo_menu .tel img {
	    max-width: 170px;	    
	}

	
    /* eyecatch
	----------------------------------------------------*/		
	
	.eyecatch2 {
	    padding: 60px 0px 0px;
	}
	.eyecatch2 .left,
	.eyecatch2 .right {
		width: 100%;
	}

	.eyecatch2 h1 {
		margin: 15px 0px;
		font-size: 36px;
    	letter-spacing: 2.5px;
	}
	
	.eyecatch2 h1 .second {
    	font-size: 47px;
    }
    
    .eyecatch2 .sub {
   	 	font-size: 18px;
    	letter-spacing: 1px;
    }
    
	.eyecatch2 .memo {
	    padding-left: 10px;
	}
	
	.ikt2 {
		padding: 16px 0px;
	}
		
	/* ??????????
	----------------------------------------------------*/	
	.what_box {
	    padding: 23px;
	    box-shadow: 23px 0px 0px -20px #f7f7f7, 0px 23px 0px -20px #f7f7f7, 0px 		-23px 0px -20px #f7f7f7, -23px 0px 0px -20px #f7f7f7, 0 0 0 2px #555;
	}

	.what_box_2 {
		padding: 20px;
	}
	
	.what_box_2 p {
	    font-size: 13px;
	}

	.what_discussion {
	    top: 76px;
	}
	


	/* ????????????????????
	----------------------------------------------------*/
	.lp_title h2 span {
	    font-size: 33px;
	}
	
	.lp_title h2 {
	    font-size: 22px;
	    font-weight: 600;
	}

	.diff_area .diff_caution .img {
	    width: 110px;
	}

	.diff_area .diff_caution .txt {
	    width: calc(100% - 110px - 20px);
	    margin-left: 20px;
	    padding: 14px;
	}

	.diff_area .diff_caution .txt p {
		font-size: 12px;
	}
	
	.diff_area .diff_table {
	    margin: 0 auto 20px;
	}



	
	/* cta
	----------------------------------------------------*/
	.artl_cta .arrow {
    	padding: 0 25px;
	    font-size: 15px;
	}

	.cta .tl {
	    font-size: 34px;
	}
	
	.cta .tl .second {
	    font-size: 45px;
	}

	.cta .right {
		text-align: center;
	}
	
	.cta .cta_subsidy a.over {
		margin: 0 auto;
	}

	.cta .cta_subsidy a {
	    font-size: 13px;
	}
	
	.cta .cta_subsidy {
	    position: relative;
	    bottom: 0;
	    text-align: center;
		margin: 10px 0 0 0px;
	}
	
	.cta .left, .cta .right {
    	width: 100%;
    	padding: 0px;
    	text-align: center;
	}
	
	.cta .right a.tel img {
	    max-width: 80%;
	}
	
	.cta .right a img {
    	width: 100%;
	}

	.cta .ikt2 {
		padding: 16px 0px;
	}


	/* ????????????
	----------------------------------------------------*/
	.kinds_list {
	    margin: 28px auto 0px;
	}
	.kinds_box {
	    width: 100%;
	    margin-bottom: 15px;
	    padding: 15px 18px;
	}
	
	.kinds_box .tl {
    	font-size: 15px;
	}

	.kinds_box {
		padding: 15px 18px;
	}

	.kinds_box .price_box {
	    width: 100%;
    	margin: 15px 0px;
	}

	.kinds_box .price {
		font-size: 15px;
	}

	.price_txt .txt p {
		font-size: 12px;
	}	
		
    
	
 	/* ????????????????????????????
	----------------------------------------------------*/
	.when_txt h2 {
	    font-size: 17px;
	}
	
	.when_box {
	    padding: 16px 34px;
	}
	.when_box:after {
	    bottom: -40px;
	    right: 42%;
	}
	.when .three_list li {
		margin: 30px 0px;
		padding: 0px;
		display: flex;
    	flex-wrap: wrap;
	    flex-direction: row;
	}

	.when .three_list li .img {
		width: 80px;
    	margin: 0;
	}

	.when .three_list li .wrap {
		width: calc(100% - 80px);
		padding-left: 30px;
		text-align: left;
	}
	
	.three_list li .txt p {
    	font-size: 13px;
	}
	
	.three_list li .img {
    	margin: 50px 0px 30px 0px;
    }
    
    .when li .img img {
		width: auto;
    	height: auto;
	}
	 
	/* ?????????s??者???I????
	----------------------------------------------------*/	
	
	.solution_area .three_list li p {
    	font-size: 14px;
    	margin-bottom: 10px;
    }
    
    .solution_area .three_list li .img {
	    margin: 20px auto;
	    width: 80px;
	    height: auto;
	}
    
	
	
	/* ???r?r?Y???????p?????????B
	----------------------------------------------------*/
	.artl .arrow {
	    font-size: 17px;
	}
    
	.feat_biz_area .left {
	    margin: 20px auto;
	    width: 100%;
	    padding: 0;
	}

    .feat_biz_area .left .txt p {
    	font-size: 13px;
		margin: 10px auto;
	}
	
	/* ???r?r?Y???????p????????
	----------------------------------------------------*/
	.t_center {
    	font-size: 15px;
	}
	
	.flow .txt p {
    	font-size: 13px;
	}
	
	.flow_area .flow_list li {
    	margin-top: 20px;
    }
    
    .feature_list li,
	.flow_list li {
	    width: 100%;
	    margin: 0px 0px 15px;
	}
	
	.flow_list li {
		margin-bottom: 45px;
	}
	
	.flow_list li:not(:first-child):before {
		top: -44px;
        left: 47%;
	}

	.feature_list li .img {
	    max-width: 160px;
	}
	
	

}


/* ????????
----------------------------------------------------*/	
@media screen and ( max-width:380px ) {
	
	/* eyecatch2
	----------------------------------------------------*/
	
	.eyecatch2 h1 {
	    font-size: 33px;
	}
	
	.eyecatch2 h1 .second {
    	font-size: 45px;
	}
	
	.diff_area .diff_caution .txt p {
		font-size: 10px;
	}

	
	/* ????????????
	----------------------------------------------------*/	
	.kinds_box .tl {
    	font-size: 13px;
	}
	

	.kinds_box .price {
	    font-size: 13px;
	}

	
	/* ????????????????????????????
	----------------------------------------------------*/		
	.three_list li .txt p {
    	font-size: 12px;
	}
	
	
	/* ???r?r?Y???????p????????
	----------------------------------------------------*/	
	.artl .arrow {
    	font-size: 16px;
	}
	
	.lp_title h2 {
	    font-size: 21px;
	    font-weight: 600;
	}	

}	