﻿.cms_btn {
    max-width: 600px;
    margin: auto;
    border: 1px solid #4CAF50;
    box-shadow: 5px 5px 15px #00000021;
    transition:all 0.3s;
}
.cms_btn:hover{
    opacity:0.6;
}
.flow_type2 .faq .cate_box:not(:last-child)::before,.flow_type2 .faq .cate_box:not(:last-child)::after{
    display:none;
}
.flow_type2 .faq .box_txt1::before {
    display: none;
}
.flow_type2 .faq .box_txt1 {
    text-align: left;
    padding: 30px;
}
div#page_btn {
    text-align: center;
}
div#page_btn a {
    display: inline-block;
    background: #ef7e41;
    color: white;
    text-align: center;
    padding: 10px 50px;

    font-size: 20px;
}
#page_title h2 {
    font-weight: 500;
    line-height: 1em;
}
.hvr_bg_color2:hover {
    background-color: #ffb791;
}
span.con2_bg {
    opacity: 0.3;
    background: #ef7e41;
}
.con_banner_wrap {
    display: flex;
    padding: 3% 5%;
}
.con_banner_wrap a {
    display: block;
    padding: 10px;
    box-sizing: border-box;
}
.cms_box_wrap .flow_type2{
    border: 3px solid #ef7e41;
}
.cms_box_wrap .cate_wrap{
    counter-reset: number 0;
}
#top_contents1::before {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    width: 100%;
    height: 156px;
    background-image: url(Dup/img/bg2.png);
    background-size: auto 100%;
    background-position-y: 0;
    background-position-x: 0;
    background-repeat: repeat-x;
    animation: loop 30s linear infinite;
}
@keyframes loop {
	0% {background-position-x: 0;}
	100% {background-position-x: -1000px;}
}



#top_contents1 {
    margin-top: 80px;
    justify-content: flex-start;

    padding-bottom: 150px;
}

span.mg_l-20px.opacity04.mg_clear_tb.d_block_tb.font_2dw.fon_jos {
    color: #65aa69;
    opacity: 1;
}
.bg_color2 {
    background-color: #fffffb;
}
a.linkStyle {
    color: #65aa69;
}

.border_color2 {
    border-color: #ffdecc;
}
.flow_type2 .cate_title::after {
    content: '';
    display: block;
    background: #65aa69;
    width: 30%;
    height: 3px;
    position: absolute;
    left: 0;
    bottom: -3px;
}
.flow_type2 .box_wrap {
    border: 3px solid #ef7e41;
}
.flow_type2 .cate_box {
	padding: 30px;
	width: 100%!important;
}
.flow_type2 .box_txt1 {
    background-color: #ef7e41;
    color: #ffffff;
    text-align: center;
}
.flow_type2 .cate_box:not(:last-child) {
    border-bottom: 3px solid #ef7e41;
    position: relative;
}
.flow_type2 .cate_box:not(:last-child)::before,
.flow_type2 .cate_box:not(:last-child)::after {
	content: "";
	border: solid transparent;
	position: absolute;
	top: 100%;
	left: 17%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.flow_type2 .cate_box:not(:last-child)::before {
	border-width: 22px;
	border-top-color: #d75602;
}
.flow_type2 .cate_box:not(:last-child)::after {
    border-width: 18px;
    border-top-color: #f6f4eb;
}

.flow_type2 .cate{counter-reset: number 0;}

.flow_type2 .box_txt1::before {
    counter-increment: number 1;
    content: "step." counter(number);
    background-color: #fffdf5;
    padding: 5px 10px;
    font-weight: 700;
    color: #ef7e41;
    display: block;
    margin: 0px auto 10px;
    width: 50%;
}
/*-------- スマートフォン --------*/
@media screen and (max-width: 667px){
.flow_type2 .cate_box:first-child {
    padding: 20px 20px 30px 20px;
}
.flow_type2 .cate_box:not(:first-child) {
    padding: 40px 20px 20px 20px;
}
.flow_type2 .cate_box:not(:last-child)::before, .flow_type2 .cate_box:not(:last-child)::after {
    left: 50%;
}
}
/*-------- FireFox --------*/
@-moz-document url-prefix() {
.flow_type2 .cate_box:not(:last-child)::before, .flow_type2 .cate_box:not(:last-child)::after {top: 98% !important;}
}





.cms_5-d h3.box_title1,#cms_5-d h3.box_title1 {
    background: white;
}
div#footer_info_logo {
    max-width: 170px;
}
html {
    font-size: 16px;
}
.cms_title h3 {
    font-weight: 500;
    letter-spacing: 1px;
}
.loader_icon {
    top: 50%;
    width: 180px;
}
.cms_title p:before {
    width: 55px;
    height: 1px;
    background: #65aa69;
    position: absolute;
    content: "";
    left: -18px;
    top: -5px;
    transform: rotate(-20deg);
}
.cms_title p:after {
    width: 55px;
    height: 1px;
    background: #65aa69;
    position: absolute;
    content: "";
    right: -19px;
    top: -5px;
    transform: rotate(20deg);
}
.cms_title p {
    color: #65aa69;
    opacity: 1;
    display: inline-block;
    position: relative;
    width: 70px;
    letter-spacing: 2px;
    white-space: nowrap;
}
#top_contents3 h3.con_title {
    font-weight: 500;
    letter-spacing: 2px;
}
#top_contents3 h3.con_title:first-letter {
    font-size: 1.5em;
}
#top_contents3 h3.con_title:before {
    width: 50px;
    height: 50px;
    background: url(Dup/img/01.png) no-repeat;
    position: absolute;
    content: "";
    left: 0px;
    top: -60px;
    background-size: contain;
    background-position: center;
}
#top_contents3 .box2 h3.con_title:before {
    background: url(Dup/img/02.png) no-repeat;
    background-size: contain;
    background-position: center;
}
#top_contents3 .box3 h3.con_title:before {
    background: url(Dup/img/03.png) no-repeat;
    background-size: contain;
    background-position: center;
}
h2.attach_txt:before {
    width: 100%;
    height: 50px;
    background: url(Dup/img/img1.png) no-repeat;
    position: absolute;
    content: "";
    left: 0;
    top: -50px;
    background-size: contain;
    background-position: center;
}
h2.attach_txt{
    position:relative;
}
.btn {
    margin-top: 30px;
}
.btn a {
    display: inline-block;
    color: white;
    background: #ef7e41;
    padding: 5px 50px;
    border-radius: 5px;
    font-size: 16px;
    transition:all 0.3s;
}
.btn a:hover{
    opacity:0.8;
}
#top_contents1 p.con_sub_title:before {
    width: 100px;
    height: 1px;
    background: #65aa69;
    position: absolute;
    content: "";
    left: -25px;
    top: -20px;
    transform: rotate(-20deg);
}
#top_contents1 p.con_sub_title:after {
    width: 100px;
    height: 1px;
    background: #65aa69;
    position: absolute;
    content: "";
    right: -25px;
    top: -20px;
    transform: rotate(20deg);
}
#top_contents1 .con1_img2 {
    right: 0;
    bottom: 0;
    z-index: 1;
    margin-top: auto;
}

div#main_b img {
    height: 68%;
    width: auto;
}
div#main_b {
    position: absolute;
    z-index: 5;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff78;
}
.triangle01{
    display:none;
}
.fixbnr {
    z-index: 2;
    right: 40px;
    bottom: 22px;
    width: 190px;
}
h1.pd_30px.pd_t-50px {
    padding: 20px 30px;
}
#top_contents1 {
    margin-top: 100px;
    justify-content: flex-start;
}
#top_contents1 h3.con_title {
    text-align: center;
    margin-bottom: 40px;
        font-weight: 500;
}

#top_contents1 p.con_sub_title {
    text-align: center;
    margin-bottom: 20px;
    font-size: 22px;
    letter-spacing: 2px;
    color: #65aa69;
    display:inline-block;
    position:relative;
}
.con1_txt_wrap {
    text-align: center;
}

.con1_txt_wrap p{
    text-align:left;
}
.con1_txt_wrap {
    padding: 6% 8%;
}
span.attach_bg {
    background: rgb(239 126 65);
}
/*------------------------------タブレット-------------------------------------*/
@media screen and (max-width:768px){
    div#page_btn {
    text-align: center;
    margin-top: 30px;
}
    h1.pd_30px.pd_t-50px {
    padding: 0 10px;
}
.mainwrap-r h1 {
    width: 90px;
}
div#main_b img {
    height: auto;
    width: 80%;
}
#main_img {
    height: 70vw;
    width: 100%;
}
.head_bnr.mg_t-20px a {
    display: block;
    width: 250px;
    margin: auto;
}

.head_bnr.mg_t-20px {
    position: absolute;
    bottom: -170px;
    width: 100%;
    left: 0;
}
#top_contents1 {
    margin-top: 200px;
    justify-content: flex-start;
}
#top_contents1 .con1_img2 {
    margin-left: auto;
}
.fixbnr {
    width:150px;
}
}

/*------------------------------スマホ-------------------------------------*/
@media screen and (max-width:667px){ 
    .mainwrap-r h1 {
    width: 70px;
}
#main_img {
    height: 70vh;
    width: 100%;
}
#top_contents1 .con1_img {
    margin-bottom: 50px;
}
.fixbnr {
    width: 110px;
}
#top_contents1::before {
 height:80px;   
}
#top_contents1{
    padding-bottom:60px;
}
#top_contents3 h3.con_title {
    font-weight: 500;
    letter-spacing: 0px;
    font-size: 22px;
}
.loader_icon {
    top: 50%;
    width: 130px;
}
.title_wrap p.sub_title {
    margin-top: 0;
    font-size: 18px;
}
.title_wrap h2{
    font-weight:500;
}
div#main_b img {
    height: auto;
    width: 90%;
}
.title_wrap p.sub_title {
    margin-top: 10px;
    font-size: 18px;
}
#top_contents1 .con1_img2 {
    margin-left: auto;
    width: 60% !important;
}

.fixbnr {
    bottom: -100px !important;
    left: 10px;
    position: fixed;
    z-index: 10;
    transition: all 0.4s;
}
.fixbnr:hover{
    transform:translateY(-5px);
}
.fixbnr.banner_active{
    bottom:10px !important;
}
#top_contents3 h3.con_title {

    font-size: 20px;
    white-space: nowrap;
}
.con_banner_wrap {
    flex-direction: column;
}
.btn a {

    padding: 5px 20px;　
}
div#page_btn a {
    display: inline-block;
    background: #ef7e41;
    color: white;
    text-align: center;
    padding: 10px 10px;
    font-size: 16px;
    width: 100%;
    box-sizing: border-box;
}
.flow_type2 .faq .box_txt1 {
    padding: 20px;
}
}