@charset "utf-8";

@media all and (max-width:1200px) {
#mainVisual {
    height: 500px;
    border-bottom: 3px solid #b6b6b6;
}
#mainVisual h2 {
    font-size: 25px;
}
#mainVisual p {
    font-size: 30px;
}
.sec01_left p {
    font-size: 26px;
    margin-bottom: 6px;
}
	 .sec01_right h3 {
    font-size: 26px;
    margin-bottom: 6px;
}
.sec01_left p.tel {
    font-size: 36px;
}
.sec01_left p.hp_tel {
    font-size: 26px;
    margin-bottom: 30px;
}
.sec01_left h4 {
    font-size: 26px;
    margin-top: 25px;
}
.sec01_left li {
    background-size:24px auto;
    padding: 3px 0 3px 35px;
    font-size: 21px;
}
.sec02 {
    padding: 80px 15px;
}
.sec02 h3 {
    font-size: 45px;
    margin-bottom: 40px;
}
.business_flex {
    gap: 20px;
}
.business_item h4 {
    padding: 30px 5px;
    gap: 25px;
    font-size: 25px;
}
.sec03_txt h4 {
    font-size: 40px;
    margin-bottom: 12px;
}
	.sec03_01 .area > div {
    padding: 0px;
}
.sec03_01 .area > div.sec03_txt,
	.sec03_02 .area > div.sec03_txt,
	.sec03_03 .area > div.sec03_txt {
    padding: 60px 40px;
}
.sec03_txt p.about_t {
    font-size: 25px;
    margin-bottom: 20px;
}
.sec03_txt p.about_t strong {
    font-size: 35px;
}
.sec03_txt p {
    font-size: 17px;
}
.tag {
    gap: 5px;
    margin-top: 20px;
}
.tag span {
    padding: 7px 20px;
    font-size: 18px;
    border: 2px solid #000000;
}
.sec04 {
    padding: 80px 0;
}
.sec04 p {
    font-size: 35px;
    margin-bottom: 8px;
}
.sec04 a {
    padding: 6px 25px;
    font-size: 25px;
}
}
 @media all and (max-width:1024px) {
	 .quick_menu,
	 .btn_quick_close,
	 .quick_wrap{
    top: 80px;
}
	 .sec01_left {
    padding-right:2%;
}
}
 @media all and (max-width:800px) {
	#mainVisual {
    height: 400px;
}
#mainVisual h2 {
    font-size: 20px;
}
#mainVisual p {
    font-size: 25px;
}
	 #about,
	 #cs{scroll-margin-top: 60px;}
.sec02 {
    padding: 50px 15px;
}
.sec02 h3 {
    font-size: 40px;
    margin-bottom: 35px;
}
.business_flex {
    gap: 15px;
}
.business_item h4 {
    padding: 25px 5px;
    gap: 20px;
    font-size: 20px;
}
	.sec03_01 .area > div.sec03_txt,
	.sec03_02 .area > div.sec03_txt,
	.sec03_03 .area > div.sec03_txt {
    padding: 50px 30px;
}

.sec03_txt p.about_t {
    font-size: 25px;
    margin-bottom: 15px;
}
.sec03_txt p.about_t strong {
    font-size: 30px;
}
	.sec03_txt p {
    font-size: 15px;
}
	.tag {
    gap: 4px;
    margin-top: 15px;
}
.tag span {
    padding: 5px 15px;
    font-size: 16px;
}
	.sec04 {
    padding: 50px 0;
}
	 .sec04 p {
    font-size: 25px;
    margin-bottom: 5px;
}
	 .sec04 a {
    padding: 5px 20px;
    font-size: 20px;
}
	 .quick_wrap,
	 .btn_quick_close{display:none}
	 .quick_menu {
    top: 60px;
}
	 .sec01 .area {flex-wrap:wrap;}
	 .sec01_left {
        padding-right: 0%;
		 width:100%;
    }
	 .pc_view {display:none}
	 .sec01_right {width:100%;margin-top:30px;}
	     .sec01_left p {
        font-size: 18px;
        margin-bottom: 5px;
    }

	 .sec01_right p {
        font-size: 15px;
        margin-bottom: 5px;
    }
	  .sec01_right h3 {
    font-size: 18px;
    margin-bottom: 5px;
}
	     .sec01_left p.tel {
        font-size: 30px;
    }
	     .sec01_left h4 {
        font-size: 22px;
        margin-top: 20px;
    }
	     .sec01_left li {
        background-size: 20px auto;
        padding: 3px 0 3px 25px;
        font-size: 18px;
    }
	 #btn_submit {
    padding: 5px 20px 3px 20px!important;
    font-size: 1.1em!important;
    margin-top: 5px!important;
}
	 .sec03_txt:before {
    display: block;
    content: "";
    position: absolute;
    top: 25px;
    left: -55px;
    border-bottom: 30px solid transparent;
    border-top: 30px solid transparent;
    border-left: 30px solid transparent;
    border-right: 30px solid #308ad6;
}
	 .sec03_02 .area .sec03_txt:before {
    right: -55px;
    border-left: 30px solid #12a64d;
    border-right: 30px solid transparent;
}
	 .sec03_03 .area .sec03_txt:before {
    border-right: 30px solid #3446b0;
}
	     #mainVisual h2 {
        font-size: 20px;
    }
	     #mainVisual p {
        font-size: 30px;
    }
}
 @media all and (max-width:480px) {
	 #mainVisual {
    height: 300px;
    border-bottom: 3px solid #b6b6b6;
}
	 #mainVisual .main-visual-item .main-visual-txt-con > div {
    padding: 10px;        margin: 0 15px;
}
	     #mainVisual h2 {
        font-size: 13px;
    }
	     #mainVisual p {
        font-size: 20px;
    }
.sec02 {
    padding: 30px 15px;
}
.sec02 h3 {
    font-size: 30px;
    margin-bottom: 25px;
}
	.sec03_01 .area > div.sec03_txt,
	.sec03_02 .area > div.sec03_txt,
	.sec03_03 .area > div.sec03_txt {
    padding: 40px 20px;
		width:100%;
}
	 .sec03_01:before,
	 .sec03_03:before{
    position: relative;
    width: 100%;
    height: 300px;
}
	 .sec03_01:after,
	 .sec03_02:after,
	 .sec03_03:after {display:none}
	 .sec03_01 .area > div.sec03_txt {background: #308ad6;}
	  .sec03_02 .area > div.sec03_txt {background: #12a64d;order:2;}
	  .sec03_03 .area > div.sec03_txt {background: #3446b0;}
.sec03_txt p.about_t {
    font-size: 20px;
    margin-bottom: 12px;
}
.sec03_txt p.about_t strong {
    font-size: 25px;
}
	.sec03_txt p {
    font-size: 13px;
}
	.sec04 {
    padding: 30px 0;
}
	  .sec04 p {
    font-size: 17px;
    margin-bottom: 5px;
}
		 .sec04 a {
    padding: 5px 16px;
    font-size: 16px;
}
	 
	  .sec01_right p{
        font-size: 12px;
    }
	 .sec01_right h3 {
    margin-bottom: 5px;
}
	     .sec01_left p.tel {
        font-size: 22px;
    }
	  .sec01_left h4 {
        font-size: 18px;
        margin-top: 15px;
    }
	 .sec01_left li {
        background-size: 16px auto;
        padding: 3px 0 3px 20px;
        font-size: 14px;
    }
	 .quick_menu {display:none}
	     .business_flex {
        gap: 5px;
    }
	     .business_item h4 {
        padding: 15px 2px;
        gap: 2px;
        font-size: 14px;
    }
	 .sec03_01 .area,
	 .sec03_02 .area,
	 .sec03_03 .area {flex-wrap:wrap;padding:0!important}
	 .sec03_02 .area > div {
    width: 100%;
    padding: 40px 20px;
    background: #e6e6e6;
		 order:1;
}
	 .sec03_03 .area > div:not(.sec03_txt) {display:none}
	      .tag span {
        padding: 4px 10px;
        font-size: 13px;
    }
}
