﻿/*===========================================================*/
/* 個別 */
/*===========================================================*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500&family=Noto+Sans+JP:wght@500&display=swap');
body{
        font-family: 'Montserrat',"Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif!important;
        font-weight: 500;
}
.linkStyle{color: #333;border-bottom: 1px solid;}
p{font-size: 20px!important;}
.font_14{font-size: 16px;}
#fakeloader{background-color: #ffd4a7;}
#video{
    width: 50%!important;
    margin: 0 auto;border-radius: 20px;
    overflow: hidden;
}
.c-btn{
    border: none;
    background-color: #fe9c05;
    color: #fff;
    transition: 0.3s;
}
.c-btn i{
    color: currentColor;
}
.c-btn:hover{
    box-shadow: none;
    background-color: #e60011;
}
@keyframes bound {
    0% {
        opacity: 0;
        transform: scale(0.8);
    }
    40% {
        opacity: 1;
        transform: scale(1.2);
    }
    70% {
        opacity: 1;
        transform: scale(0.9);
    }
    80% {
        opacity: 1;
        transform: scale(1.1);
    }
    90% {
        opacity: 1;
        transform: scale(0.95);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}
.fadein{
    opacity: 0;
    transform: translateY(20px);
    transition: 1s;
    transition-property: opacity, transform;
}
.fadein.active{
    opacity: 1;
    transform: none;
}
.fadeUp {

opacity: 0;
}
.fadeUp.active{
    animation-name:fadeUpAnime;
animation-duration:1s;
animation-fill-mode:forwards;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(20px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}
.delay-time02{
animation-delay: 0.4s;
}

.delay-time04{
animation-delay: 0.8s;
}
.logo1{max-width: 180px;}
#fakeloader .fl{max-width: 250px;}
.con1_inner p{
    text-align: left;
    max-width: 900px;
    margin: auto;
    margin-top: 50px;
}
.con1_inner h2 span{color: #e60011;}
.topTxt1{    padding: 20px 25px 20px;}
.topTxt1 .arrow{color: #f7cc38;}
#con3 .title .en{
    display: inline-block;
    background-color: #e60011;
    border-radius: 80px;
    padding: 20px;
    color: #fff;
        opacity: 0;
    transform: scale(0.8);
    z-index: 1;
    
}
#con3 .title .en.active{animation: bound 1s ease 1s forwards;}
#con3 .sl{display: none;}

#con3 h3{position: relative;font-weight: bold;color: #fff;
    background-color: #fe9c05;}
#con3 h3:before{
    position: absolute;
    content: "";
    width: 50px;
    height: 2px;
    left: 50%;
    bottom: 0;
    background-color: #e60011;
    transform: translatex(-50%);
}
#con3 .box_wrap{counter-reset: number;}
#con3 .box{
        background-color: #f7f7f7;
    padding: 20px;
    border: 1px solid;
    position: relative;
    
}
#con3 .box::before{
    counter-increment: number 1;
    content: "0" counter(number);
    position: absolute;
    display: block;
    width: 70px;
    height: 70px;
    background-color: #f7cc38;
    color: #ffffff;
    font-size: 24px;
    border-radius: 50%;
    line-height: 70px;
    top: -20px;
    left: -20px;
    font-weight: bold;
    z-index: 1;
}
#con3 .box p.font_22{
        color: #fff;
    background-color: #fe9c05;
    font-size: 20px;
}
#con3 .box .img{margin: 0 auto 20px;}
#con3 ul li{padding-left: 30px;font-size: 20px;}
#con3 ul li::before{
    content: "\f00c";
    display: block;
    position: absolute;
    width: 30px;
    height: 30px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    left: 0;
}
.bottom_cms .top_cms_box:first-of-type .cmstitle{background-image: url(Dup/img/icon01.png);}
.bottom_cms .cmstitle{
    padding-top: 100px;
    background-image: url(Dup/img/icon02.png);
    background-size: 80px;
    background-repeat: no-repeat;
    background-position: top center;
    text-align: center;
}
.f_contact_box h4{margin-bottom: 10px;} 
.top_cms_box{background-color: #ffe9c7;}
.footer_sns .box a{width: 200px;}
.footer_sns .box{margin-bottom: 20px;}
/*===========================================================*/
/* コード集 */
/*===========================================================*/
.flow_type2 .sub_cate_title {
    border-bottom: solid 3px #ccc;
    position: relative;
}
.flow_type2 .sub_cate_title::after {
    content: '';
    display: block;
    background: #fe9c05;
    width: 30%;
    height: 3px;
    position: absolute;
    left: 0;
    bottom: -3px;
}
.flow_type2 .box_wrap {
	border: 3px solid #d75602;
}
.flow_type2 .cate_box {
	padding: 30px;
	width: 100%!important;
}
.flow_type2 .box_txt1 {
    background-color: #f7f7f7;
    color: #d75602;
    text-align: center;
}
.flow_type2 #cate2 .box_txt1 span{color: #fff;padding: 20px;background-color: #d75602;display: block;}
.flow_type2 .cate_box:not(:last-child) {
	border-bottom: 3px solid #d75602;
	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: #fff;
}

.flow_type2 .cate{counter-reset: number;}

.flow_type2 .box_txt1::before {
    counter-increment: number 1;
    content: "step." counter(number);
    background-color: #d75602;
    padding: 5px 10px;
    font-weight: 700;
    color: #ffffff;
    display: block;
    margin: 0px auto 10px;
    width: 50%;
}
.flow_type2 #cate2 .box_txt1::before{content: none;}

/*-------- スマートフォン --------*/
@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%;
}
.flow_type2 .cate_box:not(:last-child)::after {
    border-top-color: #fff7ea;
}
}
/*-------- FireFox --------*/
@-moz-document url-prefix() {
.flow_type2 .cate_box:not(:last-child)::before, .flow_type2 .cate_box:not(:last-child)::after {top: 98% !important;}
}


.flow_type4 .sub_cate{counter-reset: number;}
.flow_type4 .step::before{
    counter-increment: number 1;
    content: counter(number);
    display: block;
    font-size: 20px;
    /* top: -10px; */
    text-align: center;
    line-height: 1;
}
.flow_type4 .box_description2{
	border-left: dotted 4px #1e2b38;
	background-color: rgba(204, 204, 204, .35);
}
.flow_type4 .box_txt1,
.flow_type4 .box_txt2{
	padding-left:20px;
}
.flow_type4 .box_wrap{
    position: relative;
    padding-left: 30px;
}
.flow_type4 .box_wrap:before{
    content: "";
    display: inline-block;
    height: calc(100% - 30px);
    border-left: 4px dotted #1e2b38;
    position: absolute;
    top: 30px;
    left: 26px;
}
.flow_type4 .cate_box:last-of-type{
	padding-bottom: 0;
}
.flow_type4 .box_description2{
    position: relative;
    border-left: none;
    background-color: rgba(255, 255, 255, 0);
}
.flow_type4 .box_description2 span{
	position: absolute;
    display: inline-block;
    width: 68px;
    top: 5px;
    left: -38px;
        background-color: #333;
    height: 68px;
    border-radius: 50%;
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
        font-size: 12px;
    text-align: center;
}
/*--------タブレット--------*/
@media screen and (max-width: 768px){
.flow_type4 .cate_box{
	flex-direction: column-reverse;
}
.flow_type4 .box_description2 span {
	width: 68px;
	left: -34px;
}
}
/*--------スマートフォン--------*/
@media screen and (max-width: 667px){
.flow_type4 .box_wrap{
    padding-left: 23px;
}
.flow_type4 .box_wrap:before {
    left: 19px;
}
}


.topcms_news_type2 .cate_box {
	width: 46.33333%!important;
	margin-right: 1.5%;
	margin-left: 1.5%;
	cursor: pointer;
	border-bottom: 1px solid #ddd;
	margin-bottom: 30px;
	box-shadow: 0 6px 12px rgb(0 0 0 / 0);
	/* padding: 20px; */
	/* border-radius: 20px; */
	/* background-color: #f5f5f5; */
}
.topcms_news_type2 .cate_box:hover {
	transform: translateY(-5px);
}
.topcms_news_type2 .cate_box .box_item {
	cursor: pointer;
}
.topcms_news_type2 .txt_height {
	height: 5em
}
.topcms_news_type2 .box_img1 {
	border-radius: 10px;
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
.topcms_news_type2 .cate_box {width: 100%!important;}
.topcms_news_type2 .txt_height {height: 3em}
}
/*===========================================================*/
/* 下層 */
/*===========================================================*/
.pagetitle .pagetitle_img{
    opacity: 0.3;
    background-size: cover;
    background-position: center;
    mix-blend-mode: normal!important
}




/*===========================================================*/
/* タブレット */
/*===========================================================*/
@media screen and (max-width: 768px){
    #con3 .box{margin-bottom: 50px;}
#con3 .box .img {
    max-width: 500px;
    margin: 0 auto 20px;
    border-radius: 20px;
}
.header-in{margin-top: 0;}
#video {
    width: 80%!important;

}


.footer_sns .box a {
    width: 114px;
}
    
    
}



/*===========================================================*/
/* スマホ */
/*===========================================================*/
@media screen and (max-width: 667px){
.f_contact_box h4{font-size: 40px;} 
#con1{
        opacity: 1;
    transform: none;
}
#con3 h3{font-size: 20px;}
#con3 ul li{padding-left: 30px;font-size: 18px;}
#main_img{padding-top: 70px;}
.header{background-color: rgb(247 247 247 / 90%);}
p{font-size: 18px!important;}
.footer_sns .box a{width: 50px;}

}


/*===========================================================*/
/* IE */
/*===========================================================*/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none){



}


/*===========================================================*/
/* Firefox */
/*===========================================================*/
@-moz-document url-prefix(){

}