@charset "UTF-8";



/*first
---------------------------------------------------------*/
#first .bg {
	background: #8fb4ba url("../images/lead_bg1@2x.jpg") no-repeat center center;
	background-size: cover;
	text-align: center;
	color: #fff;
	font-size: min(100%,1.6vw);
	position: relative;
	overflow: hidden;
}
#first .bg::before {
	content: "";
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	background: url("../images/lead_bg2@2x.png") no-repeat center center;
	background-size: contain;
	left: 0;
	bottom: 0;
	transform: translateY(10%);
}
#first .bg p {
	position: relative;
	z-index: 1;
}
#first .txt1 {
	width: 35%;
	margin: 0 auto 40px;
}
#first .txt2 {
	font-size: 240%;
	letter-spacing: .05em;
	line-height: 1.5em;
}
#first .txt2 span {
	color: #f5ff66;
}
#first .txt3 {
	font-size: 280%;
	letter-spacing: .05em;
	line-height: 2.2em;
	margin: .7em 0 .4em;
}
#first .txt3 .ft_gin {
	font-size: 135%;
	letter-spacing: .05em;
	line-height: 1.0em;
	display: inline-block;
	vertical-align: middle;
	transform: translateY(-.1em);
	margin-left: .2em;
	margin-right: .1em;
}
#first .txt3 .ft_gin::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	margin: auto;
	left: 0;
	right: 0;
	top: -.3em;
	background: url("../images/lead_dash1@2x.png") no-repeat center top;
	background-size: contain;
}
#first .txt3 .ft_gin.dash2::before {background-image: url("../images/lead_dash2@2x.png");}
#first .txt3 .kakko1,
#first .txt3 .kakko2 {
	font-size: 135%;
	letter-spacing: .05em;
	line-height: 1.0em;
}
#first .txt3 .kakko1 {
	margin-left: -.3em;
}
#first .txt3 .kakko2 {
	margin-right: -.3em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#first .txt1 {
	margin-bottom: 3%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#first .bg {
	background-image: url("../images/lead_bg1_sp.jpg");
	font-size: 100%;
}
#first .txt1 {
	width: 65%;
	margin-bottom: 4%;
}
#first .txt2 {
	font-size: 140%;
}
#first .txt3 {
	font-size: 160%;
}
}



/*case
---------------------------------------------------------*/
#case h2 {
	text-align: center;
	font-size: 155%;
	letter-spacing: .1em;
	line-height: 1.6em;
	margin-bottom: 50px;
}
#case h2 span {
	font-size: 70%;
	letter-spacing: .1em;
	line-height: 1.6em;
}
#case .case_slider .swiper-slide {
	width: 30vw;
	max-width: 300px;
}
#case .case_slider p {
	text-align: left;
	letter-spacing: .05em;
	line-height: 2.0em;
	margin-top: .8em;
}
#case .com_btn1 a {
	width: 17em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#case h2 {
	margin-bottom: 4%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#case h2 {
	font-size: 125%;
	letter-spacing: normal;
	margin-bottom: 6%;
}
#case h2 span {
	display: block;
	font-size: 85%;
	letter-spacing: .05em;
}
#case .case_slider .swiper-slide {
	width: 65vw;
	max-width: 100%;
}
#case .case_slider p {
	line-height: 1.6em;
}
#case .com_btn1 a {
	width: 14em;
}
}



/*guide
---------------------------------------------------------*/
#guide {
	padding-top: 180px;
}
#guide .bg {
	background: #edf0f2;
}
#guide .w1300 {
	text-align: center;
}
#guide .title_box {
	position: relative;
	z-index: 1;
}
#guide .title_box::before {
	content: "";	/*上白背景*/
	position: absolute;
	z-index: -1;
	width: 100vw;
	height: 40%;
	background: #fff;
	left: 50%;
	top: -1px;
	transform: translateX(-50%);
}
#guide .title_box .com_slash1 {
	font-size: min(140%,2.0vw);
}
#guide .title_box .fukidashi {
	width: min(76%,85vh);
	max-width: 860px;
	padding: min(6%,6vh) 12% min(9.5%,10vh);
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
#guide .title_box .fukidashi::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: url("../images/guid_fukidashi@2x.png") no-repeat center center;
	background-size: 100% 100%;
}
#guide .title_box .fukidashi .ft_gin {
	font-size: min(170%,2.5vw);
	letter-spacing: .15em;
	line-height: 1.6em;
	margin-top: .2em;
}
#guide .title_box .fukidashi .abs li {
	position: absolute;
	z-index: -2;
	width: min(12vw,15vh);
	max-width: 165px;
	bottom: 91%;
}
#guide .title_box .fukidashi .abs li:first-child {
	left: 15%;
}
#guide .title_box .fukidashi .abs li:last-child {
	right: 15%;
}

#guide .item_list {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#guide .item_list li {
	width: 23%;
	/*margin-right: 2.6666%;*/
	margin-top: 2.5%;
}
#guide .item_list > li:nth-child(1),
#guide .item_list > li:nth-child(8) {
	margin-left: 12.83%;	/* ( 23 + 2.6666 ) ÷ 2 */
}
#guide .item_list > li:nth-child(3),
#guide .item_list > li:nth-child(10) {
	margin-right: 12.83%;
}

#guide .item_list.item9 {
	width: 100%;
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}
#guide .item_list.item9 li {
	width: 31%;
	max-width: 298px;
	margin-right: 3.5%;
	margin-top: 4%;
	margin-left: 0;
}
#guide .item_list.item9 li:nth-child(3n) {
	margin-right: 0;
}

#guide .item_list a {
	display: block;
	border-radius: 50%;
	position: relative;
	box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.25);
	transition: all 0.8s;
}
#guide .item_list a:hover {
	transition: all 0.4s;
	box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.25);
}
#guide .item_list a > div {
	width: 55%;
	max-width: 162px;
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	top: 0;
	transform: translateY(-30%);
}
#guide .item_list a .com_ccl {
	font-size: min(90%,1.2vw);
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 5%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#guide {
	padding-top: 18%;
}
#guide .title_box .com_slash1 {
	font-size: 2.3vw;
}
#guide .title_box .fukidashi .abs li:first-child {
	left: 10%;
}
#guide .title_box .fukidashi .abs li:last-child {
	right: 10%;
}

#guide .item_list li {
	width: 24%;
	/*margin-right: 1.3333%;*/
	margin-top: 1.7%;
}
#guide .item_list > li:nth-child(1),
#guide .item_list > li:nth-child(8) {
	margin-left: 12.66%;	/* ( 24 + 1.3333 ) ÷ 2 */
}
#guide .item_list > li:nth-child(3),
#guide .item_list > li:nth-child(10) {
	margin-right: 12.66%;
}

#guide .item_list.item9 li {
	width: 32%;
	margin-right: 2%;
	margin-top: 4%;
	margin-left: 0;
}
#guide .item_list.item9 li:nth-child(3n) {
	margin-right: 0;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#guide {
	padding-top: 20%;
}
#guide .title_box::before {
	content: "";	/*上白背景*/
	position: absolute;
	z-index: -1;
	width: 100vw;
	height: 40%;
	background: #fff;
	left: 50%;
	top: -1px;
	transform: translateX(-50%);
}
#guide .title_box .com_slash1 {
	font-size: 105%;
}
#guide .title_box .fukidashi {
	width: 96%;
	padding: 8% 8% 12%;
	left: 50%;
	transform: translateX(-50%);
}
#guide .title_box .fukidashi .ft_gin {
	font-size: 100%;
}
#guide .title_box .fukidashi .abs li {
	width: 15vw;
}
#guide .title_box .fukidashi .abs li:first-child {
	left: 10%;
}
#guide .title_box .fukidashi .abs li:last-child {
	right: 10%;
}

#guide .item_list {
    justify-content: center;
    flex-wrap: wrap;
}
#guide .item_list li {
	width: 47.5% !important;
	margin: 8% 5% 0 0 !important;
}
#guide .item_list li:nth-child(-n+2) {
	margin-top: 4% !important;
}
#guide .item_list li:nth-child(2n),
#guide .item_list li:last-child {
	margin-right: 0 !important;
}
#guide .item_list a .com_ccl {
	font-size: 60%;
	bottom: 4%;
}
}



/*reason
---------------------------------------------------------*/
#reason .title_box {
	text-align: center;
	margin-bottom: 130px;
}
#reason .title_box .ft_min {
	font-size: min(250%,3.5vw);
	letter-spacing: .1em;
	line-height: 1.4em;
	margin-bottom: .5em;
}
#reason .title_box .ft_min span {
	display: block;
	width: 80%;
	margin: .7em auto 0;
}
#reason .title_box .ft_min + p {
	width: 40%;
	margin: 0 auto;
}

#reason .reas_title {
	width: 100%;
	margin: 0 auto 100px;
	position: relative;
}
#reason .reas_title .no {
	width: 23%;
	max-width: 340px;
	position: absolute;
	z-index: 1;
	bottom: 0;
	transform: translateY(15%);
}
#reason .reas_title .img_bar {
	width: 80%;
	height: 22vw;
	max-height: 295px;
	background: url("../images/reas01_title@2x.jpg") no-repeat center center;
	background-size: cover;
	position: relative;
	z-index: 0;
}
#reason .reas_title .img_bar::before {
	content: "";	/*台形*/
	position: absolute;
	width: 26%;
	max-width: 310px;
	height: 100%;
	top: 0;
	background: url("../images/reas_parts1@2x.png") no-repeat center center;
	background-size: 100% 100%;
}
#reason .reas_title .img_bar::after {
	content: "";	/*三角*/
	position: absolute;
	width: 9%;
	max-width: 100px;
	height: 100%;
	top: 0;
	background: url("../images/reas_parts3@2x.png") no-repeat center center;
	background-size: 100% 100%;
}
#reason .reas_title .point {
	width: 32%;
	max-width: 360px;
	position: absolute;
	z-index: 1;
	top: 0;
}
#reason .img_l .reas_title .no {
	left: 0;
}
#reason .img_l .reas_title .img_bar {
	margin-left: 0;
	margin-right: auto;
}
#reason .img_l .reas_title .img_bar::before {
	left: 0;
	background-image: url("../images/reas_parts1@2x.png");
}
#reason .img_l .reas_title .img_bar::after {
	right: 0;
	background-image: url("../images/reas_parts3@2x.png");
}
#reason .img_l .reas_title .point {
	right: 0;
	transform: translateX(42%);
}
#reason .img_r .reas_title .no {
	right: 0;
}
#reason .img_r .reas_title .img_bar {
	margin-right: 0;
	margin-left: auto;
}
#reason .img_r .reas_title .img_bar::before {
	right: 0;
	background-image: url("../images/reas_parts2@2x.png");
}
#reason .img_r .reas_title .img_bar::after {
	left: 0;
	background-image: url("../images/reas_parts4@2x.png");
}
#reason .img_r .reas_title .point {
	left: 0;
	transform: translateX(-42%);
}
#reason .box2 .reas_title .img_bar {background-image: url("../images/reas02_title@2x.jpg");}
#reason .box3 .reas_title .img_bar {background-image: url("../images/reas03_title@2x.jpg");}
#reason .box4 .reas_title .img_bar {background-image: url("../images/reas04_title@2x.jpg");}
#reason .box5 .reas_title .img_bar {background-image: url("../images/reas05_title@2x.jpg");}

#reason .reas_flt {
	overflow: hidden;
}
#reason .reas_flt .img_box {
	width: 27%;
	max-width: 320px;
}
#reason .reas_flt .txt_box {
	width: 70%;
}
#reason .img_l .reas_flt .img_box,
#reason .img_r .reas_flt .txt_box {
	float: left;
}
#reason .img_l .reas_flt .txt_box,
#reason .img_r .reas_flt .img_box {
	float: right;
}
#reason .reas_flt .txt_box h3 {
	color: #3e3a39;
	font-size: min(290%,3.6vw);
	letter-spacing: .05em;
	line-height: 1.5em;
	margin-bottom: .5em;
}

#reason .reas_check_box {
	border: solid 1px #45858c;
	display: table;
	table-layout: fixed;
	width: 100%;
	box-sizing: border-box;
}
#reason .reas_check_box > dt,
#reason .reas_check_box > dd {
	display: table-cell;
	vertical-align: middle;
	box-sizing: border-box;
	text-align: left;
}
#reason .reas_check_box > dt {
	width: 25%;
	padding: 30px 1% 30px 0;
}
#reason .reas_check_box > dd {
	width: 75%;
	padding: 30px 2%;
}
#reason .reas_check_box > dt {
	background-color: #45858c;
	background-image: url("../images/reas_parts5@2x.png");
	background-repeat: no-repeat;
	background-position: right -1px center;
	background-size: contain;
	text-align: center;
	color: #fff;
	font-size: min(145%,2.0vw);
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.4em;
}
#reason .reas_check_box > dt span {
	display: block;
	font-size: 110%;
	letter-spacing: .1em;
	line-height: 1.4em;
}
#reason .reas_check_box li {
	color: #3e3a39;
	font-size: min(125%,1.8vw);
	font-weight: bold;
	letter-spacing: .05em;
	line-height: 1.6em;
	box-sizing: border-box;
	padding-left: 2.0em;
	position: relative;
	margin-top: .5em;
}
#reason .reas_check_box li::before {
	content: "";
	position: absolute;
	width: 1.6em;
	height: 1.6em;
	left: 0;
	top: 0;
	background: url("../images/check2@2x.png") no-repeat center center;
	background-size: contain;
}

#reason .reas_style1 > .ft_min {
	text-align: center;
	color: #3e3a39;
	font-size: min(170%,2.2vw);
	letter-spacing: .05em;
	line-height: 1.4em;
	margin-bottom: .6em;
}

#reason .reas_col3 {
	display: flex;
    flex-wrap: wrap;
}
#reason .reas_col3 li {
	width: 31%;
	margin-right: 3.5%;
	margin-top: 60px;
}
#reason .reas_col3 > li:nth-child(3n),
#reason .reas_col3 > li:last-child {
	margin-right: 0;
}
#reason .reas_col3 > li:nth-child(-n+3) {
	margin-top: 0;
}
#reason .reas_col3 .reas_style1 > .ft_min {
	margin-top: 1.4em;
}

#reason .img_l .reas_color {color: #45858c;}
#reason .img_r .reas_color {color: #9e804a;}
#reason .img_l .reas_sub_box {background: #ecf3f3;}

#reason .img_r .reas_check_box {border-color: #cfb486;}
#reason .img_r .reas_check_box > dt {background-color: #cfb486;}
#reason .img_r .reas_check_box li::before {background-image: url("../images/check1@2x.png");}

#reason .box1 .reas_sub_box {
	padding: 80px 0;
}
#reason .box1 .reas_sub_box .flex_box {
	display: flex;
    justify-content: space-between;
	flex-direction: row-reverse;
}
#reason .box1 .reas_sub_box .flex_box .box_r {
	width: 24%;
	max-width: 245px;
}
#reason .box1 .reas_sub_box .flex_box .box_l {
	width: 73%;
	max-width: 750px;
}
#reason .box1 .reas_sub_box h4 {
	font-size: 125%;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.4em;
	padding-bottom: .5em;
	border-bottom: solid 1px #45858c;
	margin-bottom: 1.5em;
}
#reason .box1 .reas_sub_box .dr_name {
	display: flex;
    align-items: center;
	margin-bottom: 25px;
}
#reason .box1 .reas_sub_box .dr_name dt {
	font-size: 190%;
	letter-spacing: .08em;
	line-height: 1.2em;
	margin-right: .5em;
}
#reason .box1 .reas_sub_box .dr_name dd {
	color: #9194a1;
	font-size: 80%;
	letter-spacing: .12em;
	line-height: 1.2em;
}
#reason .box1 .reas_sub_box .com_marulist > li::before {
	opacity: 0.7;
}
#reason .box1 .reas_sub_box .stf_style1 {
	margin-top: 1.5em;
}
#reason .box1 .reas_sub_box .stf_style1 > dt {
	color: #45858c;
	font-size: 110%;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.4em;
	padding-bottom: .5em;
	border-bottom: solid 1px #45858c;
	margin-bottom: 1.5em;
}
#reason .box1 .reas_sub_box .tbl_reki th,
#reason .box1 .reas_sub_box .tbl_reki td {
	vertical-align: top;
	text-align: left;
	font-weight: normal;
	line-height: 1.6em;
	padding-bottom: .5em;
}
#reason .box1 .reas_sub_box .tbl_reki th {
	width: 14%;
}
#reason .box1 .reas_sub_box .tbl_reki td {
	width: 86%;
}

#reason .box2 .reas_check_box ul {
	display: flex;
    flex-wrap: wrap;
}
#reason .box2 .reas_check_box ul li {
	width: 32%;
	margin-right: 2%;
}
#reason .box2 .reas_check_box ul li:nth-child(3n),
#reason .box2 .reas_check_box ul li:last-child {
	margin-right: 0;
}

#reason .box3 .reas_check_box ul {
	display: flex;
    flex-wrap: wrap;
	margin-left: -4%;
}
#reason .box3 .reas_check_box ul li {
	margin-left: 4%;
}
#reason .box3 .reas_check_box ul li small {
	font-size: 75%;
	font-weight: normal;
	margin-left: 1.0em;
}

#reason .box5 .reas_sub_box {
	padding: 100px 0;
}
#reason .box5 .reas_sub_box h4 {
	text-align: center;
	font-size: min(210%,3.4vw);
	letter-spacing: .05em;
	line-height: 1.4em;
	margin-bottom: 50px;
}

#reason .box_many .img_box {
	position: relative;
}
#reason .box_many .img_box .no {
	width: 40%;
	max-width: 160px;
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#reason .title_box {
	margin-bottom: 12%;
}
#reason .reas_title {
	margin-bottom: 8%;
}
#reason .reas_title .point {
	width: 38%;
}
#reason .img_l .reas_title .point {
	transform: translate(50%,-15%);
}
#reason .img_r .reas_title .point {
	transform: translate(-50%,-15%);
}

#reason .reas_flt .img_box {
	width: 30%;
	margin-bottom: 1.0em;
}
#reason .reas_flt .txt_box {
	width: 100%;
	float: none !important;
}
#reason .img_l .reas_flt .img_box {
	margin-right: 3%;
}
#reason .img_r .reas_flt .img_box {
	margin-left: 3%;
}

#reason .reas_check_box > dt {
	width: 30%;
	padding: 3% 1% 3% 0;
}
#reason .reas_check_box > dd {
	width: 70%;
	padding: 3% 2%;
}
#reason .reas_check_box > dt {
	font-size: 2.2vw;
}
#reason .reas_check_box li {
	font-size: 2.0vw;
}

#reason .reas_style1 > .ft_min {
	font-size: 2.8vw;
	margin-bottom: .4em;
}
#reason .reas_col3 .reas_style1 > .ft_min {
	margin-top: 1.0em;
}

#reason .box1 .reas_sub_box {
	padding: 6% 0;
	font-size: 90%;
}
#reason .box1 .reas_sub_box .dl_box {
	letter-spacing: normal;
}
#reason .box1 .reas_sub_box .tbl_reki th {
	width: 12%;
}
#reason .box1 .reas_sub_box .tbl_reki td {
	width: 88%;
}

#reason .box2 .reas_check_box ul {
    justify-content: space-between;
}
#reason .box2 .reas_check_box ul li {
	width: 48%;
	margin-right: 0;
}

#reason .box5 .reas_sub_box {
	padding: 8% 0;
}
#reason .box5 .reas_sub_box h4 {
	margin-bottom: 4%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#reason .title_box {
	margin-bottom: 12%;
}
#reason .title_box .ft_min {
	font-size: 135%;
	letter-spacing: .1em;
	margin-bottom: .5em;
}
#reason .title_box .ft_min span {
	width: 100%;
	margin: .7em auto 0;
}
#reason .title_box .ft_min + p {
	width: 60%;
}

#reason .reas_title {
	margin-bottom: 6%;
}
#reason .reas_title .no {
	width: 30%;
}
#reason .reas_title .img_bar {
	width: 101%;
	height: 30vw;
}
#reason .reas_title .point {
	display: none;
}

#reason .reas_flt {
	overflow: visible;
	display: flex;
	align-items: flex-start;
	flex-direction: column-reverse;
}
#reason .reas_flt .img_box {
	width: 100%;
	max-width: 100%;
}
#reason .reas_flt .txt_box {
	width: 100%;
	margin-bottom: 6%;
}
#reason .img_l .reas_flt .img_box,
#reason .img_r .reas_flt .txt_box,
#reason .img_l .reas_flt .txt_box,
#reason .img_r .reas_flt .img_box {
	float: none;
}
#reason .reas_flt .img_box {
	position: relative;
}
#reason .reas_flt .img_box p {
	position: absolute;
}
#reason .reas_flt .txt_box h3 {
	font-size: 145%;
	letter-spacing: .05em;
	line-height: 1.5em;
	margin-bottom: .5em;
}

#reason .reas_check_box {
	display: block;
}
#reason .reas_check_box > dt,
#reason .reas_check_box > dd {
	display: block;
}
#reason .reas_check_box > dt {
	width: 100%;
	padding: .8em 0 1.5em;
}
#reason .reas_check_box > dd {
	width: 100%;
	padding: 6% 4%;
}
#reason .reas_check_box > dt {
	background-image: url("../images/reas_parts6@2x.png");
	background-position: center bottom -1px;
	background-size: contain;
	font-size: 100%;
	letter-spacing: .1em;
}
#reason .reas_check_box > dt span {
	display: inline-block;
	font-size: 110%;
	letter-spacing: .05em;
}
#reason .reas_check_box li {
	font-size: 95%;
	letter-spacing: normal;
	margin-top: 1.0em;
}

#reason .reas_style1 > .ft_min {
	font-size: 130%;
	margin-bottom: .2em;
}

#reason .reas_col3 {
	display: block;
}
#reason .reas_col3 li {
	width: 100%;
	margin-right: 0;
	margin-top: 12% !important;
}
#reason .reas_col3 > li:first-child {
	margin-top: 0 !important;
}
#reason .reas_col3 {
	display: block;
}
#reason .reas_col3 .img_box {
	width: 75%;
	margin: 0 auto;
}
#reason .reas_col3 .reas_style1 > .ft_min {
	margin-top: .8em;
}

#reason .box1 .reas_flt .img_box div {
	width: 60%;
	margin-left: auto;
	margin-right: -6%;
}
#reason .box1 .reas_flt .img_box p {
	width: 55%;
	left: 0;
	top: 50%;
	transform: translate(-15%,-50%);
}
#reason .box1 .reas_sub_box {
	padding: 8% 0;
}
#reason .box1 .reas_sub_box .flex_box {
	display: block;
	position: relative;
}
#reason .box1 .reas_sub_box .flex_box .box_r {
	width: 35%;
	position: absolute;
	z-index: 1;
	right: 0;
	top: 0;
}
#reason .box1 .reas_sub_box .flex_box .box_l {
	width: 100%;
	max-width: 100%;
	padding-top: 1.5em;
}
#reason .box1 .reas_sub_box h4 {
	font-size: 105%;
	letter-spacing: .15em;
	padding-bottom: .3em;
	margin-bottom: 1.0em;
}
#reason .box1 .reas_sub_box .dr_name {
	display: block;
	margin-bottom: 10%;
}
#reason .box1 .reas_sub_box .dr_name dt {
	font-size: 160%;
	margin: 0 0 .2em;
}
#reason .box1 .reas_sub_box .com_marulist > li::before {
	top: .4em;
}
#reason .box1 .reas_sub_box .stf_style1 {
	margin-top: 1.5em;
}
#reason .box1 .reas_sub_box .stf_style1 > dt {
	margin-bottom: 1.0em;
}
#reason .box1 .reas_sub_box .tbl_reki th {
	width: 20%;
}
#reason .box1 .reas_sub_box .tbl_reki td {
	width: 80%;
}

#reason .box2 .reas_flt .img_box div {
	width: 55%;
	margin-left: -5%;
}
#reason .box2 .reas_flt .img_box p {
	width: 62%;
	right: -15%;
	bottom: 0;
}
#reason .box2 .reas_check_box ul {
    justify-content: space-between;
}
#reason .box2 .reas_check_box ul li {
	width: 48%;
	margin-right: 0;
}
#reason .box2 .reas_check_box ul li:nth-child(-n+2) {
	margin-top: 0;
}

#reason .box3 .reas_flt .img_box div {
	width: 55%;
	margin-left: auto;
	margin-right: -3%;
}
#reason .box3 .reas_flt .img_box p {
	width: 65%;
	left: 0;
	top: 50%;
	transform: translate(-30%,-50%);
}
#reason .box3 .reas_check_box ul {
	display: block;
	margin-left: 0;
}
#reason .box3 .reas_check_box ul li:first-child {
	margin-top: 0;
}
#reason .box3 .reas_check_box ul li {
	margin-left: 0;
}
	
#reason .box4 .reas_flt .img_box div {
	width: 60%;
	margin-left: -4%;
}
#reason .box4 .reas_flt .img_box p {
	width: 60%;
	right: 0;
	bottom: 0;
	transform: translate(12%,5%);
}

#reason .box5 .reas_flt .img_box {
	flex-direction: row;
}
#reason .box5 .reas_flt .img_box div {
	width: 60%;
	margin-left: -2%;
}
#reason .box5 .reas_flt .img_box p {
	width: 62%;
	right: 0;
	top: 0;
	transform: translate(12%,-15%);
}
#reason .box5 .reas_sub_box {
	padding: 10% 0;
}
#reason .box5 .reas_sub_box h4 {
	font-size: 140%;
	margin-bottom: 8%;
}
}



/*cheap
---------------------------------------------------------*/
#cheap .com_border_top {
	position: relative;
}
#cheap .abs li {
	width: 16%;
	position: absolute;
	z-index: -1;
	top: 50%;
	transform: translateY(-20%);
}
#cheap .abs li:first-child {
	left: 4%;
}
#cheap .abs li:last-child {
	right: 4%;
}
#cheap .in_box {
	width: 65%;
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
#cheap .item_list {
	width: 100%;
	max-width: 660px;
	display: flex;
    justify-content: space-between;
    align-items: center;
	margin-bottom: 30px;
}
#cheap .item_list li:nth-child(odd) {
	width: 25.5%;
	max-width: 156px;
}
#cheap .item_list li:nth-child(even) {
	width: 24.5%;
	max-width: 149px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#cheap .abs li:first-child {
	left: 0%;
}
#cheap .abs li:last-child {
	right: 0%;
}
#cheap .item_list {
	margin-bottom: 4%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#cheap .abs {
	width: 40%;
	margin: 0 auto 4%;
	display: flex;
    justify-content: space-between;
}
#cheap .abs li {
	width: 50%;
	position: static;
	transform: none;
}
#cheap .abs li:first-child {
	left: 4%;
}
#cheap .abs li:last-child {
	right: 4%;
}
#cheap .in_box {
	width: 100%;
	max-width: 100%;
}
#cheap .item_list {
	width: 110%;
	max-width: 110%;
	margin-left: -5%;
	margin-bottom: 5%;
}
}



/*equipment
---------------------------------------------------------*/
#equipment .com_index1 {
	margin-bottom: 110px;
}
#equipment .bg {
	background: #45858c;
	color: #fff;
}
#equipment .slide_box {
	position: relative;
	z-index: 1;
	margin-bottom: 40px;
}
#equipment .slide_box::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 100vw;
	height: 40%;
	background: #fff;
	left: 50%;
	top: -1px;
	transform: translateX(-50%);
}
#equipment .slide_box .slide_btn {
	position: absolute;
	z-index: 5;
	margin: auto;
	left: 0;
	right: 0;
	top: 0;
	transform: translateY(-50%);
	text-align: center;
	display: flex;
    justify-content: center;
    align-items: center;
}
#equipment .slide_box .slide_btn > div {
	color: #45858c;
	font-size: min(130%,2.2vw);
	letter-spacing: .1em;
	line-height: 1.2em;
	width: 7.0em;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: #fff;
	border: solid 1px #45858c;
	cursor: pointer;
	position: relative;
	margin: 0 0.7%;
	transition: all 0.8s;
}
#equipment .slide_box .slide_btn > div p {
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
#equipment .slide_box .slide_btn > div.thumb-media-active {
	background: #45858c;
	color: #fff;
}
#equipment .equi_slider,
#equipment .equi_slider .swiper-slide {
	border-radius: 80px;
	overflow: hidden;
	background: #fff;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#equipment .com_index1 {
	margin-bottom: 13%;
}
#equipment .slide_box {
	margin-bottom: 4%;
}
#equipment .equi_slider,
#equipment .equi_slider .swiper-slide {
	border-radius: 6vw;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#equipment .com_index1 {
	margin-bottom: 24%;
}
#equipment .slide_box {
	margin-bottom: 6%;
}
#equipment .slide_box .slide_btn {
	transform: translateY(-80%);
}
#equipment .slide_box .slide_btn > div {
	font-size: 80%;
	letter-spacing: normal;
	width: 6.5em;
}
#equipment .equi_slider,
#equipment .equi_slider .swiper-slide {
	border-radius: 5vw;
}
}



/*about
---------------------------------------------------------*/
#about .bg {
	background: #3e3a39;
}
#about .box1 {
	position: relative;
	z-index: 1;
	text-align: center;
	color: #fff;
}
#about .box1::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 100vw;
	height: 25vw;
	max-height: 293px;
	background: url("../images/abou_bg1@2x.png") no-repeat center top;
	background-size: auto 100%;
	left: 50%;
	top: 0;
	transform: translate(-50%,15%);
}
#about .box1 .com_index2 {
	color: #fff;
}

#about .box1 .risk_box {
	position: relative;
	z-index: 1;
}
#about .box1 .risk_box .abs li {
	position: absolute;
	z-index: -1;
}
#about .box1 .risk_box .abs li:nth-child(1),
#about .box1 .risk_box .abs li:nth-child(2) {
	width: 14%;
	max-width: 198px;
}
#about .box1 .risk_box .abs li:nth-child(3),
#about .box1 .risk_box .abs li:nth-child(4) {
	width: 14.5%;
	max-width: 202px;
}
#about .box1 .risk_box .abs li:nth-child(1) {
	top: 0;
	left: 0;
	transform: translate(-5%,0%);
}
#about .box1 .risk_box .abs li:nth-child(2) {
	top: 0;
	left: 9%;
	transform: translate(0,95%);
}
#about .box1 .risk_box .abs li:nth-child(3) {
	top: 0;
	right: 9%;
	transform: translate(0,95%);
}
#about .box1 .risk_box .abs li:nth-child(4) {
	top: 0;
	right: 0;
	transform: translate(5%,0%);
}
#about .box1 .risk_box h3 {
	font-size: min(300%,4.0vw);
	letter-spacing: normal;
	line-height: 1.6em;
	margin-bottom: .5em;
}
#about .box1 .risk_box h3 span {
	display: block;
	font-size: 135%;
	letter-spacing: normal;
	line-height: 1.6em;
}
#about .box1 .risk_box .box_list {
	width: 100%;
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
    flex-wrap: wrap;
}
#about .box1 .risk_box .box_list > li {
	width: 32%;
	margin-right: 2%;
	margin-top: 50px;
	box-sizing: border-box;
	background: rgba(255,250,245,0.8);
	padding: 0 3% 50px;
	color: #0f1716;
}
#about .box1 .risk_box .box_list > li:nth-child(3n),
#about .box1 .risk_box .box_list > li:last-child {
	margin-right: 0;
}
#about .box1 .risk_box .box_list > li:nth-child(-n+3) {
	margin-top: 0;
}
#about .box1 .risk_box .box_list .circle_img {
	margin-top: -15%;
}
#about .box1 .risk_box .box_list dt {
	color: #3e3a39;
	font-size: min(170%,2.2vw);
	letter-spacing: .05em;
	line-height: 1.6em;
	margin: -.2em 0 .5em;
}
#about .box1 .risk_box .box_list dd {
	text-align: left;
}
#about .box1 .summary_box {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
#about .box1 .summary_box dt {
	font-size: min(230%,3.2vw);
	letter-spacing: .1em;
	line-height: 1.6em;
	margin-bottom: 1.0em;
}
#about .box1 .summary_box .abs li {
	position: absolute;
	z-index: -1;
	width: 17%;
	max-width: 200px;
	top: 0;
}
#about .box1 .summary_box .abs li:first-child {
	left: 0;
}
#about .box1 .summary_box .abs li:last-child {
	right: 0;
}

#about .box2 {
	position: relative;
	z-index: 1;	/*box3より上にする*/
}
#about .box2 .bg_white {
	background: #edf0f2;
	position: relative;
	padding: 50px 4% 80px;
}
#about .box2 .bg_white::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 5vw;
	max-height: 65px;
	background: url("../images/type_top@2x.png") no-repeat center bottom;
	background-size: contain;
	left: 0;
	bottom: calc(100% - 1px);
}
#about .box2 .bg_white h3 {
	text-align: center;
	font-size: min(230%,3.2vw);
	letter-spacing: .15em;
	line-height: 1.6em;
	margin-bottom: 1.0em;
}
#about .box2 .bg_white h3 .ft_min {
	display: block;
	font-size: 220%;
	letter-spacing: .1em;
	line-height: 1.2em;
	margin-top: .1em;
}
#about .box2 .bg_white h3 .ft_min span {
	font-size: 80%;
	letter-spacing: .1em;
	line-height: 1.2em;
}

#about .compare {
	display: flex;
	justify-content: space-between;
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
}
#about .compare > div {
	width: 32.5%;
	max-width: 414px;
	background-color: #939190;
	position: relative;
}
#about .compare > div::before {
	content: "";	/*微妙に下の隙間が見えるから誤魔化し*/
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 10px;
	background: #fff;
	left: 0;
	bottom: -1px;
}
#about .compare .box_img {
	width: 85%;
	margin: -25% auto 0;;
}
#about .compare .comp_style1 {
	box-sizing: border-box;
	padding: 0 7% 30px;
	color: #fff;
}
#about .compare .comp_style1 > dt {
	text-align: center;
	font-size: min(180%,2.8vw);
	font-weight: bold;
	letter-spacing: .2em;
	line-height: 1.2em;
	margin-bottom: .6em;
}
#about .compare .comp_style1 .detail {
	margin-top: 40px;
	display: flex;
    justify-content: space-between;
	text-align: center;
	color: #3e3a39;
	font-size: min(100%,1.2vw);
}
#about .compare .comp_style1 .detail > li {
	width: 48.8%;
	background: #fff;
	box-sizing: border-box;
}
#about .compare .comp_style1 .detail dt {
	width: 90%;
	margin: 0 auto;
	font-size: 125%;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.2em;
	padding: .8em 0;
	border-bottom: solid 1px #3e3a39;
	margin-bottom: 1.0em;
}
#about .compare .comp_style1 .detail dd i {
	display: block;
	font-size: 230%;
	margin-bottom: .3em;
}
#about .compare .comp_style1 .detail dd .txt1 {
	font-size: 150%;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.0em;
	padding-bottom: 1.5em;
}
#about .compare .comp_style1 .detail dd .txt2 {
	font-size: 100%;
	font-weight: bold;
	letter-spacing: .05em;
	line-height: 1.4em;
}
#about .compare .comp_style1 .detail dd .txt2 small {
	display: block;
	font-size: 95%;
	letter-spacing: .05em;
	line-height: 1.4em;
}
#about .compare .comp_style1 .detail dd .txt3 {
	font-size: 125%;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.0em;
}
#about .compare .comp_style1 .memo {
	text-align: center;
	font-size: 95%;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.4em;
	margin-top: .5em;
}
#about .compare .med_mer_dem {
	background: #fff;
	padding: 30px 7%;
	position: relative;
	z-index: 1;
}
#about .compare .med_mer_dem dt {
	font-size: 95%;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.0em;
}
#about .compare .med_mer_dem dt .ft_cav {
	display: inline-block;
	vertical-align: middle;
	font-size: 215%;
	letter-spacing: .06em;
	line-height: 1.0em;
	margin-right: .2em;
	transform: translateY(-.15em);
}
#about .compare .med_mer_dem dd li {
	font-size: 95%;
	letter-spacing: .1em;
	line-height: 1.5em;
	margin-top: 1.5em;
	box-sizing: border-box;
	padding-left: 2.5em;
	position: relative;
}
#about .compare .med_mer_dem dd li::before {
	font-family: 'fontello';
	content: '\e803';
	font-size: 180%;
	position: absolute;
	left: 0;
	top: 0;
}
#about .compare .med_mer_dem .merit {
	color: #45858c;
}
#about .compare .med_mer_dem .merit dd li::before {
	content: '\e802';
}
#about .compare .med_mer_dem .demerit {
    margin-top: 2.0em;
	border-top: solid 1px #3e3a39;
	padding-top: 2.5em;
}
#about .compare > div:first-of-type {background-color: #45858c;}
#about .compare > div:first-of-type .comp_style1 .detail {color: #45858c;}
#about .compare > div:first-of-type .comp_style1 .detail dt {border-color: #45858c;}

#about .box2 .risk_box {
	background: #fff;
}
#about .box2 .risk_box > dt {
	background: #3e3a39;
	text-align: center;
	color: #fff;
	font-size: 95%;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.6em;
	padding: 2.2em 2%;
	cursor: pointer;
}
#about .box2 .risk_box > dt p {
	display: inline-block;
	padding-right: 3.5em;
	position: relative;
}
#about .box2 .risk_box > dt p .icon_open {
	width: 2.5em;
	height: 2.5em;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
#about .box2 .risk_box > dd {
	display: none;
	padding: 40px 4%;
}
#about .box2 .summary_txt {
	font-size: min(190%,2.6vw);
	letter-spacing: .075em;
	line-height: 1.8em;
}

#about .box3 {
	position: relative;
}
#about .box3::before,
#about .box3::after {
	content: "";
	position: absolute;
	z-index: 0;
	width: 45%;
	max-width: 656px;
	aspect-ratio: 656 / 800;
	background-repeat: no-repeat;
	background-size: contain;
	top: 0;
	transform: translateY(-23%);
}
#about .box3::before {
	left: 0;
	background-image: url("../images/type_bg1@2x.png");
	background-position: left center;
}
#about .box3::after {
	right: 0;
	background-image: url("../images/type_bg2@2x.png");
	background-position: right center;
}
#about .box3 .w1430 {
	position: relative;
	z-index: 1;
}
#about .box3 .lead_box {
	text-align: center;
	color: #fff;
}
#about .box3 .lead_box .txt1 {
	font-size: min(605%,9.0vw);
	letter-spacing: normal;
	line-height: 1.0em;
	margin-bottom: .2em;
}
#about .box3 .lead_box .txt1 span {
	display: inline-block;
	padding-top: .5em;
	position: relative;
}
#about .box3 .lead_box .txt1 span::before {
	content: "";
	position: absolute;
	width: .17em;
	height: .17em;
	background: #fff;
	border-radius: 50px;
	margin: auto;
	left: 0;
	right: 0;
	top: 0;
	opacity: 0;
	transition: opacity 0.8s;
}
#about .box3 .lead_box .txt1.anime_on span::before {
	opacity: 1;
}
#about .box3 .lead_box .txt1.anime_on span:nth-child(2)::before {transition-delay: 0.2s;}
#about .box3 .lead_box .txt1.anime_on span:nth-child(3)::before {transition-delay: 0.4s;}
#about .box3 .lead_box .txt1.anime_on span:nth-child(4)::before {transition-delay: 0.6s;}
#about .box3 .lead_box .txt1.anime_on span:nth-child(5)::before {transition-delay: 0.8s;}
#about .box3 .lead_box .txt2 {
	font-size: min(220%,3.2vw);
	letter-spacing: .075em;
	line-height: 1.4em;
}
#about .box3 .lead_box .item_list {
	width: 100%;
	max-width: 1125px;
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
	margin: 40px auto;
}
#about .box3 .lead_box .item_list li {
	width: 32.4%;
	max-width: 357px;
}
#about .box3 .lead_box .item_list li:nth-child(2) {
	padding-top: 2%;
}
#about .box3 .lead_box .item_list + .txt2 {
	margin-bottom: .8em;
}
#about .box3 .bg_white {
	background: #fff;
	padding: 70px 0;
}
#about .box3 .bg_white .box_list {
	width: 100%;
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#about .box3 .bg_white .box_list > li {
	width: 50%;
	box-sizing: border-box;
	padding: 0 4.5% 1.0em;
	border-right: solid 1px rgba(158,156,156,0.5);
	text-align: center;
}
#about .box3 .bg_white .box_list > li:nth-child(even) {
	border-right: none;
}
#about .box3 .bg_white .box_list dt {
	color: #3e3a39;
	font-size: min(220%,3.2vw);
	letter-spacing: normal;
	line-height: 1.5em;
	margin: .8em 0 .6em;
}
#about .box3 .bg_white .box_list dd {
	text-align: left;
}

#about .box4 {
	color: #fff;
}
#about .box4 .com_slash1 p::before,
#about .box4 .com_slash1 p::after {
	background: #fff;
}
#about .box4 .com_slash1,
#about .box4 .com_index1 {
	color: #fff;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#about .box1::before {
	transform: translate(-50%,0);
}
#about .box1 .risk_box .abs li:nth-child(1),
#about .box1 .risk_box .abs li:nth-child(2) {
	width: 18%;
}
#about .box1 .risk_box .abs li:nth-child(3),
#about .box1 .risk_box .abs li:nth-child(4) {
	width: 18.5%;
}
#about .box1 .risk_box .abs li:nth-child(1) {
	transform: translate(-25%,-30%);
}
#about .box1 .risk_box .abs li:nth-child(2) {
	left: 2%;
	transform: translate(0,45%);
}
#about .box1 .risk_box .abs li:nth-child(3) {
	right: 2%;
	transform: translate(0,45%);
}
#about .box1 .risk_box .abs li:nth-child(4) {
	transform: translate(25%,-30%);
}
#about .box1 .risk_box .box_list > li {
	margin-top: 5%;
	padding-bottom: 4%;
}
#about .box1 .risk_box .box_list dt {
	font-size: 2.8vw;
	letter-spacing: .05em;
	margin-bottom: .4em;
}
#about .box1 .summary_box dt {
	font-size: 3.5vw;
	letter-spacing: .05em;
}
#about .box1 .summary_box .abs li:first-child {
	transform: translateX(-15%);
}
#about .box1 .summary_box .abs li:last-child {
	transform: translateX(15%);
}

#about .box2 .bg_white {
	padding: 4% 4% 6%;
}
#about .box2 .bg_white h3 {
	font-size: 3.5vw;
	letter-spacing: .1em;
	margin-bottom: .8em;
}

#about .compare .comp_style1 > dt {
	font-size: 3.2vw;
	letter-spacing: .1em;
}
#about .compare .comp_style1 .detail {
	margin-top: 30px;
	font-size: 1.4vw;
}
#about .compare .comp_style1 .detail dd .txt2 {
	font-size: 95%;
	letter-spacing: normal;
}
#about .compare .comp_style1 .detail dd .txt2 small {
	letter-spacing: normal;
}
#about .compare .comp_style1 .detail dd .txt3 {
	letter-spacing: normal;
}
#about .compare .med_mer_dem dt {
	font-size: 90%;
}
#about .compare .med_mer_dem dt .ft_cav {
	font-size: 200%;
}
#about .compare .med_mer_dem dd li {
	letter-spacing: .05em;
	margin-top: 1.0em;
	padding-left: 2.2em;
}

#about .box2 .risk_box > dt {
	padding: 1.8em 2%;
}
#about .box2 .risk_box > dd {
	padding: 4% 4%;
}
#about .box2 .summary_txt {
	letter-spacing: .05em;
}

#about .box3 .lead_box .txt2 {
	font-size: 3.4vw;
}
#about .box3 .lead_box .item_list {
	margin: 3% auto;
}
#about .box3 .bg_white {
	padding: 6% 0;
}
#about .box3 .bg_white .box_list dt {
	line-height: 1.4em;
	margin: .6em 0 .4em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#about .box1::before {
	height: 25vw;
}
#about .box1 .risk_box {
	padding-top: 5%;
}
#about .box1 .risk_box .abs {
	width: 70%;
	margin: 0 auto 6%;
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#about .box1 .risk_box .abs li {
	position: static;
	transform: none !important;
	max-width: 100%;
}
#about .box1 .risk_box .abs li:nth-child(1),
#about .box1 .risk_box .abs li:nth-child(2) {
	width: 49%;
}
#about .box1 .risk_box .abs li:nth-child(3),
#about .box1 .risk_box .abs li:nth-child(4) {
	width: 49.5%;
	margin-top: 2%;
}
#about .box1 .risk_box h3 {
	font-size: 150%;
}
#about .box1 .risk_box .box_list > li {
	width: 100%;
	margin-right: 0;
	margin-top: 10% !important;
	padding: 10% 6% 6%;
	position: relative;
}
#about .box1 .risk_box .box_list > li:first-child {
	margin-top: 0 !important;
}
#about .box1 .risk_box .box_list .circle_img {
	width: 40%;
	margin: 0;
	position: absolute;
	left: 0;
	top: 0;
	transform: translate(0%,-20%);
}
#about .box1 .risk_box .box_list dt {
	text-align: left;
	padding-left: 40%;
	font-size: 130%;
	letter-spacing: normal;
	margin: 0 0 .8em;
}
#about .box1 .summary_box dt {
	font-size: 150%;
	letter-spacing: .05em;
	margin-bottom: .5em;
}
#about .box1 .summary_box .abs {
	width: 60%;
	margin: 8% auto 0;
	display: flex;
    justify-content: space-between;
}
#about .box1 .summary_box .abs li {
	position: static;
	width: 49%;
	max-width: 100%;
}

#about .box2 .bg_white {
	padding: 6% 6% 10%;
}
#about .box2 .bg_white h3 {
	font-size: 120%;
	letter-spacing: .1em;
	margin-bottom: 1.0em;
}
#about .box2 .bg_white h3 .ft_min {
	font-size: 180%;
}

#about .compare {
    flex-wrap: wrap;
}
#about .compare > div {
	width: 100%;
	max-width: 100%;
	margin-bottom: 14%;
}
#about .compare > div:last-child {
	margin-bottom: 0;
}
#about .compare .box_img {
	width: 60%;
	margin-top: -15%;
}
#about .compare .comp_style1 {
	padding: 0 6% 6%;
	color: #fff;
}
#about .compare .comp_style1 > dt {
	font-size: 150%;
	letter-spacing: .14em;
	margin-bottom: .4em;
}
#about .compare .comp_style1 .detail {
	margin-top: 1.5em;
	font-size: 90%;
}
#about .compare .comp_style1 .detail dl {
	padding-bottom: 1.0em;
}
#about .compare .comp_style1 .detail dt {
	padding: .6em 0;
	margin-bottom: .6em;
}
#about .compare .comp_style1 .detail dd .txt1 {
	letter-spacing: .1em;
	padding-bottom: 0;
}
#about .compare .comp_style1 .detail dd .txt3 {
	letter-spacing: .05em;
}
#about .compare .comp_style1 .memo {
	letter-spacing: .1em;
}
#about .compare .med_mer_dem {
	padding: 8% 6%;
}
#about .compare .med_mer_dem dt {
	font-size: 85%;
}
#about .compare .med_mer_dem dt .ft_cav {
	font-size: 200%;
}
#about .compare .med_mer_dem dd li {
	font-size: 95%;
	letter-spacing: normal;
	margin-top: .5em;
	padding-left: 2.0em;
}
#about .compare .med_mer_dem dd li::before {
	font-size: 150%;
	top: 0;
}
#about .compare .med_mer_dem .demerit {
    margin-top: 1.5em;
	padding-top: 1.5em;
}

#about .box2 .risk_box > dt {
	letter-spacing: .05em;
	padding: 1.5em 0;
}
#about .box2 .risk_box > dt p {
	padding-right: 2.0em;
}
#about .box2 .risk_box > dt p .icon_open {
	width: 1.5em;
	height: 1.5em;
}
#about .box2 .risk_box > dd {
	padding: 5% 6% 8%;
}
#about .box2 .summary_txt {
	font-size: 125%;
	letter-spacing: normal;
}

#about .box3::before,
#about .box3::after {
	width: 50%;
}
#about .box3 .lead_box .txt1 {
	font-size: 300%;
}
#about .box3 .lead_box .txt2 {
	font-size: 130%;
	letter-spacing: normal;
}
#about .box3 .lead_box .item_list {
	width: 106%;
    flex-wrap: wrap;
	margin: 6% auto;
	margin-left: -3%;
}
#about .box3 .lead_box .item_list li {
	width: 49%;
	max-width: 100%;
}
#about .box3 .lead_box .item_list li:nth-child(2) {
	padding-top: 0;
	order: 3;
	margin: 3% auto 0;
}
#about .box3 .lead_box .item_list + .txt2 {
	margin-bottom: .8em;
}
#about .box3 .bg_white {
	padding: 10% 6%;
}
#about .box3 .bg_white .box_list {
	display: block;
}
#about .box3 .bg_white .box_list > li {
	width: 100%;
	padding: 0 0 1.5em;
	border-right: none;
	border-bottom: solid 1px rgba(158,156,156,0.5);
	margin-bottom: 2.0em;
}
#about .box3 .bg_white .box_list > li:last-child {
	border-bottom: none;
	padding: 0;
	margin: 0;
}
#about .box3 .bg_white .box_list dt {
	font-size: 140%;
	margin: .6em 0 .3em;
}

#about .box4 {
	color: #fff;
}
#about .box4 .com_slash1 p::before,
#about .box4 .com_slash1 p::after {
	background: #fff;
}
#about .box4 .com_slash1,
#about .box4 .com_index1 {
	color: #fff;
}
}



/*flow
---------------------------------------------------------*/
#flow .bg {
	background: #eef4f5;
}
#flow .box1 {
	position: relative;
	z-index: 1;
}
#flow .box1::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 100vw;
	height: 100%;
	background: #fff;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
}
#flow .box1 .lead {
	width: 100%;
	max-width: 1050px;
	margin-left: auto;
	margin-right: auto;
}
#flow .box1 .type_list {
	display: flex;
    justify-content: space-between;
	text-align: center;
}
#flow .box1 .type_list li {
	width: 49.5%;
	max-width: 590px;
	background: #edf0f2;
}
#flow .box1 .type_list dt {
	background: #45858c;
	color: #fff;
	font-size: min(155%,2.4vw);
	letter-spacing: .1em;
	line-height: 1.4em;
	padding: 1.2em 2%;
}
#flow .box1 .type_list dd {
	position: relative;
	padding: 30px 3%;
}
#flow .box1 .type_list dd p {
	width: 65%;
	max-width: 350px;
	margin-left: auto;
	margin-right: 0;
}
#flow .box1 .type_list dd div {
	width: 34%;
	max-width: 200px;
	position: absolute;
	z-index: 0;
	left: 0;
	bottom: 0;
}

#flow .flow_list > li {
	position: relative;
	z-index: 1;
	padding: 90px 0;	/*揃える*/
}
#flow .flow_list > li:nth-child(even)::before {
	content: "";	/*背景色*/
	position: absolute;
	z-index: -1;
	width: 100vw;
	height: 100%;
	background: #e1ebed;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
}
#flow .flow_list > li::after,
#flow .flow_list .no {
	font-size: min(100%,1.4vw);
}
#flow .flow_list > li::after {
	content: "";	/*罫線*/
	position: absolute;
	z-index: 1;
	width: 1px;
	height: 100%;
	background: #45858c;
	left: 3.5em;	/*半分にする*/
	top: 0;
}
#flow .flow_list > li:first-child::after {
	top: 90px;	/*揃える*/
}
#flow .flow_list > li:last-child::after {
	height: 90px;	/*揃える*/
}
#flow .flow_list .no {
	width: 7.0em;	/*半分にする*/
	aspect-ratio: 1 / 1;
	box-sizing: border-box;
	background: #fff;
	border: solid 1px #45858c;
	border-radius: 50%;
	position: absolute;
	z-index: 2;
	text-align: center;
}
#flow .flow_list .no p {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
#flow .flow_list .no p.situation {
	color: #45858c;
	font-size: 150%;
	letter-spacing: .1em;
	line-height: 1.2em;
	white-space: nowrap;
}
#flow .flow_list .no p.ft_cav {
	color: #45858c;
	font-size: 275%;
	letter-spacing: normal;
	line-height: 1.2em;
}
#flow .flow_list .no p.fukidashi {
	background: #45858c;
	color: #fff;
	font-size: 125%;
	letter-spacing: .1em;
	line-height: 1.2em;
	width: 7.0em;
	padding: .4em 0;
	top: 0;
	transform: translate(-50%,-60%);
}
#flow .flow_list .no p.fukidashi::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 6px;
	background: url("../images/flow_fukidashi1@2x.png") no-repeat center top;
	background-size: contain;
	left: 0;
	top: calc(100% - 1px);
}
#flow .flow_list .no p.fukidashi .ft_cav {
	font-size: 110%;
	letter-spacing: normal;
	margin-right: .1em;
}
#flow .flow_list .in_box {
	width: 87%;
	max-width: 1040px;
	margin-left: auto;
	margin-right: 0;
}
#flow .flow_list .flt_box .img_r {
	width: 38.5%;
	max-width: 400px;
	float: right;
}
#flow .flow_list .flt_box .txt_l {
	width: 58.5%;
	max-width: 575px;
	float: left;
}
#flow .flow_list .flow_style1 > dt {
	color: #3e3a39;
	font-size: min(220%,3.2vw);
	letter-spacing: .04em;
	line-height: 1.6em;
	padding-top: .5em;
	margin-bottom: .3em;
}
#flow .flow_list .flow_style1 .time {
	color: #45858c;
	font-size: 115%;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.6em;
	margin-bottom: 1.2em;
}
#flow .flow_list .flow_style1 .memo {
	display: block;
	color: #6f7473;
	font-size: 90%;
	letter-spacing: .1em;
	line-height: 1.6em;
	margin-top: 1.0em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#flow .flow_list > li {
	padding: 7vw 0;	/*揃える*/
}
#flow .flow_list > li::after,
#flow .flow_list .no {
	font-size: min(100%,1.6vw);
}
#flow .flow_list > li:first-child::after {
	top: 7vw;	/*揃える*/
}
#flow .flow_list > li:last-child::after {
	height: 7vw;	/*揃える*/
}
#flow .flow_list .in_box {
	width: 85%;
}
#flow .flow_list .flt_box .img_r {
	margin-left: 3%;
	margin-bottom: 1.0em;
}
#flow .flow_list .flt_box .txt_l {
	width: 100%;
	max-width: 100%;
	float: none;
}
#flow .flow_list .flow_style1 > dt {
	line-height: 1.5em;
	padding-top: 0;
}
#flow .flow_list .flow_style1 .time {
	margin-bottom: .6em;
}
#flow .flow_list .flow_style1 .memo {
	font-size: 95%;
	letter-spacing: .05em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#flow .box1 .type_list dt {
	font-size: 100%;
	letter-spacing: .05em;
	padding: .8em 0;
}
#flow .box1 .type_list dd {
	padding: 8% 4% 0;
}
#flow .box1 .type_list dd p {
	width: 100%;
	max-width: 100%;
}
#flow .box1 .type_list dd div {
	width: 60%;
	max-width: 100%;
	margin: 2% auto 0;
	position: static;
}

#flow .flow_list > li {
	padding: 10vw 0;	/*揃える*/
}
#flow .flow_list > li::after,
#flow .flow_list .no {
	font-size: 60%;
}
#flow .flow_list > li:first-child::after {
	top: 10vw;	/*揃える*/
}
#flow .flow_list > li:last-child::after {
	height: 10vw;	/*揃える*/
}
#flow .flow_list .no p.situation {
	font-size: 160%;
	letter-spacing: normal;
}
#flow .flow_list .in_box {
	width: 75%;
}
#flow .flow_list .flt_box .img_r {
	width: 80%;
	max-width: 100%;
	float: none;
	margin: 0 auto 1.0em;
}
#flow .flow_list .flt_box .txt_l {
	width: 100%;
	max-width: 100%;
	float: none;
}
#flow .flow_list .flow_style1 > dt {
	font-size: 135%;
	letter-spacing: normal;
	padding-top: 0;
	margin-bottom: .3em;
}
#flow .flow_list .flow_style1 .time {
	font-size: 100%;
	letter-spacing: .1em;
	margin-bottom: .6em;
}
#flow .flow_list .flow_style1 .memo {
	letter-spacing: normal;
	margin-top: .5em;
}
}



/*price
---------------------------------------------------------*/
#price .box1 .com_btn_list li {
	width: 32%;
	max-width: 320px;
	margin-left: 0;
	margin-right: 2%;
}
#price .box1 .com_btn_list li:nth-child(3n),
#price .box1 .com_btn_list li:last-child {
	margin-right: 0;
}
.pric_tax {
	margin-bottom: .5em;
}
.pric_table {
	width: 100%;
	background: rgba(237,240,242,0.5);
}
.pric_table caption {
	text-align: left;
	color: #3e3a39;
	font-size: min(170%,2.5vw);
	letter-spacing: .1em;
	line-height: 1.6em;
	padding-left: 1.2em;
	position: relative;
	margin-bottom: 1.0em;
}
.pric_table caption::before {
	content: "";
	position: absolute;
	width: .4em;
	height: .4em;
	border-radius: 50%;
	background: #45858c;
	left: 0;
	top: .45em;
}
.pric_table th,
.pric_table td {
	border-bottom: solid 2px #fff;
	vertical-align: middle;
	box-sizing: border-box;
}
.pric_table th {
	width: 74%;
	text-align: left;
	font-weight: normal;
	padding: 30px 4%;
}
.pric_table td {
	width: 26%;
	text-align: center;
	padding: 30px 2%;
	background: #ecf3f3;
	color: #3e3a39;
	font-size: min(100%,1.6vw);
}
.pric_table .pric_style1 > dt,
.pric_table p.pric_style1 {
	color: #3e3a39;
	font-size: min(170%,2.5vw);
	letter-spacing: .1em;
	line-height: 1.6em;
}
.pric_table td .pric_free {
	font-size: 170%;
	letter-spacing: .1em;
	line-height: 1.6em;
}
.pric_table td .pric_style2 {
	font-size: 145%;
	letter-spacing: .1em;
	line-height: 1.6em;
}
.pric_table td .pric_style2 .ft_cav {
	font-size: 125%;
	letter-spacing: .1em;
	line-height: 1.6em;
	margin-right: .1em;
}

#pay .bg {
	background: #ecf3f3;
}
#pay .box_list {
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
    justify-content: space-between;
	text-align: center;
}
#pay .box_list > li {
	width: 49.5%;
	max-width: 590px;
	box-sizing: border-box;
	padding: 35px 3% 50px;
	background: #fff;
}
#pay .box_list dt {
	background: #45858c;
	color: #fff;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.6em;
	padding: .7em 3%;
	border-radius: 3.0em;
	margin-bottom: 2.0em;
}
#pay .box_list > li:last-child dt {
	background: #8a9c89;
}
#pay .loan_box {
	background: #fff;
	padding: 35px 4%;
}
#pay .loan_box .flex_box {
	width: 100%;
	max-width: 1050px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
#pay .loan_box .flex_box .box_l {
	width: 23%;
	max-width: 240px;
}
#pay .loan_box .flex_box .box_r {
	width: 74%;
	max-width: 770px;
}
#pay .loan_box dt {
	font-size: min(155%,2.2vw);
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.6em;
	margin-left: -.5em;
	margin-bottom: .5em;
}
#pay .loan_box dd {
	display: flex;
    align-items: center;
}
#pay .loan_box dd p {
	font-size: min(280%,3.6vw);
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.0em;
	margin-right: 4%;
}
#pay .loan_box dd p .ft_cav {
	display: inline-block;
	vertical-align: baseline;
	font-size: 225%;
	letter-spacing: normal;
	line-height: 1.0em;
	transform: translateY(.05em);
	margin-right: .1em;
}
#pay .loan_box dd li {
	line-height: 1.4em;
	margin-top: .6em;
	padding-left: 1.0em;
	position: relative;
}
#pay .loan_box dd li:first-child {
	margin-top: 0;
}
#pay .loan_box dd li::before {
	content: "※";
	position: absolute;
	left: 0;
	top: 0;
}
#pay .com_btn1 a {
	width: 23em;
}

#guarantee .bg {
	background: #45858c;
	color: #fff;
}
#guarantee .com_index4 {
	color: #fff;
}
#guarantee .box_list {
	width: 86%;
	max-width: 940px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
    justify-content: space-between;
	text-align: center;
}
#guarantee .box_list > li {
	width: 47%;
	max-width: 440px;
}
#guarantee .box_list dt {
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
	/*font-size: min(220%,3.2vw);*/
	font-size: min(220%,4.0vh);
	font-weight: bold;
	letter-spacing: .05em;
	line-height: 1.2em;
	padding: .8em 0;
	margin-bottom: .2em;
}
#guarantee .box_list dd {
	position: relative;
	z-index: 1;
}
#guarantee .box_list dd div {
	width: 46%;
	max-width: 200px;
	position: absolute;
	z-index: 0;
}
#guarantee .box_list dd p {
	position: relative;
	z-index: 1;
	/*font-size: min(1405%,20vw);*/
	font-size: min(1405%,25vh);
	letter-spacing: -.1em;
	line-height: 1.0em;
}
#guarantee .box_list dd p .ft_gin {
	display: inline-block;
	font-size: 40%;
	letter-spacing: normal;
	line-height: 1.0em;
	transform: translateY(-.05em);
	margin-left: .4em;
}
#guarantee .box_list > li:first-child dd div {
	right: 0;
	top: 0;
	transform: translate(45%,-20%);
}
#guarantee .box_list > li:last-child dd div {
	right: 0;
	top: 10%;
	transform: translate(15%,0%);
}
#guarantee .not_applicable {
	background: #fff;
	padding: 50px 2%;
	color: #0f1716;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
#guarantee .not_applicable .box_l {
	width: 43%;
	box-sizing: border-box;
	padding: 0 2%;
	text-align: center;
}
#guarantee .not_applicable .box_r {
	width: 57%;
	box-sizing: border-box;
	border-left: solid 1px #3e3a39;
	padding: .5em 3%;
}
#guarantee .not_applicable h4 {
	font-size: min(190%,2.6vw);
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.4em;
	margin-bottom: 1.0em;
}
#guarantee .not_applicable .com_marulist > li {
	margin-top: 1.0em;
}
#guarantee .not_applicable .com_marulist > li:first-child {
	margin-top: 0;
}

#deduction .formula {
	width: 100%;
	box-sizing: border-box;
	background: #edf0f2;
    padding: 40px 0;
	text-align: center;
	color: #3e3a39;
}
#deduction .formula > div {
	display: inline-block;
}
 #deduction .formula p:nth-child(1){
	text-align: left;
    font-size: min(145%,1.8vw);
	font-weight: bold;
	letter-spacing: .15em;
    line-height: 1.4em;
    margin-bottom: .5em;
	position: relative;
}
#deduction .formula p .small1 {
    font-size: 65%;
	letter-spacing: .15em;
}
#deduction .formula p .small2 {
    font-size: 85%;
	letter-spacing: .15em;
}
#deduction .formula p .col1 {color: #45858c;}
#deduction .formula p .col2 {color: #20adaa;}
#deduction .formula p .col3 {color: #a8543e;}
#deduction .formula p sup {
    font-size: 60%;
}
#deduction .formula p:nth-child(2) {
    text-align: center;
	line-height: 1.4em;
	padding-left: 1em;
	text-indent: -1em;
}

#deduction .table_box .txt {
    text-align: center;
	font-weight: bold;
	margin: 2.0em 0;
}
#deduction .tbl_iryohi {
	width: 100%;
	border-left: solid 1px #3e3a39;
	border-bottom: solid 1px #3e3a39;
	font-size: min(100%,1.3vw);
	letter-spacing: .15em;
	line-height: 1.4em;
}
#deduction .tbl_iryohi .col_01 {
	width: 24%;
}
#deduction .tbl_iryohi .col_02 {
	width: 14%;
}
#deduction .tbl_iryohi th,
#deduction .tbl_iryohi td {
	text-align: center;
	vertical-align: middle;
	border-right: solid 1px #3e3a39;
	border-top: solid 1px #3e3a39;
	background: #fff;
}
#deduction .tbl_iryohi thead th {
	background: #45858c;
	color: #fff;
	font-weight: bold;
	padding: 1.2em 0;
}
#deduction .tbl_iryohi thead th.bg_yel {
	background: #cddee0;
	color: #3e3a39;
	padding: .6em 0;
}
#deduction .tbl_iryohi tbody th,
#deduction .tbl_iryohi tbody td {
	font-size: 105%;
	line-height: 1.4em;
	padding: 1.0em 0;
}
#deduction .tbl_iryohi tbody td.txt_red {
	color: #a8543e;
}

#tool .border_box {
	box-sizing: border-box;
	border: solid 1px #45858c;
	border-radius: 60px;
	padding: 60px 4%;
}
#tool .border_box h4 {
	text-align: center;
	font-size: min(220%,3.2vw);
	letter-spacing: .1em;
	line-height: 1.4em;
	margin-bottom: 1.0em;
}
#tool .border_box .box1,
#tool .border_box .box2 {
	padding-left: 4%;
	padding-right: 4%;
}
#tool .calc_box {
	width: 100%;
	max-width: 790px;
	margin-left: auto;
	margin-right: auto;
}
#tool .tbl_input,
#tool .tbl_rslt {
	width: 100%;
	font-size: 120%;
	letter-spacing: .15em;
	line-height: 1.4em;
}
#tool .tbl_input th,
#tool .tbl_input td,
#tool .tbl_rslt th,
#tool .tbl_rslt td {
	vertical-align: middle;
	font-weight: normal;
	padding: .6em 0;
}
#tool .tbl_input th,
#tool .tbl_rslt th {
	width: 45%;
	text-align: left;
}
#tool .tbl_input td,
#tool .tbl_rslt td {
	width: 55%;
	text-align: right;
}
#tool .tbl_input input,
#tool .tbl_rslt .amount {
	display: inline-block;
	vertical-align: middle;
	box-sizing: border-box;
	width: calc(100% - 2.5em);
	padding: .5em .5em;
	line-height: 1.6em;
	height: 2.6em;
	background: #edf0f2;
	text-align: right;
	font-size: 110%;	
	outline: none;
	border: none;
	border-radius: 0;
	margin-right: .5em;
}
#tool .tbl_rslt .amount {
	background: #fff;
}
#tool .tbl_input + .aster_txt {
	margin-top: .5em;
}
#tool .border_box .box2 {
	background: #ecf3f3;
	padding-top: 80px;
	padding-bottom: 80px;
}
#tool .border_box .result_txt1 {
	text-align: center;
	font-size: 125%;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.6em;
	margin-bottom: .5em;
}
#tool .border_box .result_txt2 {
	text-align: center;
	font-size: 155%;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.6em;
}
#tool .border_box + .aster_list {
	margin-top: 2.0em;
}
#tool .aster_list > li {
	box-sizing: border-box;
	padding-left: 1.0em;
	position: relative;
}
#tool .aster_list > li::before {
	content: "※";
	position: absolute;
	left: 0;
	top: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#price .box1 .com_btn_list li {
	width: 32.6%;
	margin-right: 1.1%;
}
.pric_table caption {
	font-size: 2.8vw;
	padding-left: .8em;
	margin-bottom: .5em;
}
.pric_table caption::before {
	top: .5em;
}
.pric_table th {
	width: 74%;
	padding: 4% 4%;
}
.pric_table td {
	padding: 4% 2%;
}
.pric_table .pric_style1 > dt,
.pric_table p.pric_style1 {
	font-size: 2.8vw;
	line-height: 1.5em;
}
.pric_table td .pric_free {
	letter-spacing: .05em;
}
.pric_table td .pric_style2 {
	letter-spacing: .05em;
}
.pric_table td .pric_style2 .ft_cav {
	letter-spacing: .05em;
}

#pay .box_list > li {
	padding: 3% 3% 4%;
}
#pay .loan_box {
	padding: 4% 3%;
}
#pay .loan_box .flex_box .box_l {
	width: 27%;
}
#pay .loan_box .flex_box .box_r {
	width: 70%;
}
#pay .loan_box dt {
	letter-spacing: .1em;
}	
#pay .loan_box dd {
	display: block;
}
#pay .loan_box dd p {
	text-align: center;
	font-size: 4.5vw;
	margin-right: 0;
}
#pay .loan_box dd ul {
	margin-top: 1.0em;
	display: flex;
    flex-wrap: wrap;
}
#pay .loan_box dd li {
	margin-right: 1.5em;
	margin-top: .5em !important;
}
#pay .com_btn1 a {
	width: 21em;
}
	
#guarantee .box_list dt {
	font-size: min(220%,3.2vw);
}
#guarantee .box_list dd p {
	font-size: min(1405%,20vw);
}

#guarantee .not_applicable {
	padding: 4% 2%;
}
#guarantee .not_applicable h4 {
	letter-spacing: .05em;
	margin-bottom: 1.0em;
}
#guarantee .not_applicable p br {
	display: none;
}

#deduction .formula {
    padding: 4% 0;
}
 #deduction .formula p:nth-child(1){
    font-size: 2.6vw;
	letter-spacing: .05em;
}
#deduction .formula p .small1 {
	letter-spacing: .05em;
}
#deduction .formula p .small2 {
	letter-spacing: .05em;
}

#deduction .tbl_iryohi {
	font-size: 1.6vw;
	letter-spacing: normal;
}

#tool .border_box {
	border-radius: 5vw;
	padding: 6% 3%;
}
#tool .border_box h4 {
	font-size: 3.4vw;
}
#tool .border_box .box1,
#tool .border_box .box2 {
	padding-left: 4%;
	padding-right: 4%;
}
#tool .tbl_input,
#tool .tbl_rslt {
	font-size: 110%;
	letter-spacing: .1em;
}
#tool .border_box .box2 {
	padding-top: 5%;
	padding-bottom: 5%;
}
#tool .border_box .result_txt1 {
	font-size: 110%;
	letter-spacing: .05em;
}
#tool .border_box .result_txt2 {
	font-size: 145%;
	letter-spacing: .05em;
}
#tool .border_box + .aster_list {
	margin-top: 1.0em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.pric_table caption {
	font-size: 130%;
	letter-spacing: .05em;
	padding-left: .8em;
	margin-bottom: .5em;
}
.pric_table caption::before {
	top: .6em;
}
.pric_table tr,
.pric_table th,
.pric_table td {
	display: block;
	width: 100% !important;
	box-sizing: border-box;
}
.pric_table th {
	border-bottom: none;
	padding: 6% 6%;
}
.pric_table td {
	padding: .5em 3%;
	font-size: 80%;
}
.pric_table .pric_style1 > dt,
.pric_table p.pric_style1 {
	font-size: 130%;
	letter-spacing: .05em;
	line-height: 1.5em;
}
.pric_table .pric_style1 > dd {
	font-size: 90%;
	letter-spacing: .05em;
	line-height: 1.6em;
	margin-top: .5em;
}

#pay .box_list {
	display: block;
}
#pay .box_list > li {
	width: 100%;
	max-width: 100%;
	padding: 4% 4% 6%;
	margin-bottom: 3%;
}
#pay .box_list > li:last-child {
	margin-bottom: 0;
}
#pay .box_list dt {
	letter-spacing: .1em;
	padding: .5em 3%;
	margin-bottom: 1.0em;
}	
#pay .loan_box {
	padding: 4% 6% 6%;
}
#pay .loan_box .flex_box {
	display: block;
}
#pay .loan_box .flex_box .box_l {
	width: 65%;
	max-width: 100%;
	margin: 0 auto 4%;
}
#pay .loan_box .flex_box .box_r {
	width: 100%;
	max-width: 100%;
}
#pay .loan_box dt {
	text-align: center;
	font-size: 110%;
	letter-spacing: .05em;
}
#pay .loan_box dd {
	display: block;
	text-align: center;
}
#pay .loan_box dd p {
	font-size: 180%;
	letter-spacing: .05em;
	margin: .2em 0 .8em;
}
#pay .loan_box dd ul {
	display: inline-block;
	text-align: left;
}
#pay .loan_box dd li {
	margin-top: .2em;
}
#pay .com_btn1 a {
	width: 20em;
}

#guarantee .box_list {
	width: 100%;
}
#guarantee .box_list > li {
	width: 48%;
	max-width: 100%;
}
#guarantee .box_list dt {
	font-size: 120%;
	padding: .8em 0;
	margin-bottom: .5em;
}
#guarantee .box_list dd p {
	font-size: 600%;
}
#guarantee .not_applicable {
	padding: 8% 6%;
	display: block;
}
#guarantee .not_applicable .box_l {
	width: 100%;
	padding: 0;
}
#guarantee .not_applicable .box_r {
	width: 100%;
	border-left: none;
	margin-top: 1.0em;
	border-top: solid 1px #3e3a39;
	padding: 1.5em 0 0;
}
#guarantee .not_applicable h4 {
	font-size: 125%;
	margin-bottom: .5em;
}
#guarantee .not_applicable .com_marulist > li {
	margin-top: .5em;
}

#deduction .formula {
    padding: 6% 0;
}
 #deduction .formula p:nth-child(1){
    font-size: 110%;
	letter-spacing: normal;
	 line-height: 1.6em;
}
#deduction .formula p .small1 {
	letter-spacing: normal;
}
#deduction .formula p .small2 {
	letter-spacing: normal;
}
#deduction .formula p:nth-child(2) {
	font-size: 90%;
	letter-spacing: .05em;
}

#deduction .sp_txt {
	text-align: center;
	color: #999;
	font-size: 90%;
	font-weight:  bold;
	letter-spacing: .05em;
	line-height: 1.2em;
	margin-bottom: .5em;
}
#deduction .scl_area {
	overflow: scroll;
}
#deduction .scl_area .tbl_iryohi {
	width: 200%;
}
#deduction .tbl_iryohi {
	font-size: 85%;
	letter-spacing: normal;
}
#deduction .tbl_iryohi .col_01 {
	position: sticky;
	left: 0;
	width: 16%;
}
#deduction .tbl_iryohi .col_02 {
	width: 16%;
}
#deduction .tbl_iryohi th.sp_left {
	padding-left: 2.3%;
	text-align: left !important;
}

#tool .border_box {
	border-radius: 6vw;
	padding: 8% 0 0;
	overflow: hidden;
}
#tool .border_box h4 {
	font-size: 140%;
	letter-spacing: .05em;
	margin-bottom: .8em;
}
#tool .border_box h4 + p {
	width: 88%;
	margin-left: auto;
	margin-right: auto;
}
#tool .border_box .box1,
#tool .border_box .box2 {
	padding-left: 6%;
	padding-right: 6%;
}
#tool .calc_box {
	max-width: 100%;
}
#tool .tbl_input,
#tool .tbl_rslt {
	font-size: 100%;
	letter-spacing: normal;
	line-height: 1.4em;
}
#tool .border_box .box2 {
	padding-top: 8%;
	padding-bottom: 8%;
}
#tool .border_box .result_txt1 {
	font-size: 110%;
	letter-spacing: normal;
}
#tool .border_box .result_txt2 {
	font-size: 130%;
	letter-spacing: normal;
}
#tool .border_box + .aster_list {
	margin-top: 1.0em;
}
}



/*
---------------------------------------------------------*/

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

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