@charset "utf-8";
/* CSS Document */


/* under_kv
   ================================================================== */
.under_kv{
	margin: 0 0 0;
	position: relative;
}

.under_kv .main_photo{
    height: 50vw;
	position: relative;
}

.under_kv .main_photo:before{
	content: "";
	background: rgba(34,34,34,.15);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
    z-index: 2;
}

.under_kv.over_none .main_photo:before{
	display: none;
}

.under_kv .main_photo img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
    position: relative;
    z-index: 1;
}

.under_kv .bottom{
	padding: 6vw 0;
    background: #eee;
}

.under_kv .anchor_btn{
	display: flex;
    flex-wrap: wrap;
    text-align: center;
    justify-content: center;
}

.under_kv .anchor_btn > li{
    margin: 1vw 0;
	width: 80%;
}

.under_kv .anchor_btn.pieces4 > li{
    margin: 1vw 1%;
	width: 48%;
}

.under_kv .anchor_btn li a{
    padding: 0 3vw;
    height: 12vw;
    background: #fff;
    border: 1px solid #3176D6;
	display: flex;
    align-items: center;
    box-sizing: border-box;
}

.under_kv .anchor_btn .btn_arrow{
    width: 100%;
	display: flex;
    justify-content: space-between;
}

.under_kv .anchor_btn .btn_arrow .btn_txt{
    font-size: 3.6vw;
    font-weight: 700;
}


/* bg_block
   ================================================================== */
.bg_block{
	margin: 0 0 0;
	background: #ddd;
    border-radius: 21px;
}

.bg_block.color2{
	background: rgba(49,118,214,.15);
}

.bg_block.color3{
	background: #eee;
}


/* bg_eng_ttl
   ================================================================== */
.bg_eng_ttl{
	position: relative;
}

.bg_eng_ttl .jpn{
	font-size: 8vw;
    line-height: 150%;
    font-weight: 700;
    color: #3176D6;
}

.bg_eng_ttl .eng{
	font-size: 15vw;
    line-height: 110%;
    letter-spacing: 0.05em;
    font-weight: 700;
    color: rgba(49, 118, 214, .05);
    position: absolute;
    top: -8vw;
    left: -6vw;
}


/* kv
   ================================================================== */
.kv{
	margin: 0 0 0;
	position: relative;
}

.kv .scrool_txt{
	position: absolute;
    bottom: -5vw;
    left: 5vw;
    z-index: 2;
    width: 6vw;
    text-align: center;
}

.kv .scrool_txt .s_txt{
    padding-bottom: 1vw;
    font-size: 3.2vw;
    line-height: 2;
    letter-spacing: 0.1em;
    color: #fff;
    font-weight: 500;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    position: relative;
}

.kv .scrool_txt .border{
    margin: auto;
	background: #fff;
	width: 1px;
	height: 26vw;
	position: relative;
    display: block;
    overflow: hidden;
}

.kv .scrool_txt .border:before{
	content: "";
	background: #3176D6;
	width: 100%;
	height: 10vw;
	position: absolute;
	top: 0;
	left: 0;
    animation: scrool_border 2s ease infinite;
}

@keyframes scrool_border{
    0% {
        transform: translateY(-100%);
    }
    100% {
        transform: translateY(200px);
    }
}

.kv .box{
    padding: 10vw 8vw;
    height: 150vw;
    position: relative;
    background-image: url("../images/index/webp/kv.webp");
	background-repeat: no-repeat;
	background-position: -175vw center;
	background-size: cover;
    box-sizing: border-box;
}

.kv .box:before{
	content: "";
	background: rgba(49,118,214,.35);
	width: 60%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
    mix-blend-mode: multiply;
}

.kv .box:after{
	content: "";
	background: rgba(213,232,252,1);
	width: 20%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 60%;
    mix-blend-mode: multiply;
}

.kv .box > *{
	position: relative;
    z-index: 1;
}

.kv .catch span,
.kv p{
    display: block;
    color: #fff;
    line-height: 150%;
    font-weight: 600;
    filter: drop-shadow(0 3px 6px rgba(0,0,0,.36));
}

.kv .catch .siz_s{
    font-size: 5vw;
}

.kv .catch .siz_l{
    margin: 5vw 0 0;
    font-size: 8vw;
    letter-spacing: 0.05em;
}

.kv p{
    margin: 5vw 0 0;
    font-size: 3.7vw;
    font-weight: 500;
}


/* index_subsidy
   ================================================================== */
.index_subsidy{
	padding: 10vw 0;
    background: #eee;
}

.index_subsidy .left{
	margin: 0 0 0 -3vw;
}

.index_subsidy .left .btn a{
	padding: 3vw 5vw;
    text-align: right;
    background: #fff;
    position: relative;
    display: block;
}

.index_subsidy .left .btn_txt{
	margin-right: 5vw;
}

.index_subsidy .right{
	padding: 6vw 0 0;
}

.index_subsidy .right .title{
	font-size: 5vw;
}

.index_subsidy .right .message{
    margin: 5vw 0 0;
	font-size: 3.8vw;
    font-weight: 700;
    color: #3176D6;
}

.index_subsidy .right .text{
	margin: 5vw 0 0;
    padding: 5vw 0 0;
    font-weight: 500;
    position: relative;
}

.index_subsidy .right .text:before{
	content: "";
	background: #3176D6;
	width: 70%;
	height: 1px;
	position: absolute;
	top: 0;
	left: 0;
}


/* index_achievements
   ================================================================== */
.index_achievements{
	padding: 0 0 10vw;
}

.index_achievements .photo.sp{
	margin: -5vw -3vw 0 10vw;
}

.index_achievements .left{
	padding: 6vw 0 0;
}

/* border_title */
.border_title > span{
	display: block;
    line-height: 150%;
}

.border_title .eng{
	font-size: 3.2vw;
    color: #3176D6;
    position: relative;
}

.border_title .eng:before{
	content: "";
	background: #3176D6;
	width: 100vw;
	height: 2px;
	position: absolute;
	top: 50%;
	right: calc(100% + 5px);
}

.border_title .jpn{
    margin: 1vw 0 0;
	font-size: 6vw;
}

.index_achievements .list{
    margin: 5vw 0 0;
}

.index_achievements .list > li{
    padding: 3vw 0;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px dashed #707070;
}

.index_achievements .list > li:last-child{
    border-bottom: none;
}

.index_achievements .list .ttl{
    font-size: 3.7vw;
    font-weight: 500;
    color: #3176D6;
}

.index_achievements .list .ttl .dot{
    font-size: 4.2vw;
    color: #000;
}

.index_achievements .right{
    margin: 5vw 0 0;
    text-align: right;
}

.index_achievements .btn a{
    padding: 3vw 2vw;
    display: inline-block;
    border-bottom: 4px solid #3176D6;
}

.index_achievements .btn .btn_txt{
    margin-right: 3vw;
}


/* index_jikitan
   ================================================================== */
.index_jikitan{
	padding: 15vw 0;
    background-image: url("../images/index/webp/jikitan.webp");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
    position: relative;
    overflow: hidden;
}

.index_jikitan:before{
	content: "";
	background: rgba(93,93,93,.45);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
    mix-blend-mode: multiply;
}

.index_jikitan .inner{
	position: relative;
    z-index: 1;
}

.index_jikitan .title span,
.index_jikitan .text_box p{
    color: #fff;
    display: block;
    filter: drop-shadow(0 3px 6px rgba(0,0,0,.36));
}

.index_jikitan .title{
	position: relative;
}

.index_jikitan .title .jpn{
	font-size: 8vw;
    line-height: 150%;
    font-weight: 900;
}

.index_jikitan .title .eng{
	font-size: 20vw;
    line-height: 100%;
    letter-spacing: 0.05em;
    font-family: 'Noto Serif JP';
    font-weight: 900;
    color: rgba(255,255,255,.2);
    position: absolute;
    top: -16vw;
    left: -5vw;
}

.index_jikitan .text_box{
	margin: 9vw 0 0;
    position: relative;
    z-index: 1;
}

.index_jikitan .text_box p{
    font-size: 3.7vw;
	font-weight: 500;
}

.index_jikitan .text_box .btn{
	margin: 8vw 0 0;
    text-align: right;
}

.index_jikitan .text_box .btn a{
	padding: 3vw 5vw;
    background: #fff;
}

.index_jikitan .text_box .btn .btn_txt{
	margin-right: 5vw;
}


/* index_business
   ================================================================== */
.index_business{
	padding: 10vw 0 15vw;
    background: #ccc;
}

.index_business .slider_wrap{
	margin: 8vw 0 0;
}


/* business_slider
   ================================================================== */
.business_slider{
	margin: 0 0 0 !important;
    width: 70vw;
	position: relative;
    overflow: inherit !important;
}

.business_slider{
    opacity: 0;
    transition: .3s;
}

.business_slider.swiper-container-horizontal{
    opacity: 1;
}

.business_slider .swiper-wrapper{
	line-height: 0;
}

.business_slider .swiper-slide{
	padding: 0;
    background: #fff;
    box-sizing: border-box;
}

.business_slider .inbox{
	display: block;
}

.business_slider .inbox span{
	display: block;
}

.business_slider .thm{
    line-height: 0;
}

.business_slider .text_box{
    padding: 4vw 4vw 6vw;
}

.business_slider .ttl{
    padding: 0 0 3vw;
	font-size: 4.5vw;
    font-weight: 600;
	color: #3176D6;
    border-bottom: 2px solid #3176D6;
    text-align: center;
}

.business_slider .txt{
    margin: 4vw 0 0;
    font-weight: 500;
    letter-spacing: 0;
    min-height: 36vw;
}

.business_slider .view_more_btn{
    margin: 4vw 0 0;
    text-align: center;
}

.business_slider .view_more_btn span{
    padding: 0 6vw 0 0;
    font-size: 3.2vw;
    line-height: 1;
    display: inline-block;
    color: #3176D6;
    font-weight: 500;
    background-image: url("../images/common/more_arrow.svg");
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 1.2vw;
}

/* swiper_arrow_btn */
.swiper_arrow_btn .arrows{
    margin: 6vw 0 0;
    width: 18vw;
    display: flex;
    justify-content: space-between;
}

.swiper_arrow_btn .arrows .swiper-button-prev,
.swiper_arrow_btn .arrows .swiper-button-next{
    margin: 0 0 0 2vw;
    position: relative;
	width: 8vw;
    height: 8vw;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100%;
    top: 0;
    opacity: 1 !important;
}

.swiper_arrow_btn .arrows .swiper-button-prev{
	background-image: url("../images/common/slider_prev.svg");
    left: 0;
}

.swiper_arrow_btn .arrows .swiper-button-next{
	background-image: url("../images/common/slider_next.svg");
    right: 0;
}

/* OFF */
.swiper_arrow_btn .arrows .swiper-button-prev.swiper-button-disabled{
	background-image: url("../images/common/slider_prev_off.svg");
}

.swiper_arrow_btn .arrows .swiper-button-next.swiper-button-disabled{
	background-image: url("../images/common/slider_next_off.svg");
}


/* page_title
   ================================================================== */
.page_title{
	position: relative;
    text-align: center;
}

.page_title .jpn{
    margin: 0 auto;
	font-size: 5vw;
    letter-spacing: 0.05em;
    position: absolute;
    top: 2vw;
    bottom: 0;
    left: 0;
    right: 0;
    line-height: 150%;
    font-weight: 700;
    color: #3176D6;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.page_title .eng{
	font-size: 18vw;
    line-height: 100%;
    letter-spacing: 0.05em;
    font-weight: 700;
    color: rgba(49,118,214,.05);
}


/* corporate_block
   ================================================================== */
.corporate_block{
	padding: 10vw 0 10vw;
}

.corporate_block .list{
	margin: 6vw auto 0;
    width: 100%;
}

.corporate_block .list > li{
    margin: 1vw 0 0;
	padding: 5vw 1vw 5vw 3vw;
    display: flex;
    background: #F4F4F4;
}

.corporate_block .list .ttl{
    font-size: 3.5vw;
    width: 24vw;
    font-weight: 700;
}

.corporate_block .list .text_box{
    padding: 0 0 0 3vw;
    width: calc(100% - 24vw);
    box-sizing: border-box;
}

.corporate_block .list .text_box p{
    font-size: 3.4vw;
    font-weight: 500;
}


/* contact
   ================================================================== */
.contact{
	padding: 10vw 0 20vw;
}

/* form */
.contact form{
	margin-top: 8vw;
}

.contact .top_text{
	margin: 0 0 2vw;
    text-align: center;
    font-size: 3.1vw;
    font-weight: 500;
}

.contact .req{
	color: #D90000;
}

.contact .bg_box{
    margin: 8vw auto 0;
    padding: 8vw 3vw 15vw;
    background: #eee;
    border-radius: 20px;
    filter: drop-shadow(0 3px 4px rgba(0,0,0,.15));
}

.contact table{
    margin: 0 auto 0;
	width: 100%;
	line-height: 150%;
	box-sizing: border-box;
}

.contact th,
.contact td{
	width: 100%;
	display: block;
	font-weight: 500;
	border-bottom: none;
	box-sizing: border-box;
	font-size: 16px;
	letter-spacing: 0.10em;
}

.contact th{
	padding: 20px 0 0;
    font-weight: 500;
}

.contact td{
	padding: 10px 0 0;
    position: relative;
}

.contact input,
.contact select,
.contact textarea{
	margin: 0;
	padding: 15px;
	font-size: 16px;
	box-sizing: border-box;
	width: 100%;
    background: #fff;
	border: 1px solid #fff;
    border-radius: 7px;
	vertical-align: middle;
    filter: drop-shadow(0 3px 6px rgba(0,0,0,.16));
}

.contact select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("../images/common/down-arrow.svg");
    background-color: #F8F8F8;
	background-repeat: no-repeat;
	background-size: 10px 8px;
	background-position: right 16px center;
}

.contact input:focus,
.contact textarea:focus,
.contact select:focus{
	outline: none;
}

textarea::-webkit-input-placeholder,
input::-webkit-input-placeholder{
    color: #ccc;
}

textarea::-moz-placeholder,
input::-moz-placeholder{
    color: #ccc; opacity: 1;
}

textarea:-ms-input-placeholder,
input:-ms-input-placeholder{
    color: #ccc;
}

.contact textarea{
    height: 30vw;
	line-height: 150%;
}

/* ボタン */
.zas_btn_area{
	margin: auto;
	text-align: center;
	padding: 40px 0 0;
	font-size: 0;
	box-sizing: border-box;
	max-width: 500px;
}

.zas_btn_area button{
	padding: 16px 0;
	border: none;
	font-size: 16px;
    font-weight: 600;
	background: #3176D6;
	width: 65%;
	max-width: 260px;
    letter-spacing: 0.1em;
	color: #FFF;
	position: relative;
	overflow: hidden;
	text-align: center;
    transition: .3s;
    border-radius: 50px;
}

.contact .note{
	margin: 10vw 0 0;
    font-size: 3.2vw;
    text-align: center;
}


/* thanks
   ================================================================== */
.thanks p{
    margin: 10vw 0 0;
	font-size: 4vw;
	line-height: 150%;
}

.thanks .go_top_btn{
	margin: 8vw 0 0;
	text-align: center;
    font-weight: 500;
}


/* jikitan_section
   ================================================================== */
.jikitan_section .about_block{
	padding: 15vw 0 15vw;
    position: relative;
}

.jikitan_section .about_block:before{
	content: "";
	background: #3176D6;
	width: 1px;
	height: 18vw;
	position: absolute;
	bottom: -8vw;
	left: 50%;
    z-index: 1;
}

.jikitan_section .about_block .inner{
	position: relative;
}

.jikitan_section .about_block .left{
    padding: 0 0 0 4vw;
	position: relative;
}

.jikitan_section .about_block .sub{
	margin: 8vw 0 0;
    font-size: 4.5vw;
    line-height: 120%;
    color: #3176D6;
    font-weight: 700;
    position: relative;
    z-index: 1;
}

.jikitan_section .about_block .sub + .sub{
	margin-top: 3vw;
}

.jikitan_section .about_block .txt{
	font-weight: 500;
    letter-spacing: 0.05em;
}

.jikitan_section .about_block .sub + .txt{
	margin-top: 6vw;
}

/* method */
.method .about_block .photo{
	margin: 5vw 0 0;
}

.method .about_block .right{
	padding: 6vw 0 0;
}

.method .about_block .right .txt{
	font-size: 3.9vw;
    letter-spacing: 0.05em;
}

/* subsidy */
.subsidy{
	padding-bottom: 20vw;
}

.subsidy .about_block .right{
	margin: 10vw 0 0;
    text-align: center;
}

.subsidy .about_block .right .ttl > span{
    font-size: 4.2vw;
    width: 80vw;
    height: 10vw;
    border-radius: 50px;
	display: inline-flex;
    justify-content: center;
    align-items: center;
    background: #3176D6;
    color: #fff;
}

.subsidy .about_block .right .txt{
    margin: 6vw 0 0;
    font-size: 3.9vw;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.subsidy .about_block .right .note{
    margin: 4vw 0 0;
    font-size: 3.5vw;
    font-weight: 500;
    letter-spacing: 0.05em;
}

/* method bottom_box */
.method .bottom_box{
	padding: 15vw 0;
}

.method .bottom_box .list > li{
	background: #fff;
    position: relative;
}

.method .bottom_box .list > li + li{
	margin-top: 5vw;
}

.method .bottom_box .list .photo{
	width: 70vw;
}

.method .bottom_box .list .number{
	width: 10vw;
    position: absolute;
    top: 5vw;
    right: 5vw;
    line-height: 0;
    text-align: center;
}

.method .bottom_box .list .text_box{
	padding: 5vw 5vw 8vw;
}

.method .bottom_box .list .text_box .ttl{
	padding: 0 0 0 5vw;
    font-size: 5vw;
    font-weight: 700;
    color: #3176D6;
    position: relative;
}

.method .bottom_box .list .text_box .ttl:before{
	content: "";
	background: #3176D6;
	width: 3vw;
	height: 3vw;
	position: absolute;
	top: 2.4vw;
	left: 0;
}

.method .bottom_box .list .text_box p{
	margin: 3vw 0 0;
    font-weight: 500;
}

/* subsidy bottom_box */
.subsidy .bottom_box{
	padding: 15vw 0;
}

.subsidy .bottom_box .title{
	font-size: 6vw;
    font-weight: 700;
    color: #3176D6;
    text-align: center;
}

.subsidy .bottom_box .list{
	margin: 10vw auto 0;
}

.subsidy .bottom_box .list > li{
    padding: 5vw;
	background: #fff;
    position: relative;
}

.subsidy .bottom_box .list > li + li{
	margin-top: 5vw;
}

.subsidy .bottom_box .list .left{
	padding: 0 0 5vw;
    display: flex;
    justify-content: space-between;
    border-bottom: 2px solid #3176D6;
}

.subsidy .bottom_box .list .step_number{
    width: 15vw;
	line-height: 0;
}

.subsidy .bottom_box .list .icon{
	line-height: 0;
}

.subsidy .bottom_box .list .right{
	padding: 5vw 0 0;
}

.subsidy .bottom_box .list .right .ttl{
	font-size: 4.5vw;
    font-weight: 600;
}

.subsidy .bottom_box .list .right .ttl + p{
	margin: 4vw 0 0;
    font-weight: 500;
}


/* equipment
   ================================================================== */
.equipment{
    margin-top: 15vw;
    margin-bottom: 15vw;
	padding: 15vw 0;
}

.equipment .list > li{
    background: #fff;
    position: relative;
    overflow: hidden;
}

.equipment .list > li + li{
    margin-top: 5vw;
}

.equipment .list .thm{
    width: 50%;
    line-height: 0;
    float: left;
}

.equipment .list .thm img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.equipment .list .text_box{
    padding: 0 5vw 8vw;
}

.equipment .list .text_box .ttl{
    padding: 0 0 0 5vw;
    display: flex;
    align-items: center;
    height: 43vw;
    box-sizing: border-box;
}

.equipment .list .text_box .ttl > span{
    padding: 5vw 0 5vw 6vw;
    font-size: 5vw;
    line-height: 110%;
    color: #3176D6;
    width: 100%;
    box-sizing: border-box;
    letter-spacing: 0.05em;
    font-weight: 700;
    position: relative;
    display: block;
}

.equipment .list .text_box .ttl > span:before{
	content: "";
	background-image: url("../images/equipment/icon_check.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100%;
	width: 4vw;
	height: 4vw;
	position: absolute;
	top: 6vw;
	left: 0;
}

.equipment .list .text_box .ttl > span:after{
	content: "";
	background: linear-gradient(to right,#3176D6 0%,#EDF3FB 80%,#fff 100%);
	width: 100%;
	height: 5px;
	position: absolute;
	bottom: 0;
	left: 0;
}

.equipment .list .text_box p{
	margin: 4vw 0 0;
    font-size: 3.7vw;
    font-weight: 500;
}


/* business_content
   ================================================================== */
.business_content{
	padding: 15vw 0;
}

/* top_box */
.business_content .top_box{
	padding: 0 0 15vw;
}

.business_content .top_box .photo{
	width: 100%;
}

.business_content .top_box .text_box{
	padding: 6vw 0 6vw;
    border-bottom: 2px solid #3176D6;
}

.business_content .top_box .text_box p{
	font-size: 4.2vw;
    font-weight: 600;
    letter-spacing: 0.05em;
}

/* list */
.business_content .list{
	margin: 0 0 0;
}

.business_content .list > li{
	padding: 10vw 0;
}

.business_content .list > li:nth-child(2n+1){
	background: rgba(49,118,214,.15);
}

.business_content .list .text_box{
	padding: 0 0 0;
}

.business_content .list .text_box .ttl{
	display: flex;
    align-items: center;
}

.business_content .list .text_box .ttl .number{
	width: 21vw;
    line-height: 0;
    display: block;
}

.business_content .list .text_box .ttl .ttl_txt{
    padding: 0 0 0;
    font-size: 6vw;
	width: calc(100% - 20vw);
    box-sizing: border-box;
    display: block;
}

.business_content .list .text_box .photo{
    margin: 5vw 0 0;
}

.business_content .list .text_box .txt{
    margin: 5vw 0 0;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.business_content .list .text_box .note{
    margin: 5vw 0 0;
    font-size: 3.9vw;
    color: #3176D6;
    font-weight: 500;
}

/* flow_box */
.business_content .list .flow_box{
    margin: 10vw 0 0;
}

.business_content .list .flow_box .flow_ttl{
    padding: 3vw;
    font-size: 3.9vw;
    color: #3176D6;
    font-weight: 700;
    border: 2px solid #3176D6;
    text-align: center;
}

.business_content .list .flow_box .flow_list{
    margin: 10vw auto 0;
}

.business_content .list .flow_box .flow_list > li{
    background: #fff;
    position: relative;
    overflow: hidden;
}

.business_content .list .flow_box .flow_list > li + li{
    margin-top: 5vw;
}

.business_content .list .flow_box .flow_list .thm{
    width: 50%;
    line-height: 0;
    float: left;
}

.business_content .list .flow_box .flow_list .text_box{
    padding: 0 5vw 8vw;
}

.business_content .list .flow_box .flow_list .text_box .ttl{
    padding: 0 0 0 5vw;
    display: flex;
    align-items: center;
    height: 26vw;
    box-sizing: border-box;
}

.business_content .list .flow_box .flow_list .text_box .ttl > span{
    font-size: 4.2vw;
    line-height: 140%;
    color: #3176D6;
    width: 100%;
    box-sizing: border-box;
    letter-spacing: 0.05em;
    font-weight: 700;
    position: relative;
    display: block;
}

.business_content .list .flow_box .flow_list .text_box p{
	margin: 4vw 0 0;
    font-weight: 500;
    letter-spacing: 0;
}

.business_content .list .flow_box .bottom_txt{
	margin: 8vw 0 0;
    font-size: 3.9vw;
    font-weight: 500;
    text-align: center;
}

/* check_box */
.business_content .list .check_box{
    margin: 6vw 0 0;
}

.business_content .list .check_box .check_ttl{
    padding: 0 0 0 6vw;
    font-size: 4vw;
    letter-spacing: 0.05em;
    background-image: url("../images/jibankaihatsu/icon_check.svg");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 4vw;
    color: #3176D6;
    font-weight: 600;
}

.business_content .list .check_box .photo{
    margin: 5vw 0 0;
}

.business_content .list .check_box .check_list{
    margin: 5vw 0 0;
}

.business_content .list .check_box .check_list > li{
    margin: 1vw 0 0;
    padding: 0 0 0 5vw;
    font-size: 3.5vw;
    letter-spacing: 0;
    font-weight: 500;
    position: relative;
}

.business_content .list .check_box .check_list > li:before{
	content: "";
	background: #3176D6;
	width: 2vw;
	height: 2vw;
	position: absolute;
	top: 2vw;
	left: 1vw;
}


/* achievements
   ================================================================== */
.achievements{
	padding: 0 0 20vw;
	position: relative;
}

.achievements .inner{
	padding-top: 1px;
	padding-bottom: 15vw;
}

.achievements .title{
    margin: -10vw 0 0;
    padding: 1vw 0 3vw 3vw;
	position: relative;
    border-left: 2vw solid #3176D6;
}

.achievements .title span{
    display: block;
}

.achievements .title .eng{
	font-size: 12vw;
    line-height: 100%;
    letter-spacing: 0;
    font-weight: 900;
    color: rgba(49,118,214,.05);
}

.achievements .title .jpn{
	font-size: 8vw;
    line-height: 150%;
    color: #3176D6;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.achievements .top_txt{
    margin: 8vw 0 0;
	font-size: 3.7vw;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.achievements .history{
    margin: 8vw 0 0;
}

.achievements .history > li{
    margin: 0;
}

.achievements .history > li + li{
    margin: 5vw 0 0;
}

.achievements .history .ttl{
    padding: 3vw 3vw;
    width: 100%;
    height: 16vw;
    font-size: 3.9vw;
    letter-spacing: 0.05em;
    font-weight: 600;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    background: rgba(49,118,214,.15);
}

.achievements .history > li:nth-child(3n+2) .ttl{
    background: rgba(49,118,214,.35);
}

.achievements .history > li:nth-child(3n+3) .ttl{
    background: rgba(49,118,214,.55);
}

.achievements .history .list{
    margin: 0;
}

.achievements .history .list > li{
    display: flex;
}

.achievements .history .list > li + li{
    margin: 2vw 0 0;
}

.achievements .history .list .box_ttl,
.achievements .history .list p{
    padding: 3vw 1vw 3vw 4vw;
    font-size: 3.8vw;
    font-weight: 500;
    letter-spacing: 0.05em;
    background: #fff;
    display: block;
    box-sizing: border-box;
}

.achievements .history .list .box_ttl{
    width: 38vw;
}

.achievements .history .list p{
    width: calc(100% - 38vw);
}


@media screen and (min-width : 500px){


    /* under_kv
       ================================================================== */
    .under_kv .main_photo{
        height: 37.3vw;
    }

    .under_kv .bottom{
        padding: 4.0vw 0;
    }

    .under_kv .anchor_btn{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .under_kv .anchor_btn > li{
        margin: 0 1.6vw;
        width: 41.3%;
    }

    .under_kv .anchor_btn.pieces4 > li{
        margin: 0 .8vw;
        width: 22.9%;
    }

    .under_kv .anchor_btn li a{
        padding: 0 3.7vw;
        height: 7.2vw;
    }

    .under_kv .anchor_btn .btn_arrow .btn_txt{
        font-size: 1.9vw;
    }


    /* bg_block
       ================================================================== */
    .bg_block{
        margin: 0 auto;
        max-width: 100%;
    }


    /* bg_eng_ttl
       ================================================================== */
    .bg_eng_ttl .jpn{
        font-size: 5.0vw;
    }

    .bg_eng_ttl .eng{
        font-size: 8.0vw;
        line-height: 9.0vw;
        top: -3.6vw;
        left: -7.4vw;
    }


    /* kv
       ================================================================== */
    .kv{
        margin: 0 0 0;
        padding: 0 0 0 12.0vw;
        position: relative;
    }

    .kv .scrool_txt{
        position: absolute;
        bottom: -4.6vw;
        left: 4.8vw;
        width: 3.0vw;
    }

    .kv .scrool_txt .s_txt{
        padding-bottom: 1.8vw;
        font-size: 1.5vw;
        color: #3176D6;
    }

    .kv .scrool_txt .border{
        background: #3176D6;
        height: 14.6vw;
    }

    .kv .scrool_txt .border:before{
        background: #BEDFAE;
        height: 3.0vw;
    }

    .kv .box{
        padding: 7.5vw 6.2vw;
        height: 56.8vw;
        background-position: center center;
    }

    .kv .box:before{
        width: 80%;
    }

    .kv .box:after{
        width: 12%;
        left: 80%;
    }

    .kv .catch .siz_s{
        font-size: 3.5vw;
    }

    .kv .catch .siz_l{
        margin: .3vw 0 0;
        font-size: 4.5vw;
    }

    .kv p{
        margin: 2.3vw 0 0;
        font-size: 1.7vw;
    }
    

    /* index_subsidy
       ================================================================== */
    .index_subsidy{
        padding: 10.0vw 0;
    }

    .index_subsidy .inner{
        display: flex;
    }

    .index_subsidy .left{
        margin: 0 0 0 -3.0vw;
        width: calc(45% + 2.3vw);
    }

    .index_subsidy .left .btn a{
        padding: 1.9vw 3.3vw;
    }

    .index_subsidy .left .btn_txt{
        margin-right: 1.5vw;
    }

    .index_subsidy .right{
        padding: 2.0vw 0 0 3.3vw;
        width: calc(100% - 45% - 2.3vw);
        box-sizing: border-box;
    }

    .index_subsidy .right .title{
        font-size: 2.5vw;
        line-height: 4.5vw;
    }

    .index_subsidy .right .message{
        margin: 3.0vw 0 0;
        font-size: 1.8vw;
        line-height: 3.0vw;
    }

    .index_subsidy .right .text{
        margin: 2.0vw 0 0;
        padding: 2.0vw 0 0;
        line-height: 3.0vw;
    }

    .index_subsidy .right .text:before{
        width: 24.0vw;
    }


    /* index_achievements
       ================================================================== */
    .index_achievements{
        padding: 0 0 9.0vw;
    }

    .index_achievements .inner{
        display: flex;
        align-items: flex-end;
        position: relative;
    }

    .index_achievements .left{
        padding: 8.0vw 0 0;
        width: 48.0vw;
        box-sizing: border-box;
    }

    /* border_title */
    .border_title .eng{
        font-size: 1.8vw;
    }

    .border_title .eng:before{
        right: calc(100% + 1.0vw);
    }

    .border_title .jpn{
        margin: .5vw 0 0;
        font-size: 4.0vw;
    }

    .index_achievements .list{
        margin: 3.5vw 0 0;
    }

    .index_achievements .list > li{
        padding: 2.0vw 0;
    }

    .index_achievements .list .ttl{
        font-size: 1.7vw;
        width: 23.0vw;
    }

    .index_achievements .list .ttl .dot{
        font-size: 2.2vw;
    }

    .index_achievements .right{
        margin: 0;
        width: 45.2vw;
        position: absolute;
        top: -4.2vw;
        left: 55.6vw;
        text-align: left;
    }

    .index_achievements .btn{
        margin: 2.0vw 0 0;
    }

    .index_achievements .btn a{
        padding: 1.4vw 1.5vw 1.0vw
    }

    .index_achievements .btn .btn_txt{
        margin-right: 2.5vw;
        font-size: 1.7vw;
    }


    /* index_jikitan
       ================================================================== */
    .index_jikitan{
        padding: 9.0vw 0 11.0vw;
    }

    .index_jikitan .title .jpn{
        font-size: 3.8vw;
        line-height: 6.0vw;
    }

    .index_jikitan .title .eng{
        font-size: 15.0vw;
        line-height: 12.0vw;
        top: -10.4vw;
        left: -4.3vw;
    }

    .index_jikitan .text_box{
        margin: 4.5vw 0 0;
        display: flex;
        align-items: flex-end;
    }

    .index_jikitan .text_box p{
        width: 70.0vw;
        font-size: 1.7vw;
        line-height: 3.0vw;
    }

    .index_jikitan .text_box .btn{
        margin: 0 0 0;
        text-align: left;
    }

    .index_jikitan .text_box .btn a{
        padding: 1.7vw 4.0vw 1.7vw 2.8vw;
    }

    .index_jikitan .text_box .btn .btn_txt{
        margin-right: 2.4vw;
        font-size: 1.9vw;
    }
    

    /* index_business
       ================================================================== */
    .index_business{
        padding: 12.0vw 0 15.0vw;
    }

    .index_business .slider_wrap{
        margin: 4.5vw 0 0;
    }

    
    /* business_slider
       ================================================================== */
    .slider_wrap{
    	margin: 4.5vw 0 0;
    }
    
    .business_slider{
        width: 100%;
    }
    
    .business_slider a{
        transition: .3s;
    }
    
    .business_slider a:hover{
        background: rgba(49,118,214,.1);
    }

    .business_slider .thm{
        overflow: hidden;
    }

    .business_slider .thm img{
        transition: .3s;
    }

    .business_slider a:hover .thm img{
        transform: scale(1.05);
    }

    .business_slider .text_box{
        padding: 2.2vw 3.7vw 2.7vw;
    }

    .business_slider .ttl{
        padding: 0 0 1.7vw;
        font-size: 2.1vw;
    }

    .business_slider .txt{
        margin: 2.5vw 0 0;
        line-height: 2.5vw;
        min-height: 17.0vw;
    }

    .business_slider .view_more_btn{
        margin: 3.0vw 0 0;
    }

    .business_slider .view_more_btn span{
        padding: 0 1.7vw 0 0;
        font-size: 1.2vw;
        background-size: .5vw;
    }
    
    /* swiper_arrow_btn */
    .swiper_arrow_btn .arrows{
        margin: 3.5vw 0 0;
        width: 7.3vw;
    }

    .swiper_arrow_btn .arrows .swiper-button-prev,
    .swiper_arrow_btn .arrows .swiper-button-next{
        margin: 0;
        width: 3.2vw;
        height: 3.2vw;
    }


    /* page_title
       ================================================================== */
    .page_title .jpn{
        font-size: 3.0vw;
        top: 1.0vw;
    }

    .page_title .eng{
        font-size: 15.0vw;
    }


    /* corporate_block
       ================================================================== */
    .corporate_block{
        padding: 10.0vw 0 18.0vw;
    }

    .corporate_block .list{
        margin: 4.5vw auto 0;
        width: 88.2%;
    }

    .corporate_block .list > li{
        margin: .6vw 0 0;
        padding: 2.2vw 2.0vw 2.2vw 7.0vw;
        display: flex;
    }

    .corporate_block .list .ttl{
        font-size: 1.8vw;
        width: 16.0vw;
    }

    .corporate_block .list .text_box{
        padding: 0 0 0;
        width: calc(100% - 16.0vw);
        box-sizing: border-box;
    }

    .corporate_block .list .text_box p{
        font-size: 1.7vw;
        line-height: 3.0vw;
    }


    /* contact
       ================================================================== */
    .contact{
        padding: 10.0vw 0 23.0vw;
    }
    
    /* form */
    .contact form{
        margin-top: 4.5vw;
    }

    .contact .top_text{
        margin: 0 0 6.5vw;
    	font-size: 1.7vw;
    }
    
    .contact .bg_box{
        margin: 8.0vw auto 0;
        padding: 6.5vw 0 6.3vw;
        width: 90.0vw;
    }
    
    .contact table{
        margin: 0 auto 0;
        width: 70.0vw;
    }
    
    .contact th,
    .contact td{
        width: auto;
    	font-size: 15px;
    }
    
    .contact th{
    	padding: 20px 0 0;
        box-sizing: border-box;
    }
    
    .contact .title_top th{
    	padding-top: 31px;
        vertical-align: top;
    }
    
    .contact td{
    	padding: 11px 0;
    }
    
    .contact input,
    .contact select,
    .contact textarea{
    	margin: 0;
    	padding: 10px 15px;
    	font-size: 16px;
    }
	
	.contact select{
		vertical-align: middle;
	}
    
    .contact textarea{
        height: 120px;
    }
    
    /* ボタン */
    .zas_btn_area{
    	padding: 6.0vw 0 0;
    }
    
    .zas_btn_area button{
    	padding: .9vw 0;
    	font-size: 1.7vw;
        width: 17.0vw;
    	border: 1px solid #3176D6;
        transition: .3s;
        cursor: pointer;
    }
        
    .zas_btn_area button:hover{
    	background: #fff;
    	color: #3176D6;
    }

    .contact .note{
        margin: 9.0vw 0 0;
        font-size: 1.7vw;
    }


    /* thanks
       ================================================================== */
    .thanks p{
        margin: 4.5vw 0 0;
    	font-size: 1.6vw;
        line-height: 3.9vw;
        text-align: center;
    }
    
    .thanks .go_top_btn{
    	margin: 6vw 0 0;
    }


    /* jikitan_section
       ================================================================== */
    .jikitan_section .about_block{
        padding: 11.0vw 0 9.0vw;
    }

    .jikitan_section .about_block:before{
        height: 6.1vw;
        bottom: -2.4vw;
    }

    .jikitan_section .about_block .inner{
        display: flex;
        justify-content: space-between;
    }

    .jikitan_section .about_block .left{
        padding: 0 0 0 1.3vw;
        box-sizing: border-box;
    }

    .jikitan_section .about_block .sub{
        margin: 2.5vw 0 0;
        font-size: 2.7vw;
    }

    .jikitan_section .about_block .sub + .sub{
        margin-top: 1.2vw;
    }

    .jikitan_section .about_block .sub + .txt{
        margin-top: 3.5vw;
    }

    /* method */
    .method .about_block .left{
        padding: 0 0 0;
        width: 47%;
        box-sizing: border-box;
    }
    
    .method .about_block .photo{
        margin: 0 0 0 -1.3vw;
        padding: 2.0vw 0 0;
        width: 47.9vw;
        max-width: 100%;
    }

    .method .about_block .right{
        padding: 2.0vw 0 0;
        width: 53%;
    }

    .method .about_block .right .txt{
        font-size: 1.6vw;
        line-height: 4.0vw;
    }

    /* subsidy */
    .subsidy{
        padding-bottom: 21.0vw;
    }

    .subsidy .about_block .right{
        margin: 0 0 0;
        padding: 9.4vw 0 0 0;
        width: 38.5vw;
    }

    .subsidy .about_block .right .ttl > span{
        font-size: 2.2vw;
        width: 100%;
        height: 4.8vw;
    }

    .subsidy .about_block .right .txt{
        margin: 2.5vw 0 0;
        font-size: 1.9vw;
        line-height: 3.0vw;
    }

    .subsidy .about_block .right .note{
        margin: 2.8vw 0 0;
        font-size: 1.5vw;
    }

    /* method bottom_box */
    .method .bottom_box{
        padding: 7.8vw 0;
    }

    .method .bottom_box .list > li{
        display: flex;
    }

    .method .bottom_box .list > li + li{
        margin-top: 2.0vw;
    }

    .method .bottom_box .list .photo{
        width: 27.2vw;
    }

    .method .bottom_box .list .number{
        width: 3.5vw;
        top: 2.9vw;
        right: 2.8vw;
    }

    .method .bottom_box .list .text_box{
        padding: 3.5vw 3.5vw 2.0vw 4.5vw;
        width: calc(100% - 27.2vw);
        box-sizing: border-box;
    }

    .method .bottom_box .list .text_box .ttl{
        padding: 0 0 0 2.3vw;
        font-size: 2.5vw;
    }

    .method .bottom_box .list .text_box .ttl:before{
        width: 1.0vw;
        height: 1.0vw;
        top: 1.5vw;
    }

    .method .bottom_box .list .text_box p{
        margin: 2.0vw 0 0;
    }

    /* subsidy bottom_box */
    .subsidy .bottom_box{
        padding: 9.0vw 0;
    }

    .subsidy .bottom_box .title{
        font-size: 3.0vw;
    }

    .subsidy .bottom_box .list{
        margin: 6.0vw auto 0;
    }

    .subsidy .bottom_box .list > li{
        padding: 3.3vw 5.0vw 3.3vw 5.8vw;
        display: flex;
    }

    .subsidy .bottom_box .list > li + li{
        margin-top: 3.0vw;
    }

    .subsidy .bottom_box .list .left{
        padding: 1.0vw 4.5vw 1.3vw 0;
        border-bottom: none;
        border-right: 2px solid #3176D6;
    }

    .subsidy .bottom_box .list .step_number{
        width: 7.0vw;
        text-align: center;
    }

    .subsidy .bottom_box .list .icon{
        position: absolute;
        top: 3.5vw;
        right: 8.9vw;
        width: 12.7vw;
    }

    .subsidy .bottom_box .list > li:nth-child(2) .icon{
        top: 4.4vw;
        right: 7.5vw;
        width: 17.9vw;
    }

    .subsidy .bottom_box .list > li:nth-child(3) .icon{
        top: 3.3vw;
        right: 11.0vw;
        width: 11.0vw;
    }

    .subsidy .bottom_box .list > li:nth-child(4) .icon{
        top: 4.7vw;
        right: 11.0vw;
        width: 11.0vw;
    }

    .subsidy .bottom_box .list .right{
        padding: 1.0vw 0 0 4.7vw;
    }

    .subsidy .bottom_box .list .right .ttl{
        font-size: 2.1vw;
        line-height: 3.5vw;
    }

    .subsidy .bottom_box .list .right .ttl + p{
        margin: 2.5vw 0 0;
        line-height: 3.0vw;
    }


    /* equipment
       ================================================================== */
    .equipment{
        margin-top: 12.0vw;
        margin-bottom: 27.0vw;
        padding: 9.0vw 0 11.0vw;
    }

    .equipment .list > li{
        display: flex;
        align-items: center;
    }

    .equipment .list > li + li{
        margin-top: 3.1vw;
    }

    .equipment .list .thm{
        width: 34.4vw;
        float: none;
    }

    .equipment .list .text_box{
        padding: 2.0vw 1.5vw 2.0vw 4.0vw;
        width: calc(100% - 34.4vw);
        box-sizing: border-box;
    }

    .equipment .list .text_box .ttl{
        padding: 0 0 0;
        height: auto;
    }

    .equipment .list .text_box .ttl > span{
        padding: 3.0vw 0 3.0vw 4.2vw;
        font-size: 3.0vw;
    }

    .equipment .list .text_box .ttl > span:before{
        width: 3.2vw;
        height: 3.2vw;
        top: 3.2vw;
    }

    .equipment .list .text_box p{
        margin: 2.0vw 0 0;
        font-size: 1.7vw;
        line-height: 3.1vw;
    }


    /* business_content
       ================================================================== */
    .business_content{
        padding: 6.5vw 0;
    }

    /* top_box */
    .business_content .top_box{
        padding: 0 0 8.0vw;
    }

    .business_content .top_box .inner{
        position: relative;
        min-height: 23.5vw;
    }

    .business_content .top_box .photo{
        width: 44.9vw;
        position: absolute;
        top: 0;
        left: 55.4vw;
    }

    .business_content .top_box .text_box{
        padding: 0 0 4.0vw 1.3vw;
        width: 51.0vw;
        box-sizing: border-box;
    }

    .business_content .top_box .text_box p{
        font-size: 1.8vw;
        line-height: 4.0vw;
    }

    /* list */
    .business_content .list{
        margin: 0 0 0;
    }

    .business_content .list > li{
        padding: 6.0vw 0;
    }

    .business_content .list .text_box{
        padding: 0 46% 0 0;
        position: relative;
    }

    .business_content .list > li:nth-child(3) .text_box{
        padding: 0 43% 0 0;
    }

    .business_content .list .text_box .ttl .number{
        width: 10.0vw;
    }

    .business_content .list .text_box .ttl .ttl_txt{
        padding: 0 0 0;
        font-size: 3.0vw;
        width: calc(100% - 10.0vw);
    }

    .business_content .list .text_box .photo{
        margin: 0 0 0;
        width: 44.8vw;
        position: absolute;
        top: -2.0vw;
        left: 53.5vw;
    }

    .business_content .list > li:nth-child(3) .text_box .photo{
        width: 49.4vw;
        top: 0;
        left: 55.6vw;
    }

    .business_content .list .text_box .txt{
        margin: 4.5vw 0 0;
    }

    .business_content .list .text_box .note{
        margin: 2.0vw 0 0;
        font-size: 1.9vw;
    }

    /* flow_box */
    .business_content .list .flow_box{
        margin: 7.5vw 0 0;
    }

    .business_content .list .flow_box .flow_ttl{
        padding: 1.8vw;
        font-size: 2.5vw;
    }

    .business_content .list .flow_box .flow_list{
        margin: 5.7vw auto 0;
    }

    .business_content .list .flow_box .flow_list > li{
        display: flex;
    }

    .business_content .list .flow_box .flow_list > li + li{
        margin-top: 1.0vw;
    }

    .business_content .list .flow_box .flow_list .thm{
        width: 31.3vw;
        float: none;
    }

    .business_content .list .flow_box .flow_list .text_box{
        padding: 2.4vw 3.0vw 2.2vw 4.0vw;
        width: calc(100% - 31.3vw);
        box-sizing: border-box;
    }

    .business_content .list .flow_box .flow_list .text_box .ttl{
        padding: 0 0 0;
        height: auto;
    }

    .business_content .list .flow_box .flow_list .text_box .ttl > span{
        font-size: 2.1vw;
    }

    .business_content .list .flow_box .flow_list .text_box p{
        margin: 1.7vw 0 0;
    }

    .business_content .list .flow_box .bottom_txt{
        margin: 6.4vw 0 3.0vw;
        font-size: 1.9vw;
        line-height: 3.3vw;
    }

    /* check_box */
    .business_content .list .check_box{
        margin: 4.0vw 0 0;
        position: relative;
    }

    .business_content .list .check_box .check_ttl{
        padding: 0 0 0 3.0vw;
        font-size: 2.0vw;
        background-size: 1.6vw;
    }

    .business_content .list .check_box .photo{
        margin: 0 0 0;
        position: absolute;
        top: 4.5vw;
        left: 59.4vw;
        width: 39.1vw;
    }

    .business_content .list .check_box .check_list{
        margin: 2.5vw 0 0;
        width: 61%;
    }

    .business_content .list .check_box .check_list > li{
        margin: 1.0vw 0 0;
        padding: 0 0 0 2.5vw;
        font-size: 1.5vw;
        line-height: 2.5vw;
    }

    .business_content .list .check_box .check_list > li:before{
        width: 1.0vw;
        height: 1.0vw;
        top: .8vw;
        left: .6vw;
    }


    /* achievements
       ================================================================== */
    .achievements{
        padding: 8.0vw 0 22.4vw;
    }

    .achievements .inner{
        padding-bottom: 11.4vw;
    }

    .achievements .title{
        margin: -7.8vw 0 0;
        padding: 1.0vw 0 1.0vw 5.5vw;
        border-left-width: .9vw;
    }

    .achievements .title .eng{
        font-size: 12.0vw;
    }

    .achievements .title .jpn{
        font-size: 4.5vw;
    }

    .achievements .top_txt{
        margin: 4.4vw 0 0 6.7vw;
        font-size: 1.7vw;
        line-height: 3.3vw;
    }

    .achievements .history{
        margin: 6.0vw 0 0;
    }

    .achievements .history > li{
        display: flex;
    }

    .achievements .history > li + li{
        margin: 1.9vw 0 0;
    }

    .achievements .history .ttl{
        padding: 1.0vw;
        width: 24.6vw;
        height: auto;
        justify-content: center;
        font-size: 1.9vw;
    }

    .achievements .history .list{
        width: calc(100% - 24.6vw);
        box-sizing: border-box;
    }

    .achievements .history .list > li{
        display: flex;
    }

    .achievements .history .list > li + li{
        margin: .5vw 0 0;
    }

    .achievements .history .list .box_ttl,
    .achievements .history .list p{
        padding: 1.5vw .5vw 1.5vw 2.0vw;
        font-size: 1.7vw;
        line-height: 3.3vw;
    }

    .achievements .history .list .box_ttl{
        width: 22.5vw;
    }

    .achievements .history .list p{
        width: calc(100% - 22.5vw);
    }

    
}
@media screen and (min-width : 1040px){    


    /* under_kv
       ================================================================== */
    .under_kv .main_photo{
        height: 373px;
    }

    .under_kv .bottom{
        padding: 40px 0;
    }

    .under_kv .anchor_btn{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .under_kv .anchor_btn > li{
        margin: 0 16px;
        width: 413px;
    }

    .under_kv .anchor_btn.pieces4 > li{
        margin: 0 8px;
        width: 229px;
    }

    .under_kv .anchor_btn li a{
        padding: 0 37px;
        height: 72px;
    }

    .under_kv .anchor_btn .btn_arrow .btn_txt{
        font-size: 19px;
    }


    /* bg_block
       ================================================================== */
    .bg_block{
        margin: 0 auto;
        max-width: 1200px;
    }


    /* bg_eng_ttl
       ================================================================== */
    .bg_eng_ttl .jpn{
        font-size: 50px;
    }

    .bg_eng_ttl .eng{
        font-size: 80px;
        line-height: 90px;
        top: -36px;
        left: -74px;
    }


    /* kv
       ================================================================== */
    .kv{
        margin: 0 0 0;
        padding: 0 0 0 120px;
        position: relative;
    }

    .kv .scrool_txt{
        position: absolute;
        bottom: -46px;
        left: 48px;
        width: 24px;
    }

    .kv .scrool_txt .s_txt{
        padding-bottom: 18px;
        font-size: 15px;
        color: #3176D6;
    }

    .kv .scrool_txt .border{
        background: #3176D6;
        height: 146px;
    }

    .kv .scrool_txt .border:before{
        background: #BEDFAE;
        height: 30px;
    }

    .kv .box{
        padding: 75px 62px;
        height: 568px;
        background-position: center center;
    }

    .kv .box:before{
        width: 80%;
    }

    .kv .box:after{
        width: 12%;
        left: 80%;
    }

    .kv .catch .siz_s{
        font-size: 35px;
    }

    .kv .catch .siz_l{
        margin: 3px 0 0;
        font-size: 45px;
    }

    .kv p{
        margin: 23px 0 0;
        font-size: 17px;
    }
    

    /* index_subsidy
       ================================================================== */
    .index_subsidy{
        padding: 100px 0;
    }

    .index_subsidy .inner{
        display: flex;
    }

    .index_subsidy .left{
        margin: 0 0 0;
        width: calc(45% + 13px);
    }

    .index_subsidy .left .btn a{
        padding: 19px 33px;
    }

    .index_subsidy .left .btn_txt{
        margin-right: 15px;
    }

    .index_subsidy .right{
        padding: 20px 0 0 33px;
        width: calc(100% - 45% - 13px);
        box-sizing: border-box;
    }

    .index_subsidy .right .title{
        font-size: 27px;
        line-height: 45px;
    }

    .index_subsidy .right .message{
        margin: 40px 0 0;
        font-size: 18px;
        line-height: 30px;
    }

    .index_subsidy .right .text{
        margin: 20px 0 0;
        padding: 20px 0 0;
        line-height: 30px;
    }

    .index_subsidy .right .text:before{
        width: 240px;
    }


    /* index_achievements
       ================================================================== */
    .index_achievements{
        padding: 0 0 90px;
    }

    .index_achievements .inner{
        display: flex;
        align-items: flex-end;
        position: relative;
    }

    .index_achievements .left{
        padding: 80px 0 0;
        width: 530px;
        box-sizing: border-box;
    }

    /* border_title */
    .border_title .eng{
        font-size: 18px;
    }

    .border_title .eng:before{
        right: calc(100% + 22px);
    }

    .border_title .jpn{
        margin: 5px 0 0;
        font-size: 40px;
    }

    .index_achievements .list{
        margin: 35px 0 0;
    }

    .index_achievements .list > li{
        padding: 20px 0;
    }

    .index_achievements .list .ttl{
        font-size: 17px;
        width: 230px;
    }

    .index_achievements .list .ttl .dot{
        font-size: 22px;
    }

    .index_achievements .right{
        margin: 0;
        width: 532px;
        position: absolute;
        top: -42px;
        left: 596px;
        text-align: left;
    }

    .index_achievements .btn{
        margin: 20px 0 0;
    }

    .index_achievements .btn a{
        padding: 14px 15px 10px
    }

    .index_achievements .btn .btn_txt{
        margin-right: 25px;
        font-size: 17px;
    }


    /* index_jikitan
       ================================================================== */
    .index_jikitan{
        padding: 90px 0 110px;
    }

    .index_jikitan .title .jpn{
        font-size: 38px;
        line-height: 60px;
    }

    .index_jikitan .title .eng{
        font-size: 150px;
        line-height: 120px;
        top: -104px;
        left: -183px;
    }

    .index_jikitan .text_box{
        margin: 45px 0 0;
        display: flex;
        align-items: flex-end;
    }

    .index_jikitan .text_box p{
        width: 700px;
        font-size: 17px;
        line-height: 30px;
    }

    .index_jikitan .text_box .btn{
        margin: 0 0 0;
        text-align: left;
    }

    .index_jikitan .text_box .btn a{
        padding: 17px 40px 17px 28px;
    }

    .index_jikitan .text_box .btn .btn_txt{
        margin-right: 24px;
        font-size: 19px;
    }
    

    /* index_business
       ================================================================== */
    .index_business{
        padding: 120px 0 150px;
    }

    .index_business .slider_wrap{
        margin: 45px 0 0;
    }

    
    /* business_slider
       ================================================================== */
    .slider_wrap{
    	margin: 45px 0 0;
    }
    
    .business_slider{
        width: 1000px;
    }

    .business_slider .text_box{
        padding: 22px 37px 27px;
    }

    .business_slider .ttl{
        padding: 0 0 17px;
        font-size: 21px;
    }

    .business_slider .txt{
        margin: 25px 0 0;
        line-height: 25px;
        min-height: 170px;
    }

    .business_slider .view_more_btn{
        margin: 30px 0 0;
    }

    .business_slider .view_more_btn span{
        padding: 0 17px 0 0;
        font-size: 12px;
        background-size: 5px;
    }

    /* swiper_arrow_btn */
    .swiper_arrow_btn .arrows{
        margin: 35px 0 0;
        width: 73px;
    }

    .swiper_arrow_btn .arrows .swiper-button-prev,
    .swiper_arrow_btn .arrows .swiper-button-next{
        margin: 0 0 0;
        width: 32px;
        height: 32px;
    }


    /* page_title
       ================================================================== */
    .page_title .jpn{
        font-size: 30px;
        top: 10px;
    }

    .page_title .eng{
        font-size: 150px;
    }


    /* corporate_block
       ================================================================== */
    .corporate_block{
        padding: 100px 0 180px;
    }

    .corporate_block .list{
        margin: 45px auto 0;
        width: 88.2%;
    }

    .corporate_block .list > li{
        margin: 6px 0 0;
        padding: 22px 20px 22px 70px;
        display: flex;
    }

    .corporate_block .list .ttl{
        font-size: 18px;
        width: 160px;
    }

    .corporate_block .list .text_box{
        padding: 0 0 0;
        width: calc(100% - 160px);
        box-sizing: border-box;
    }

    .corporate_block .list .text_box p{
        font-size: 17px;
        line-height: 30px;
    }


    /* contact
       ================================================================== */
    .contact{
        padding: 100px 0 230px;
    }
    
    /* form */
    .contact form{
        margin-top: 45px;
    }

    .contact .top_text{
        margin: 0 0 65px;
    	font-size: 17px;
    }
    
    .contact .bg_box{
        margin: 80px auto 0;
        padding: 65px 0 63px;
        width: 900px;
    }

    .contact table{
        margin: 0 auto 0;
        width: 700px;
    	font-size: 16px;
    }
    
    .contact th{
    	padding: 25px 0 0;
    }
    
    .contact td{
    	padding: 11px 0 0;
    }
    
    .contact input,
    .contact select,
    .contact textarea{
    	font-size: 16px;
    	padding: 16px 20px;
    }
    
    .contact textarea{
        height: 150px;
    }
    
    /* ボタン */
    .zas_btn_area{
    	padding: 60px 0 0;
    }
    
    .zas_btn_area button{
    	padding: 9px 0;
    	font-size: 17px;
        width: 170px;
    }
    
    .contact .note{
        margin: 90px 0 0;
        font-size: 17px;
    }


    /* thanks
       ================================================================== */
    .thanks p{
        margin: 45px 0 0;
    	font-size: 16px;
        line-height: 39px;
    }
    
    .thanks .go_top_btn{
    	margin: 60px 0 0;
    }


    /* jikitan_section
       ================================================================== */
    .jikitan_section .about_block{
        padding: 110px 0 90px;
    }

    .jikitan_section .about_block:before{
        height: 61px;
        bottom: -24px;
    }

    .jikitan_section .about_block .inner{
        display: flex;
        justify-content: space-between;
    }

    .jikitan_section .about_block .left{
        padding: 0 0 0 50px;
        box-sizing: border-box;
    }

    .jikitan_section .about_block .sub{
        margin: 25px 0 0;
        font-size: 27px;
    }

    .jikitan_section .about_block .sub + .sub{
        margin-top: 12px;
    }

    .jikitan_section .about_block .sub + .txt{
        margin-top: 35px;
    }

    /* method */
    .method .about_block .left{
        width: 50%;
        box-sizing: border-box;
    }
    
    .method .about_block .photo{
        margin: 0 0 0 -13px;
        padding: 20px 0 0;
        width: 479px;
        max-width: 100%;
    }

    .method .about_block .right{
        padding: 20px 0 0;
        width: 50%;
    }

    .method .about_block .right .txt{
        font-size: min(1.6vw,19px);
        line-height: 40px;
    }

    /* subsidy */
    .subsidy{
        padding-bottom: 210px;
    }

    .subsidy .about_block .right{
        margin: 0 0 0;
        padding: 94px 25px 0 0;
        width: 385px;
    }

    .subsidy .about_block .right .ttl > span{
        font-size: 22px;
        width: 100%;
        height: 48px;
    }

    .subsidy .about_block .right .txt{
        margin: 25px 0 0;
        font-size: 19px;
        line-height: 30px;
    }

    .subsidy .about_block .right .note{
        margin: 28px 0 0;
        font-size: 15px;
    }

    /* method bottom_box */
    .method .bottom_box{
        padding: 78px 0;
    }

    .method .bottom_box .list > li{
        display: flex;
    }

    .method .bottom_box .list > li + li{
        margin-top: 20px;
    }

    .method .bottom_box .list .photo{
        width: 272px;
    }

    .method .bottom_box .list .number{
        width: 35px;
        top: 29px;
        right: 28px;
    }

    .method .bottom_box .list .text_box{
        padding: 35px 85px 20px 45px;
        width: calc(100% - 272px);
        box-sizing: border-box;
    }

    .method .bottom_box .list .text_box .ttl{
        padding: 0 0 0 23px;
        font-size: 25px;
    }

    .method .bottom_box .list .text_box .ttl:before{
        width: 10px;
        height: 10px;
        top: 15px;
    }

    .method .bottom_box .list .text_box p{
        margin: 20px 0 0;
    }

    /* subsidy bottom_box */
    .subsidy .bottom_box{
        padding: 90px 0;
    }

    .subsidy .bottom_box .title{
        font-size: 30px;
    }

    .subsidy .bottom_box .list{
        margin: 60px auto 0;
    }

    .subsidy .bottom_box .list > li{
        padding: 33px 50px 33px 58px;
        display: flex;
    }

    .subsidy .bottom_box .list > li + li{
        margin-top: 30px;
    }

    .subsidy .bottom_box .list .left{
        padding: 10px 45px 13px 0;
        border-bottom: none;
        border-right: 2px solid #3176D6;
    }

    .subsidy .bottom_box .list .step_number{
        width: 70px;
        text-align: center;
    }

    .subsidy .bottom_box .list .icon{
        position: absolute;
        top: 35px;
        right: 89px;
        width: 127px;
    }

    .subsidy .bottom_box .list > li:nth-child(2) .icon{
        top: 44px;
        right: 75px;
        width: 179px;
    }

    .subsidy .bottom_box .list > li:nth-child(3) .icon{
        top: 33px;
        right: 110px;
        width: 110px;
    }

    .subsidy .bottom_box .list > li:nth-child(4) .icon{
        top: 47px;
        right: 110px;
        width: 110px;
    }

    .subsidy .bottom_box .list .right{
        padding: 10px 0 0 47px;
    }

    .subsidy .bottom_box .list .right .ttl{
        font-size: 21px;
        line-height: 35px;
    }

    .subsidy .bottom_box .list .right .ttl + p{
        margin: 25px 0 0;
        line-height: 30px;
    }


    /* equipment
       ================================================================== */
    .equipment{
        margin-top: 120px;
        margin-bottom: 270px;
        padding: 90px 0 110px;
    }

    .equipment .list > li{
        display: flex;
        align-items: center;
    }

    .equipment .list > li + li{
        margin-top: 31px;
    }

    .equipment .list .thm{
        width: 364px;
        float: none;
    }

    .equipment .list .text_box{
        padding: 20px 25px 20px 50px;
        width: calc(100% - 364px);
        box-sizing: border-box;
    }

    .equipment .list .text_box .ttl{
        padding: 0 0 0;
        height: auto;
    }

    .equipment .list .text_box .ttl > span{
        padding: 30px 0 30px 42px;
        font-size: 30px;
    }

    .equipment .list .text_box .ttl > span:before{
        width: 32px;
        height: 32px;
        top: 32px;
    }

    .equipment .list .text_box p{
        margin: 20px 0 0;
        font-size: 17px;
        line-height: 31px;
    }


    /* business_content
       ================================================================== */
    .business_content{
        padding: 65px 0;
    }

    /* top_box */
    .business_content .top_box{
        padding: 0 0 80px;
    }

    .business_content .top_box .inner{
        position: relative;
        min-height: 305px;
    }

    .business_content .top_box .photo{
        width: 539px;
        position: absolute;
        top: 0;
        left: 664px;
    }

    .business_content .top_box .text_box{
        padding: 45px 0 40px 13px;
        width: 590px;
        box-sizing: border-box;
    }

    .business_content .top_box .text_box p{
        font-size: 22px;
        line-height: 40px;
    }

    /* list */
    .business_content .list{
        margin: 0 0 0;
    }

    .business_content .list > li{
        padding: 60px 0;
    }

    .business_content .list .text_box{
        padding: 0 46% 0 0;
        position: relative;
    }

    .business_content .list > li:nth-child(3) .text_box{
        padding: 0 43% 0 0;
    }

    .business_content .list .text_box .ttl .number{
        width: 100px;
    }

    .business_content .list .text_box .ttl .ttl_txt{
        padding: 0 0 0;
        font-size: 30px;
        width: calc(100% - 100px);
    }

    .business_content .list .text_box .photo{
        margin: 0 0 0;
        width: 598px;
        position: absolute;
        top: -20px;
        left: 535px;
    }

    .business_content .list > li:nth-child(3) .text_box .photo{
        width: 494px;
        top: 0;
        left: 556px;
    }

    .business_content .list .text_box .txt{
        margin: 45px 0 0;
    }

    .business_content .list .text_box .note{
        margin: 20px 0 0;
        font-size: 19px;
    }

    /* flow_box */
    .business_content .list .flow_box{
        margin: 75px 0 0;
    }

    .business_content .list .flow_box .flow_ttl{
        padding: 18px;
        font-size: 25px;
    }

    .business_content .list .flow_box .flow_list{
        margin: 57px auto 0;
    }

    .business_content .list .flow_box .flow_list > li{
        display: flex;
    }

    .business_content .list .flow_box .flow_list > li + li{
        margin-top: 10px;
    }

    .business_content .list .flow_box .flow_list .thm{
        width: 313px;
        float: none;
    }

    .business_content .list .flow_box .flow_list .text_box{
        padding: 24px 30px 22px 40px;
        width: calc(100% - 313px);
        box-sizing: border-box;
    }

    .business_content .list .flow_box .flow_list .text_box .ttl{
        padding: 0 0 0;
        height: auto;
    }

    .business_content .list .flow_box .flow_list .text_box .ttl > span{
        font-size: 21px;
    }

    .business_content .list .flow_box .flow_list .text_box p{
        margin: 17px 0 0;
    }

    .business_content .list .flow_box .bottom_txt{
        margin: 64px 0 30px;
        font-size: 19px;
        line-height: 33px;
    }

    /* check_box */
    .business_content .list .check_box{
        margin: 40px 0 0;
        position: relative;
    }

    .business_content .list .check_box .check_ttl{
        padding: 0 0 0 30px;
        font-size: 20px;
        background-size: 16px;
    }

    .business_content .list .check_box .photo{
        margin: 0 0 0;
        position: absolute;
        top: 45px;
        left: 594px;
        width: 481px;
    }

    .business_content .list .check_box .check_list{
        margin: 25px 0 0;
        width: 58%;
    }

    .business_content .list .check_box .check_list > li{
        margin: 10px 0 0;
        padding: 0 0 0 25px;
        font-size: 15px;
        line-height: 25px;
    }

    .business_content .list .check_box .check_list > li:before{
        width: 10px;
        height: 10px;
        top: 8px;
        left: 6px;
    }


    /* achievements
       ================================================================== */
    .achievements{
        padding: 80px 0 224px;
    }

    .achievements .inner{
        padding-bottom: 114px;
    }

    .achievements .title{
        margin: -78px 0 0;
        padding: 10px 0 10px 55px;
        border-left-width: 9px;
    }

    .achievements .title .eng{
        font-size: 120px;
    }

    .achievements .title .jpn{
        font-size: 45px;
    }

    .achievements .top_txt{
        margin: 44px 0 0 67px;
        font-size: 17px;
        line-height: 33px;
    }

    .achievements .history{
        margin: 60px 0 0;
    }

    .achievements .history > li{
        display: flex;
    }

    .achievements .history > li + li{
        margin: 19px 0 0;
    }

    .achievements .history .ttl{
        padding: 10px;
        width: 246px;
        height: auto;
        justify-content: center;
        font-size: 19px;
    }

    .achievements .history .list{
        width: calc(100% - 246px);
        box-sizing: border-box;
    }

    .achievements .history .list > li{
        display: flex;
    }

    .achievements .history .list > li + li{
        margin: 5px 0 0;
    }

    .achievements .history .list .box_ttl,
    .achievements .history .list p{
        padding: 15px 5px 15px 25px;
        font-size: 18px;
        line-height: 33px;
    }

    .achievements .history .list .box_ttl{
        width: 225px;
    }

    .achievements .history .list p{
        width: calc(100% - 225px);
    }




    

}
@media screen and (min-width : 1200px){
    
    
    /* index_subsidy
       ================================================================== */
    .index_subsidy .left{
        width: calc(50% + 13px);
    }

    .index_subsidy .right{
        padding: 20px 0 0 63px;
        width: calc(100% - 50% - 13px);
    }
    

    /* jikitan_section
       ================================================================== */
    .jikitan_section .about_block .left{
        padding: 0 0 0 113px;
    }

    /* subsidy */
    .subsidy .about_block .right{
        padding-right: 117px;
    }


    /* business_content
       ================================================================== */
    /* flow_box */
    .business_content .list .flow_box{
        margin-left: -50px;
        margin-right: -50px;
    }


    /* achievements
       ================================================================== */
    .achievements .title{
        margin-left: -43px;
    }

    .achievements .top_txt{
        margin-left: 27px;
    }

    
}