    /* ベーススタイル */
    * { box-sizing: border-box; }

.env-warning{
    display:none;
    position: relative;

    margin-top:-30px;
    padding:12px 14px;

    background:#fff3cd;
    border:1px solid #f5c06f;
    border-radius:8px;

    color:#856404;
    font-size:13px;
    line-height:1.5;

    box-shadow:0 2px 8px rgba(0,0,0,0.08);
}

/* 表示時 */
.env-warning.show{
    display:block;
}

/* 吹き出しの矢印 */
.env-warning::before{
    content:"";

    position:absolute;
    top:-8px;
    left:20px;

    border-left:8px solid transparent;
    border-right:8px solid transparent;
    border-bottom:8px solid #f5c06f;
}

/* 内側の白部分 */
.env-warning::after{
    content:"";

    position:absolute;
    top:-6px;
    left:21px;

    border-left:7px solid transparent;
    border-right:7px solid transparent;
    border-bottom:7px solid #fff3cd;
}




/* download */

#download{
    padding: 20px 0 ;	
    }
    .dltitle{    background: #f1f1f1;
        width: 100%;
        padding: 10px;
        color: #1d314d;
        font-size: 17px;
text-align:center;}
    
    #select{margin-bottom: 60px;}
    .mr20{margin-right: 30px;}
    .tblue{color:rgb(18, 57, 141);
        background: rgb(238, 243, 245);
        padding: 10px 0;
    }
    
    .form-title{
        background: #4a4c55;
        color:#fff;
    /* width: 90%; */
    margin: auto;
    padding: 5px 10px;
    }
    .form-title span{ background: #fff;
    padding: 3px 10px;
    color:#ca0505;
    font-weight: 700;
    border-radius: 3px;
    margin-right: 20px;
    margin-left: -20px;
}

    
    
    .fm_formbox{background-color: #f1f1f4;}
    
    .catalog_info{
    margin-top: 20px;	
    padding-top: 20px;
        border-top:1px solid gray ;}
    
        .catalog_info li{line-height: 28px;}
        .catalog_info li:nth-child(1){font-size: 20px;
        font-weight:600}
    
    
    /*form_box2  */
    .form_box2{display: flex;
        flex-flow: column;
        justify-content: center;
	background: #F5EFE8;
	border: 1px solid #0D2B55;
	border-radius: 11px;
  box-shadow: 0 2px 5px 1px rgba(0, 0, 0, 0.1);
  padding: 20px;
        margin: 0 auto;}
    
    .form_box2 table{background: none;}	
    
    .form_box2 tr{display: grid;}
    
    .form_box2 h4 {
        text-align: center;
        line-height: 1.5;
        margin: 0 0 10px;
    }
    
    .form_box2 h4+div {
        color: #ff0000;
        text-align: center;
        margin: 0 0 30px;
    }
    
    .form_box2 a {
        color: #333;
        transition: 0.3s;
        text-decoration: underline;
    }
    
    .form_box2 a:hover {
        opacity: 0.3;
    }
    
    .form_box2 table {
        margin: 0 0 10px;
    }
    
    .form_box2 table tr th{
        width: auto;
        text-align: left;
        font-weight: bold;
		font-size:16px;
        border: none;
        padding: 5px 0 0;
        display: flex;
        align-items: center;
}
    
    .form_box2 table tr td {
        width: auto;
        text-align: left;
        font-weight: normal;
        border: none;
        padding: 5px 0 0 0;
    }
    
    .form_box2 table tr th span {
        color: #fff;
        background: #0D2B55;
        border-radius: 0;
        margin: 0 0 0 10px;
        line-height: 20px;
        width: 38px;
        font-size: 12px;
        text-align: center;
        font-weight:normal;
    }
    .form_box2 table tr th small {
        font-size: 12px;
	}
	

    .form_box2 table tr th .nini{
        color: #fff;
        background: #aaa;
	}
	.form_box2 table tr td .nini{
        margin: 0 10px 10px 0;
		color: #666;
		font-size:16px;
		font-weight: bold;
	}
	
    .form_box2 table tr .nini span{
        color: #fff;
        background: #787878;
        border-radius: 5px;
        margin: 0 10px 0 0;
        line-height: 20px;
        width: 34px;
        font-size: 12px;
        text-align: center;
        font-weight:normal;
		display: inline-block;
    }

    .form_box2 label {
        line-height: 1.8;
        display: block;
    }
    
    .form_box2 input[type="text"],
    .form_box2 input[type="email"],
    .form_box2 input[type="tel"],
    .form_box2 select {
		margin-bottom: 25px;
        width: 100%;
    }
    .form_box2 textarea{
        width: 100%;
    }
    .form_box2 input[type="text"],
    .form_box2 input[type="email"],
    .form_box2 input[type="tel"],
    .form_box2 select {
        height: auto;
    }
	
    .form_box2 .short {
        max-width: 200px;
    }
    .form_box2 .middle {
        max-width: 250px;
    }    
    .form_box2 input,
    .form_box2 textarea,
    .form_box2 select {
        background: #ffffff;
        border: 1px solid #d4d4d4;
        border-radius: 5px;
        resize: vertical;
        padding: 10px;
    }
    
    .form_box2>p.front {
        text-align: center;
        margin: 0 0 30px;
    }
    
    .form_box2>p input {
        width: 100%;
        max-width: 235px;
        display: block;
        color: #fff;
        background: #F59324;
        font-size: 1.8rem;
        font-weight: bold;
        border-radius: 5px;
        cursor: pointer;
        margin: 0 auto;
		padding: 0;
		line-height:50px;
        transition: 0.3s;
        font-family: YakuHanJP, 'Noto Sans JP', 'noto-fallback', 'rome_num', sans-serif;
    }
    
    
    .form_box2>p input.back {
        color: #fff;
        background: #999;
        border: none;
    }
    
    .form_box2>p input:hover {
        opacity: 0.3;
    }
    
    .form_box2 .columns {
        display: flex;
        flex-wrap: wrap;
        gap: 10px 20px;
    }
    
    .form_box2 table.kakunin_table tr th,
    .form_box2 table.kakunin_table tr td {
        border: 1px solid #ccc;
        padding: 20px;
    }
    
    .form_box2 table.kakunin_table tr th {
        display: table-cell;
        font-weight: bold;
        background: #eee;
    }
    
    .form_box2 table.kakunin_table+p {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 30px;
    }
    
    

    @media screen and (max-width: 767px) {

    .form_box2{display: flex;
        flex-flow: column;
        justify-content: center;
        padding: 0 20px;
        margin: 0 auto 30px;
		}
.form_box2 table tr th{
		font-size:16px;
        padding: 5px 0 10px;
        display: flex;
        align-items: center;
}
  .form_box2 table tr td {
        padding: 0;
    }
.form_box2 label{
	font-size: 12px;
	padding-bottom: 2rem;
}
.form_box2 label input{
	top: 2px;
	display: inline-block;
	position: relative;
}
    }