@charset "UTF-8";

#main .inner,
#main2 .inner {
	width: 850px;
}

.eng_btn{
    display: block;
    position: absolute;
    right: 20px;
    top: 120px;
}

.eng_btn a img{
    width: 136px;
}

@media screen and (max-width: 767px) {
    .eng_btn{
        right: 10px;
        top: 80px;
    }
    .eng_btn a img{
        width: 106px!important;
    }
}


/*----------main----------*/
#main {
    background: linear-gradient(90deg, #ececec 0%, #ececec 70%, #e3e3e3 70%, #e3e3e3 100%)!important;
}

#main .main_contents{
	background-image: url(/wnb/event/award/img/think_entry/bg.png);
	background-repeat: no-repeat;
	background-position: 50% 0;
	padding-top: 1px;
    background-size: contain;
    background-color: #e3e3e3!important;
}

#main .note {
	font-size: 14px;
	text-align: center;
	margin-top: 50px;
}
#main a {
	color: #e50044;
	text-decoration: underline;
    font-weight: bold;
}

#main .inner {
	padding: 50px 32px 100px 66px;
	box-sizing: border-box;
}
@media screen and (max-width: 1730px){
    #main {
        background-color: #ededed!important;
    }
}
@media screen and (max-width: 767px) {
	#main .inner,
	#main2 .inner {
		width: auto;
	}

    #main {
        background: #e3e3e3!important;
    }    

	#main .main_contents{
		background-image: none;
	}
	#main .note {
		font-size: 12px;
		line-height: 1.6;
		margin-top: 15px;
	}

	#main .inner {
		padding: 5.5% 20px 10% 20px;
	}
}

#flow .block {
	position: relative;
	padding-left: 76px;
	padding-bottom: 45px;
    background-image : linear-gradient(to top, #bdbdbd, #bdbdbd 2px, transparent 2px, transparent 8px);  /* 幅2の線を作る */
    background-size: 2px 8px;          /* グラデーションの幅・高さを指定 */
    background-position: left bottom;  /* 背景の開始位置を指定 */
    background-repeat: repeat-y;       /* 横向きにのみ繰り返す */
	box-sizing: border-box;
}
#flow .block:last-child {
	border-left: none;
	padding-bottom: 0;
}
#flow .block .badge {
	position: absolute;
	top: 25px;
	left: -23px;
	z-index: 100;
	pointer-events: none;
}

#flow .block h2 {
	font-size: 24px;
    font-weight: 600;
	position: relative;
	padding-bottom: 15px;
	margin-bottom: 25px;
}
#flow .block h2.first {
	margin-bottom: 30px;
}
#flow .block h2::before {
	content: "";
	display: block;
	width: calc(100% + 76px);
	height: 0;
	font-size: 0;
	border-bottom: 2px solid #bdbdbd;
	position: absolute;
	bottom: 0;
	left: -76px;
	z-index: 10;
}

#flow .block .label {
	font-size: 16px;
	font-weight: normal;
	color: #FFF;
	padding: 5px 17px;
	display: inline-block;
	background-color: #786a47;
	margin-bottom: 20px;
}

#flow .block .label_bl {
	background-color: #c79f62;
}

#flow .block *:not(h2) + .label {
	margin-top: 45px;
}

#flow .block h4 {
	font-size: 24px;
    font-weight: 600;
	margin-bottom: 25px;
}
#flow .block .txt {
	font-size: 16px;
	line-height: 1.9;
}

#flow .block .txt .pc{
    display: block;
}

#flow .block .poin{
	font-size: 14px;
	line-height: 1.75;
}

#flow .block .sun{
	font-size: 16px;
	line-height: 1.9;
}

#flow .block .mgl20{
    margin-left: 20px;
}

#flow .block .txt .come{
    font-size: 14px;
}


#flow .block .txt .red_txt{
    color: #e50044;
}

#flow .block .en_btn{
    display: flex;
    justify-content: center;
}

#flow .block .en_btn .btn{
    margin: 0 10px;
}

#flow .block .en_btn .btn .my_fade{
    color: #e50044!important;
    background-color: #ffffff!important;
    border: solid 1px #e50044!important;
    margin-bottom: 10px;
}

#flow .block .btn {
	margin: 10px 0 20px;
    text-align: center;
}

#flow .block .btn02 {
	margin: 30px 0 0;
    text-align: center;
}

#flow .block .btn a {
	width: 215px;
	text-align: center;
	color: #ECECEC;
	display: inline-block;
	background-color: #e50044;
	text-decoration: none;
	box-sizing: border-box;
    font-size: 20px;
    padding: 25px 50px;
}

#flow .en_btn .btn .my_fade_none{
    pointer-events: none;
    color: #c2c2c2;
    border: 1px solid #c2c2c2;
    background-color: transparent;
}

#flow .block .ac_btn{
    font-size: 11px;   
}

#flow .block .ac_btn a{
    width: 320px;
}

#flow .block .ac_btn p{
    padding-top: 5px;
    color: #e50044;
}


#flow .block .badge img{
    width: 45px;
}

#flow .block .badge02{
	position: absolute;
	top: 25px;
	left: -23px;
    margin: auto;
	z-index: 100;
	pointer-events: none;
}

#flow .block .badge02 .date_02{
    width: 45px;
}

#flow .block h2 .pc{
    display: none;
}

@media screen and (max-width: 767px){
    #flow .block .en_btn{
        flex-direction: column;
        align-items: center;
        margin: 0;
    }
    
    #flow .block .en_btn .btn{
        margin: 0;
        display: contents;
    }    
    
    #flow .block .en_btn .fade_none_gl{
        margin-top: 10px;
        border: 4px solid #c2c2c2!important;
    }

    #flow .block {
		padding: 0;
		padding-bottom: 12%;
		border-left: none; 
        background-image : none;
	}
    
	#flow .block:last-child {
		border-left: none;
		padding-bottom: 0;
	}
	#flow .block .badge,#flow .block .badge02{
		width: 27.09677%;
		position: absolute;
        left: 0;
		top: 0;
		margin-top: -6%;
		z-index: 100;
		pointer-events: none;
	}
    
    #flow .block .badge img{
        width: 30px;
    }
    
    #flow .block .badge02 img{
        width: 30px!important;
    }    
    
    #flow .block .badge02 .date_02{
        width: 90px;
    }
    
    #flow .block .badge {
        top: 57px;
        left: 0px;
    }
    #flow .block .badge02 {
        top: 33px;
        left: 0px;
    }
    #flow .block h2 {
		font-size: 18px;
		position: relative;
		padding-bottom: 1%;
		margin-bottom: 50px;
		padding-left: 40px;        
	}
	#flow .block h2.first {
		margin-bottom: 50px;
	}
    
    #flow .block h2 .pc{
        display: block;
    }
	#flow .block h2::before {
		width: 95%;
		border-bottom: 1px solid #bdbdbd;
		left: 0;
        right: 0;
        margin: auto;
	}
    
    #flow .block .label {
		font-size: 14px;
		margin-bottom: 8px;
	}
	#flow .block *:not(h2) + .label {
		margin-top: 24px;
	}
    #flow .block .txt {
		font-size: 14px;
		line-height: 1.8;
        width: 100%;
        overflow-wrap: break-word;
        word-break: break-word;
	}
    
    #flow .block .txt .pc{
        display: none;
    }
    #flow .block .txt .come{
        font-size: 12px;
    }
    #flow .block .btn {
		margin: 10px 0 20px;
        text-align: center;
	}
	#flow .block .btn a {
		font-size: 16px;
		color: #ECECEC;
		display: inline-block;
		background-color: #e50044;
		text-decoration: none;
        max-width: 320px;
        width: 100%;        
	}
    
    #flow .block .ac_btn a{
        max-width: 320px;
        width: 100%;
    }
    
	#flow .block .btn a.fade_none {
		opacity: 0.3;
	}
    
}

/*----------エントリー----------*/

#flow .block h2 .date{
    color: #e50044;
    font-size: 26px;
    padding-left: 25px;
    font-weight: bold;
}

#flow .block h2 .date .date_small{
    font-size: 20px;
    padding-right: 10px;
}

#flow .block h2 .date .time{
    font-size: 22px;
}

#flow .block .online {
    text-align: center;
    margin-top: 30px;
}

#flow .block .online .online_box{
    padding-top: 10px;
}

#flow .block .online .online_box .gold_box{
    font-size: 22px;
    background-color: #7e6a49;
    padding: 15px 0;
    line-height: 1.2;
    color: #ffffff;
}

#flow .block .online .online_box .gold_box span{
    font-size: 14px;
}

#flow .block .online .online_box .btn_area{
    background-color: #ffffff;
    padding: 20px 0;
}

#flow .block .online .online_box .btn_area .btn a{
    font-size: 20px;
    padding: 25px 50px;
    width: 317px;
}

#flow .block .online .online_box .btn_area .thanks{
    display: inline-block;
    padding: 10px 20px;
    color: #7e6a49;
    border: solid 1px #7e6a49;
}

@media screen and (max-width: 767px){
    #flow .block .online .online_box .gold_box{
        font-size: 18px;
    }
    #flow .block .online .online_box .gold_box span{
        font-size: 12px;
    }
    #flow .block .online .online_box .btn_area .btn a{
        font-size: 16px;
        padding: 25px 50px;
        max-width: 280px;
        width: 100%;
    }
    #flow .block h4 {
		font-size: 17px;
		margin-bottom: 20px;
	}
    #flow .block .ttl{
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    #flow .block h2 .date{
        color: #e50044;
        font-size: 18px;
        padding-left: 0;
        font-weight: bold;
    }
    #flow .block h2 .date .date_small{
        font-size: 18px;
        padding-right: 10px;
    } 
    #flow .block .online {
        font-size: 14px;
    }
    
}

/*----------応募方法----------*/
#flow .block .flow_area{
    margin: 0 0 40px;
}

#flow .block .flow_area .flow_txt{
    display: flex; 
    align-items: center;
    font-size: 16px;
}

#flow .block .flow_area .flow_txt p{
    padding-right: 25px;
    width: 170px;
}

#flow .block .flow_area .flow_txt:after {
    border-top: 1px solid #c79f62;
    content: "";
    width: 100%;
}

#flow .block .flow_area .flow_box{
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 32px 0 40px;
    border-bottom: solid 1px #c79f62;
}

#flow .block .flow_area .flow_box .arrow{
    width: 10px;
}

#flow .block .flow_area .flow_box .flow{
    background-color: #ffffff;
    border: solid 2px #c79f62;
    display: inline-block;
    width: 140px;
    height: 170px;
    text-align: center;
}

#flow .block .flow_area .flow_box .flow .img01{
    margin: 30px 0 20px;
    width: 70px
}

#flow .block .flow_area .flow_box .flow .img02{
    margin: 30px 0 10px;
    width: 70px
}

#flow .block .flow_area .flow_box .flow .img03{
    margin: 30px 0 10px;
    width: 70px
}

#flow .block .flow_area .flow_box .flow p{
    font-size: 12px;
}

#flow .block .flow_area .flow_box .flow01{
    position: relative;
} 

#flow .block .flow_area .flow_box .flow .nin{
    position: absolute;
    bottom: 5px;
    text-align: center;
    width: 100%;
}

#flow .block .flow_area .flow_box .flow .nin p{
    font-size: 10px!important;
    color: #786a47;
}

#flow .block .flow_area .flow_box .flow .nin_sp{
    display: none;
}

#flow .block .ttl{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}

#flow .block .method {
	font-size: 16px;
	margin-bottom: 5px;
}

#flow .block .method strong {
	color: #e50044;
    padding-left: 10px;
}

#flow .block .btn a.fade_none {
    background-color: #c2c2c2!important;
	opacity: 0.5;
}

#flow .block .btn_en a.fade_none {
	opacity: 0.5;
}

#flow .block .impor{
    border: 1px solid #e50044;
    color: #e50044;
    font-size: 16px;
    padding: 10px 20px;
    line-height: 1.75;
    margin: 5px 0 20px;
    font-weight: bold;
}

#flow .block .impor .dot{
    font-size: 12px;
}

@media screen and (max-width: 767px){
    #flow .block .flow_area .flow_box .flow .img03{
        margin: 10px 0 10px;
    }
    #flow .block .flow_area .flow_txt p{
        width: 400px;
    }
    #flow .block .flow_area .flow_box{
        flex-direction: column;
    }
    #flow .block .flow_area .flow_box .flow{
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #flow .block .flow_area .flow_box .arrow{
        transform: rotate(90deg);
        width: 10px;
    }
    #flow .block .flow_area .flow_box .flow{
        width: 100%;
        height: auto;
    }   
    
    #flow .block .flow_area .flow_box .flow .nin{
        display: none;
    }  
    #flow .block .flow_area .flow_box .flow .nin_sp{
        display:  block;
        font-size: 11px;
        color: #786a47;
    }
    
    #flow .block .flow_area .flow_box .flow .img01{
        width: 60px;
        margin: 15px 0;
    }
    #flow .block .flow_area .flow_box .flow .img02{
        width: 60px;
        margin: 15px 0;
    }
    #flow .block .flow_area .flow_box .flow .im01{
        padding-right: 10px;
    }
    #flow .block .flow_area .flow_box .flow .im02{
        padding-right: 0;
    }
    #flow .block .flow_area .flow_box .flow .im04{
        padding-right: 10px;
    }
    #flow .block .method {
		font-size: 16px;
        margin: 10px;
		margin-bottom: 7px;
		line-height: 1.8;
	}
    #flow .block .method strong {
		color: #e50044;
        padding-left: 0px;
	}
    #flow .block .kigen{
        margin-left: 20px;
    }
    #flow .block .impor{
        font-size: 14px;
        text-indent: -1rem;
    }
    #flow .block .impor .dot{
        font-size: 10px;
    }
    #flow .block .impor p{
        padding: 0 10px;
    }

}

/*----------課題製品----------*/
#flow .block .list_img {
	margin: 12px 0 24px;
}

#flow .block .list_img img{
    width: 705px;
}
@media screen and (max-width: 767px){
    #flow .block .list_img {
		margin: 12px 0 24px;
        text-align: center;
	}
    
    #flow .block .list_img img{
        width: 90%;
    }
    #flow .block .sun{
        font-size: 14px;
        line-height: 1.8;
    }
}

/*----------留意点----------*/
#flow .block .list ol{
    margin: 0;
    padding: 0;
}

#flow .block .list li {
	font-size: 16px;
	line-height: 1.9;
    list-style: none;  
}

#flow .block .list .list_contents {
    padding-left: 1.3em;
    text-indent: -1.3em;    
}

#flow .block .list li + li {
	margin-top: 5px;
}
@media screen and (max-width: 767px){
    #flow .block .list li {
		font-size: 14px;
		line-height: 1.6;
        padding-bottom: 10px;
	}
	#flow .block .list li + li {
		margin-top: 5px;
	}
}

/*----------スケジュール----------*/
#flow .block .sk_01 .sk01_ttl .sk01_box{
    display: flex;
    align-items: center;
}

#flow .block .sk_01 .sk01_ttl .sk01_box h3{
    display: block;
    background-color: #323232;
    color: #ffffff;
    padding: 7px 0px;
    width: 300px;
    text-align: center;
    font-size: 16px;
    border-radius: 20px;
}

#flow .block .sk_01 .sk01_ttl .sk01_box p{
    color: #000000;
    font-size: 24px;
    padding-left: 15px;
    font-weight: bold;
}

#flow .block .sk_01 .sk01_ttl .sk01_box p span{
    font-size: 16px;
}

#flow .block .sk_01 .sk01_ttl .pc{
    display: block;
}

#flow .block .sk_01 .txt{
    padding-top: 15px;
    font-size: 16px;
}

#flow .block .sk_01 .txt span{
    font-size: 14px;
}

#flow .block .sk{
    padding-top: 25px;
}

#flow .block .set h3{
    background-color: #00aa83!important;
}

#flow .block .set p{
    color: #e50044!important;
}

@media screen and (max-width: 767px){
    #flow .block .sk_01 .sk01_ttl .pc{
        display: none;
    }
    
    #flow .block .sk_01 .sk01_ttl .sk01_box{
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    
    #flow .block .sk_01 .sk01_ttl .sk01_box h3{
        display: inline-block;
        color: #ffffff;
        font-size: 14px;
        width: 100%;
    }
    #flow .block .sk_01 .sk01_ttl .sk01_box p{
        font-size: 17px;
        padding-left: 0;
        padding-top: 10px;
        margin: 0 auto;
    }
    #flow .block .sk_01 p{
        font-size: 14px;
    }
    
    #flow .block .sk{
        padding-top: 25px;
    }
}

/*----------審査基準----------*/
#flow .block .body .txt {
	font-size: 16px;
	color: #000000;
	line-height: 1.9;
    padding-bottom: 20px;
}

#flow .block .body li{
    display: flex;
    align-items:stretch;
    background-color: #ffffff;
}

#flow .block .body li+li{
    border-top: solid 1px #d0d0d0;
}

#flow .block .body li .txt01{
    background-color: #323232;
    color: #ffffff;
    padding: 30px 0;
    width: 350px;
    font-size: 16px;
    display: flex;
    align-items: center; 
    justify-content: center;
}

#flow .block li .txt02{
    width: 100%;
    padding: 0 20px;
    display: flex;
    align-items: center;
}

#flow .block li .txt02 p{
    font-size: 14px;
    padding: 20px 0;
}

#flow .block li .txt02  p span{
    color: #e50044;
    
}

#flow .block .txt_box{
     background-color: #ffffff;
}

#flow .block .indent_txt{
    font-size: 14px;
    margin-left: 1rem;
    text-indent: -1rem;
    line-height: 2;
    color: #7e6a49;
    padding: 5px 10px;
    font-weight: bold;
}

#flow .block .indent_end{
    margin-bottom: 20px;
}


#flow .block .fist_indent{
    margin-bottom: 1px;
}

#flow .block .semi_txt{
    font-size: 22px;
    color:#e50044;
    text-align: right;
    margin-top: 20px;
}

/*----------チャレンジポイント----------*/
#flow .block .box_area{
    display: flex;
    justify-content: space-between;
    padding: 20px 0 40px;
    border-bottom: solid 1px #c79f62;
}

#flow .block .box_area .box{
    background-color: #ffffff;
    border: solid 1px #323232;
    width: 320px;
}

#flow .block .box_area .box .contents{
    width: 100%;
    padding: 20px 0;
}

#flow .block .box_area .box .contents .name{
    text-align: center;
    padding-bottom: 10px;
    border-bottom: solid 1px #d0d0d0;
}

#flow .block .box_area .box .contents .txt{
    width: 90%;
    font-size: 14px;
    padding-top: 10px;
    margin: 0 auto;
}

#flow .block .box_area .box .contents .txt span{
    font-size: 11px;
}


#flow .block .small_ttl{
    display: flex; 
    align-items: center;
    font-size: 16px;
    margin: 45px 0 20px;
}

#flow .block .small_ttl p{
    padding-right: 25px;
    width: 285px;
}

#flow .block .small_ttl:after {
    border-top: 1px solid #c79f62;
    content: "";
    width: 100%;
}

@media screen and (max-width: 767px){
    #flow .block .box_area{
        flex-direction: column;
        align-items: center;
    }
    #flow .block .box_area .box{
        width: 100%;
    }
    
    #flow .block .box_area .mgt{
        margin-top: 20px;
    }
    #flow .block .small_ttl p{
        width: 600px;
    }    
}

#flow .translation_box{
    margin-top: 40px;
    padding: 30px 0;
    text-align: center;
    background-color: #ffffff;
} 

#flow .translation_box .txt_area p{
     font-size: 20px;
}

#flow .translation_box .txt_area .btn{
    margin: 10px 0 20px;
    text-align: center;
}

#flow .translation_box .txt_area .btn a{
	text-align: center;
	color: #ECECEC;
	display: inline-block;
	background-color: #e50044;
	text-decoration: none;
	box-sizing: border-box;
    font-size: 22px;
    padding: 25px 50px;
}

@media screen and (max-width: 767px){
    #flow .translation_box{
        margin-top: 0;
    }
    #flow .translation_box .txt_area p{
        font-size: 18px;
    }
    #flow .translation_box .txt_area .btn a{
        font-size: 16px;
    }
}



/*----------/main----------*/





/*----------main02----------*/
#main2 {
	background-color: #ececec;
	padding: 100px 0 60px;
}
#main2 .inner {
	background-color: #fff;
	padding: 25px 30px;
	box-sizing: border-box;
}
#main2 .inner .ttl,
#main2 .inner .txt {
	font-size: 14px;
	line-height: 1.6;
}
#main2 .inner .ttl {
	margin-bottom: 3px;
	line-height: 1.6;
}
#main2 .inner .txt {
	margin-bottom: 3px;
	line-height: 1.8;
}

#main2 .inner li + li {
	margin-top: 20px;
}

#main2 .inner li li {
	font-size: 14px;
	line-height: 1.6;
}
#main2 .inner li li + li {
	margin-top: 3px;
}


#main2 .inner li .email {
	font-size: 14px;
	margin-top: 20px;
}
#main2 .inner li .email span {
	font-size: 14px;
}
#main2 .inner li .tel {
	font-size: 14px;
	margin-top: 10px;
}

.section .info{
    background-color: #ffffff;
    width: 850px;
    margin: 0 auto 35px auto;
}

.section .info .info_contents{
    padding: 40px 50px;
}

.section .info .info_contents .info_01 .line{
    border-bottom: solid 1px #c9c9c9;
    width: 100%;
    margin: 45px auto;
}

.section .info .info_contents .info_01 .info_ttl{
    display: flex;
    align-items: center;
}

.section .info .info_contents .info_01 .info_ttl img{
    width: 24px;
}

.section .info .info_contents .info_01 h3{
    font-size: 20px;
    padding-left: 15px;
    padding-top: 10px;
}

.section .info .info_contents .info_01 p{
    padding-left: 35px; 
    padding-top: 25px;
    line-height: 1.75;
    margin-left: auto;
}

.section .info .info_contents .info_01 .red_txt{
    color: #e50044;
    font-size: 14px;
    padding-top: 0;
    margin-left: 1rem;
    text-indent: -1rem;
}

.section .info .info_contents .info_02 .info_ttl{
    display: flex;
    align-items: center;
}

.section .info .info_contents .info_02 .info_ttl img{
    width: 24px;
}

.section .info .info_contents .info_02 h3{
    font-size: 20px;
    padding-left: 15px;
    padding-top: 10px;
}

.section .info .info_contents .info_02 .p{
    padding-left: 35px; 
    padding-top: 25px;
    font-size: 16px;
    line-height: 2;
    margin-left: auto;
}

.section .info .info_contents .info_02 p .pc{
    display: block;
} 

.section .info .info_contents .info_02 .small_txt{
    padding-left: 85px;
    font-size: 14px;
}

.section .info .info_contents .info_02 .first{
    padding-top: 10px;
}

.section .info .info_contents .info_02 .red_txt{
    color: #e50044;
    font-size: 14px;
    padding-top: 0;
    margin-left: 1rem;
    text-indent: -1rem;
}

.section .info .info_contents .info_02 .line01,
.section .info .info_contents .info_02 .line02,
.section .info .info_contents .info_02 .line03{
    display: flex;
}

.section .info .info_contents .info_02 .line01:before,
.section .info .info_contents .info_02 .line02:before,
.section .info .info_contents .info_02 .line03:before{
    border-top: 2px solid;
    content: "";
    width: 2em; /* 線の長さ */
    margin-right: 1em; /* 文字の右隣 */
    top: 30px;
    margin-top: 10px;
}


@media screen and (max-width: 767px) {
	#main2 {
		padding: 10.66666% 4%;
	}
	#main2 .inner {
		padding: 12px 17px;
		box-sizing: border-box;
	}
	#main2 .inner .ttl,
	#main2 .inner .txt {
		font-size: 12px;
	}
	#main2 .inner .ttl {
		margin-bottom: 3px;
		line-height: 1.6;
	}
	#main2 .inner .txt {
		margin-bottom: 3px;
		line-height: 1.8;
	}
    
	#main2 .inner li + li {
		margin-top: 20px;
	}

	#main2 .inner li li {
		font-size: 12px;
		line-height: 1.6;
	}
	#main2 .inner li li + li {
		margin-top: 3px;
	}


	#main2 .inner li .email {
		font-size: 12px;
		margin-top: 20px;
	}
	#main2 .inner li .email span {
		font-size: 14px;
	}
	#main2 .inner li .tel {
		font-size: 12px;
		margin-top: 10px;
	}
    .section .info .info_contents .info_02 .line01:before{
        width: 15px; /* 線の長さ */
    }
    .section .info .info_contents .info_02 .line02:before{
        width: 30px; /* 線の長さ */
    }  
    .section .info .info_contents .info_02 .line03:before{
        width: 25px; /* 線の長さ */
    }
    .section .info .info_contents .info_02 .info_ttl img{
        width: 18px!important;
    }
    
    .section .info .info_contents .info_02 h3{
        font-size: 18px;
    }
    
    .section .info .info_contents .info_02 p .pc{
        display: none;
    }    
    
    .section .info .info_contents .info_02 .p{
        padding-left: 0; 
        padding-top: 15px;
        font-size: 14px;
        margin-left: auto;
    }
    .section .info .info_contents .info_02 .small_txt{
        padding-left: 30px;
        padding-top: 10px;
        font-size: 14px;
        margin-left: 1rem;
        text-indent: -1rem;
        line-height: 2;
    }
    .section .info .info_contents .info_02 .red_txt{
        font-size: 14px;
        padding-top: 0;
        margin-left: 1rem;
        text-indent: -1rem;
    }
    .section .info{
        width: 100%;
        margin: 0 auto 35px auto;
    }
    
    .section .info .info_contents{
        padding: 20px 30px;
    }
    
    .section .info .info_contents .info_01 .line{
        border-bottom: solid 1px #c9c9c9;
        width: 100%;
        margin: 30px auto;
    }
    
    .section .info .info_contents .info_01 .info_ttl img{
        width: 18px!important;
    }
    
    .section .info .info_contents .info_01 h3{
        font-size: 18px;
    }
    .section .info .info_contents .info_01 p{
        padding-left: 0px; 
        padding-top: 15px;
        font-size: 14px;
        margin-left: auto;
    }
}


.section .info .info_contents .info_02 .line{
    border-bottom: solid 1px #c9c9c9;
    width: 100%;
    margin: 25px auto;
}


/*----------2024更新----------*/

.attention_sp{
    display: none;
}

.attention{
    margin-bottom: 20px;
}

.attention img{
    width: 675px;
}

.bg{
    /*font-size: 24px!important;*/
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 25px;
}

.new_icon{
    color: #ffffff;
    padding: 2px 10px;
    margin-right: 10px;
    border-radius: 20px;
    background-color: #786a47;
}

.pc{
    display: block;
}

.red_btn {
    display: inline-block;
    background-color: #e50044;
    padding: 25px 55px;
    font-size: 20px;
    color: #ffffff!important;
    text-decoration: none!important;
    font-weight: normal!important;
}

.btn_ab_area {
    padding: 20px 0 0;
    text-align: center;
}

@media screen and (max-width: 767px){
    .red_btn {
        padding: 25px 50px;
        font-size: 16px;
    }
}

@media screen and (max-width: 600px){
    .attention{
        display: none;
    }
    
    .attention_sp{
        display: block;
        width: 100%;
        margin-bottom: 20px;
    }

    .pc{
        display: none;
    }
}

/*----------2025更新----------*/

.kome{
    font-size: 12px;
}

.shinsa_txt{
    padding-bottom: 20px;
}

.mr_30{
    margin-top: 30px!important;
}

.main_contents .come{
    font-size: 12px;
    max-width: 750px;
    width: 100%;
    margin: 0 auto;
    padding-bottom: 30px;
    text-align: right;
}

@media screen and (max-width: 767px){
    .shinsa_txt{
        font-size: 14px;
        line-height: 1.8;
    }
}