
:root {
    --main-color: #ffffff;
    --max-pagewidth:1200px;
}
html {
	font-size: small;
	line-height: 1.5;
	line-height: 1.7;
    padding:0;
    margin:0;
}
* {
    padding:0;
        margin:0;

}
body {
	color: #333333;
	-webkit-text-size-adjust: none;
	font-size: 108%;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	letter-spacing: 0.08em;
	overflow-x: hidden;
    padding:0;
    margin:0;
}

a.btn {
    text-decoration: none !important;
}
a {
    color:#2576AE;
}
a:hover {
    text-decoration: underline;
    opacity: 0.8;
}
body div a.btn.btn_whitetext {
    color:#ffffff;
}

body{
    background: #ffffff;
    font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,Arial,Helvetica,Verdana,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
    margin:0;
    padding:0;
}
.h_logo {
    width:100%;
    max-width:var(--max-pagewidth);
    margin:auto;
}
#maincontainer {
    /* display: flex; */
    /* flex-wrap: wrap; */
    width:90%;
    max-width:1200px;
    margin:auto;
}

header.frontheader:before{
    height:19px;
    display: block;
    background: #DBE8F8;
    content:" ";
    position: absolute;
    z-index: 4;
    width:100vw;
    top:0;
}
header.frontheader {
    z-index: 1;
    position: relative;
    height: 80px;
    margin-bottom: 20px;
    padding:30px 10px;
    width: 100vw;
    margin-left: calc(50% - 50vw); /* ブラウザ幅に合わせて中央揃え */
    border-bottom:5px solid #002F7B;
}
header.frontheader .content {
    display: grid;
    grid-template-columns: 1fr 3fr;
    max-width: var(--max-pagewidth); /* コンテンツの最大幅を設定 */
    margin: 0 auto; /* 中央揃え */
}
header.frontheader .content .left img {
    width:300px;
}
h1.top {
    display: inline-block;
	color: #2576AE;
	padding: 0 0 8px 0;
    font-size:2rem;
	border-bottom: 4px solid #2576AE;

}
h3.h3top {
    margin-top:15px;
    font-size:1.5rem;
}

.input_code {
    position: relative;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #2576AE;
    box-shadow: 0 0 0 0;
    padding: 0px 15px;
    height: 35px;
    font-size: 1.2rem;
    border-radius: 0px;
    background-color: #fff;
    outline: 0;
}

.round_btn {
    display: block;
    position: absolute;
    top:calc(50% - 9px);
    right:10px;
    cursor:pointer;
    width: 18px;
    height: 18px;
    border: 2px solid #cccccc; /* 枠の調整 */
    border-radius: 50%;  /* 丸みの度合い */
    background: #fff; /* ボタンの背景色 */
    
  }
  
  .round_btn::before, .round_btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 3px; /* 棒の幅（太さ） */
    height: 17px; /* 棒の高さ */
    background: #cccccc; /* バツ印の色 */
  }
  
  .round_btn::before {
    transform: translate(-50%,-50%) rotate(45deg);
  }
  
  .round_btn::after {
    transform: translate(-50%,-50%) rotate(-45deg);
  }


.input_code_submit {
    -webkit-appearance: none;
    height: 35px;
    width: 120px;
    padding: 0 0px;
    background-color: #2576AE;
    color: #fff;
    border-style: none;
    border: 1px solid #2576AE;
    -webkit-appearance: none;
    cursor:pointer;
}
.tablebox {
    width:90%;
    margin:auto;
    display: grid;
    grid-template-columns: 3fr 1fr;
    padding:10px;
    margin-bottom:30px;
}
.tablebox > div{
    
    position: relative;
}
footer {
    width:100vw;
    position: absolute;
    left:0;
    padding:8px;
    text-align: center;
    background-color: #002F7B;
    color:#fff;
}



.result {
    width:90%;
    display: grid;
    gap:20px;
    grid-template-columns: 1fr 3fr;
    padding:10px;
    border:solid 1px #2576AE;
    border-radius: 5px;
    
    font-size:1.3rem;
    margin: 30px auto;
}

.result_empty {
    width:90%;
    display: block;
    padding:20px;
    border:solid 1px #2576AE;
    border-radius: 5px;
    font-size:1.4rem;
    margin: 30px auto;
    text-align: center;
}
.empty {
    height:100px;
}