div.container {
  width: 900px;
}

div.button-area {
  width: 90%;
  padding : 20px ;
  display: flex;
  justify-content: center; /* 水平方向中央揃え */
}

.flex{
	display: flex;
    flex-wrap: wrap;
}


.red {
  color: red;;
}


/*******************************************************************
エラーメッセージエリア
*******************************************************************/
.info-list {
    list-style-type: disc;
    padding: 1em 1em 1em 2.5em;
    border: 2px solid #66FF99;
}

.info-list li {
    color:  blue;
    font-weight: bold;
    padding: .3em .3em .3em 0;
}

.info-list li::marker {
    color: #66FF99;
    font-size: 1.1em;
}


/*******************************************************************
エラーメッセージエリア
*******************************************************************/
.error-list {
    list-style-type: disc;
    padding: 1em 1em 1em 2.5em;
    border: 2px solid #ff0000;
}

.error-list li {
    color:  red;
    font-weight: bold;
    padding: .3em .3em .3em 0;
}

.error-list li::marker {
    color: #ff0000;
    font-size: 1.1em;
}


/*******************************************************************
画面見出し
*******************************************************************/
h1 {
  padding: 0.5em;/*文字周りの余白*/
  color: #010101;/*文字色*/
  background: #eaf3ff;/*背景色*/
  border-bottom: solid 3px #516ab6;/*下線*/
}

p.menu {
  color: #009933;
  text-decoration-line: underline;
  text-underline-offset: 5px; //位置
  text-decoration-thickness: 1px; //太さ
}

p.notice {
  font-size: 10px
}


/*******************************************************************
必須マーク
*******************************************************************/
.required::after {
  content: " *";
  color: red;
  vertical-align: middle;
}

.no-required::after {
  content: "";
  color: rgb(0, 0, 0);
  vertical-align: middle;
}


/*******************************************************************
ボックス
*******************************************************************/
.box-018 {
    height:40px;
	display: flex;
	font-size: 20px;
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0.5em calc(1.0em + 2px);
    border-top: 1px solid #2589d0;
    border-bottom: 1px solid #2589d0;
    color: #333;
}

.box-018::before,
.box-018::after {
    position: absolute;
    width: 1px;
    top: 50%;
    transform: translateY(-50%);
    height: calc(80% + 20px);
    background-color: #2589d0;
    content: '';
}

.box-018::before {
    left: 9px;
}

.box-018::after {
    right: 9px;
}


.box-011 {
    position: relative;
    margin: 1.9em auto 0;
    padding: 1em 1.5em;
    border: 2px solid #2589d0;
    border-radius: 3px;
}

.box-011 span {
    position: absolute;
    top: -1.9em;
    left: -2px;
    padding: .2em .8em;
    border-radius: 5px 5px 0 0;
    background-color: #2589d0;
    color: #fff;
}

.box-011 p {
    margin: 0;
    color: #333;
}
/*******************************************************************
ラジオボタン
*******************************************************************/
.radio {
    display: flex;
    flex-wrap: wrap;
    gap: .3em 2em;
    border: none;
}

.radio label {
    display: flex;
    align-items: center;
    gap: 0 .5em;
    position: relative;
    cursor: pointer;
}

.radio label::before,
.radio label::after {
    border-radius: 50%;
    content: '';
}

.radio label::before {
    width: 18px;
    height: 18px;
    border: 2px solid #dee5eb;
    box-sizing: border-box;
}

.radio label::after {
    position: absolute;
    top: 50%;
    left: 9px;
    transform: translate(-50%, -50%);
    width: 9px;
    height: 9px;
    background-color: #dee5eb;
}

.radio label:has(:checked)::after {
    background-color: #5225d0;
}

.radio input {
    display: none;
}

/*******************************************************************
テキスト
*******************************************************************/
.txt-input{
	display: block;
	width: 100%; /*親要素いっぱい広げる*/
	padding: 10px 15px; /*ボックスを大きくする*/
	font-size: 16px;
	border-radius: 3px; /*ボックス角の丸み*/
	border: 2px solid #ddd; /*枠線*/
	box-sizing: border-box; /*横幅の解釈をpadding, borderまでとする*/
}


.field {
display: flex;
}

.textbox-readonly {
	display: block;
	width: 100%; /*親要素いっぱい広げる*/
	padding: 10px 15px; /*ボックスを大きくする*/
	font-size: 16px;
	border-radius: 3px; /*ボックス角の丸み*/
	border: 2px solid #ddd; /*枠線*/
	box-sizing: border-box; /*横幅の解釈をpadding, borderまでとする*/
    background: #FFFFEE;
}




/*******************************************************************
ボタン
*******************************************************************/

a.btn-search-small {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 80px;
	margin: auto;
	padding: 7px 10px;
	border: 2px solid #33CC33;
	color: #33CC33;
	transition: 0.5s;
}
a.btn-search-small:hover {
	color: #fff;
	background: #33CC33;
}



a.btn-download {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 100px;
	margin: auto;
	font-weight: bold;
	border: 2px solid #27acd9;
	color: #27acd9;
	transition: 0.5s;
}
a.btn-submit:hover {
	color: #fff;
	background: #27acd9;
}


a.btn-submit {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 120px;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #27acd9;
	color: #27acd9;
	transition: 0.5s;
}
a.btn-submit:hover {
	color: #fff;
	background: #27acd9;
}


a.btn-cancel {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 120px;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #FF69A3;
	color: #FF69A3;
	transition: 0.5s;
}
a.btn-cancel:hover {
	color: #FF69A3;
	background: #FF0461;
}

/*******************************************************************
テキスト用のラベル
*******************************************************************/
.text-label {
    display: inline-flex;
    align-items: center;
    position: relative;
}


/*******************************************************************
リストボックス
*******************************************************************/
.select-box {
    display: inline-flex;
    align-items: center;
    position: relative;
}

.select-box::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: #734848;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}

.select-box select {
    appearance: none;
    min-width: 20px;
    height: 2.8em;
    padding: .4em calc(.8em + 30px) .4em .8em;
    border: 1px solid #d1d1d1;
    border-radius: 3px;
    background-color: #fff;
    color: #532828;
    font-size: 1em;
    cursor: pointer;
}


/*******************************************************************
パンくず
*******************************************************************/
.breadcrumb-001 {
    display: flex;
    gap: 0 22px;
    list-style: none;
    padding: 0;
    font-size: .9em;
}

.breadcrumb-001 li {
    display: flex;
    align-items: center;
}

.breadcrumb-001 li:first-child::before {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 4px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 20C20 20.5523 19.5523 21 19 21H5C4.44772 21 4 20.5523 4 20V11L1 11L11.3273 1.6115C11.7087 1.26475 12.2913 1.26475 12.6727 1.6115L23 11L20 11V20ZM11 13V19H13V13H11Z' fill='%234400ff'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    content: '';
}

.breadcrumb-001 li:not(:last-child)::after {
    display: inline-block;
    transform: rotate(45deg);
    width: .3em;
    height: .3em;
    margin-left: 10px;
    border-top: 1px solid #4400ff;
    border-right: 1px solid #4400ff;
    content: '';
}

.breadcrumb-001 a {
    color: #3700ff;
    text-decoration: none;
}



/*******************************************************************
ヘッダー
*******************************************************************/
.header-3 {
  box-sizing: border-box;
  width: 100%;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1024px;
  height: 3
  0px;
  padding: 0 0.8em;
  margin: 0 auto;
  font-size: 1.2em;
}

.header-nav {
  display: flex;
  align-items: center;
}

.header-nav-item {
  display: flex;
  align-items: center;
  margin-left: 16px;
}

.logo img {
  width: 70px;
}

.header-button {
  box-sizing: border-box;
  display: inline-block;
  padding: 0.5em 1.2em;
  font-size: 12px;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
}

.header-logout {
  color: #999;
}

.header-post {
  font-weight: bold;
  color: #fff;
  background: #00b5ad;
  border: 1px #00b5ad solid;
  border-radius: 3px;
}

@media screen and (max-width: 480px) {
  .header-post {
    display: none;
  }
}



/*******************************************************************
チェックボックス
*******************************************************************/
.checkbox-1 {
    display: flex;
    flex-wrap: wrap;
    gap: .5em 2em;
    border: none;
}

.checkbox-1 label {
    display: flex;
    align-items: center;
    gap: 0 .5em;
    position: relative;
    cursor: pointer;
}

.checkbox-1 label::before,
.checkbox-1 label:has(:checked)::after {
    content: '';
}

.checkbox-1 label::before {
    width: 17px;
    height: 17px;
    border-radius: 3px;
    background-color: #e6edf3;
}

.checkbox-1 label:has(:checked)::before {
    background-color: #2589d0;
}

.checkbox-1 label:has(:checked)::after {
    position: absolute;
    top: 6px;
    left: 6px;
    transform: rotate(45deg);
    width: 4px;
    height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
}

.checkbox-1 input {
    display: none;
}


/*******************************************************************
吹き出し（コピーしました、など）
*******************************************************************/
.arrow_box {
  display: none;
  position: absolute;
  padding: 16px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  background: #99FFCC;
  color: #000;
}

.arrow_box:after {
  position: absolute;
  bottom: 100%;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -10px;
  border: solid transparent;
  border-color: rgba(51, 51, 51, 0);
  border-bottom-color: #99FFCC;
  border-width: 10px;
  pointer-events: none;
  content: " ";
}

