@charset "UTF-8";

 /* 共通 */
body {
  font-family: "メイリオ", "Meiryo", 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', 'MS P Gothic', 'Osaka', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #394855;
  background: #f8f8f8;
}
header	{
	padding-top: 10px;
	background: #fff;
	height: 96px;
}
.header__inner	{
	width: 1024px;
	margin :0 auto;
	display: flex;
	position: relative;
}
.header__number	{
	width: 250px;
	padding: 12px 10px 0 50px;
}
.header__name	{
	width: 320px;
	padding: 12px 0 0 30px;
}
.header__login-btn	{
	position: absolute;
	top: 10px;
	right: 0px;
}
.wrapper	{
	padding-bottom: 50px;
}
.container	{
	width: 1024px;
	margin :0 auto;
}
.title	{
	font-size: 25px;
	font-weight: normal;
}
.title-ber	{
	border: solid 2px #f9729f;
	margin-top: 5px;
	margin-bottom: 20px;
}
h2	{
	padding: 0 1% 0%;
}
p {
	font-size: 14px;
	line-height: 1.5;
	color: #394855;
	padding: 0 1% 0%;
}
.txt-ind	{
	margin-left: 14px;
	text-indent: -14px;
	text-align: justify;
}
.txt-li	{
	margin-left: 30px;
}
.txt-large	{
	font-size: 16px;
	line-height: 1.5;

}
footer	{
	background: #9ca3aa;
	text-align: center;
	padding: 10px;
	color: #fff;
}
.important {
	display: inline-block;
	vertical-align: top;
	height: 38px;
	line-height: 38px;
	margin-left: 3px;
	padding: 0 8px;
	text-align: center;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: bold;
	background-color: #007bff;
}
.recommend {
	position: absolute;
	top: -38px;
	left: -20px;
	margin: 0 auto;
	width: 120px;
	padding: 6px 0;
	line-height: 1.2;
	text-align: center;
	border-radius: 50%;
	font-size: 12px;
	font-weight: bold;
	border: 2px solid #484848;
	background-color: #E3E3E3;
}
.bs-dash-dot-line {
	background-image:
			repeating-linear-gradient(90deg, #4D5AA8, #4D5AA8 8px, transparent 8px, transparent 10px, #4D5AA8 10px, #4D5AA8 12px, transparent 12px, transparent 14px),
			repeating-linear-gradient(180deg, #4D5AA8, #4D5AA8 8px, transparent 8px, transparent 10px, #4D5AA8 10px, #4D5AA8 12px, transparent 12px, transparent 14px),
			repeating-linear-gradient(90deg, #4D5AA8, #4D5AA8 8px, transparent 8px, transparent 10px, #4D5AA8 10px, #4D5AA8 12px, transparent 12px, transparent 14px),
			repeating-linear-gradient(180deg, #4D5AA8, #4D5AA8 8px, transparent 8px, transparent 10px, #4D5AA8 10px, #4D5AA8 12px, transparent 12px, transparent 14px);
	background-position: left top, right top, left bottom, left top;
	background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
	background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
}





/* ログイン画面 */
.login-area	{
	margin: 0 auto;
	width: 462px;
	padding-top: 30px
}
.login-area__box	{
	background: #fff;
	box-shadow: 3px 3px 3px rgba(0,0,0,0.2);
	margin-bottom: 30px;
}
.login-area__box__inner	{
	padding: 25px;
}
.login-area__box h2	{
	background: #f9729f;
	text-align: center;
	color: #fff;
	font-size: 18px;
	padding: 10px 5px 7px 5px;
}



/* メニュー画面 */
.disable-area	{
	pointer-events: none;
	opacity: 0.3;
}
.flex-area	{
	display: flex;
}
.flex-area.ct2025	{
	justify-content: space-between;
}
.flex-area.ct2025 img	{
	margin-bottom: 0;
}
.col-4	{
	width: 23%;
	margin: 0 1% 0 1%;
}
.ct2025 .col-4	{
	width: 240px;
	margin: 0 !important;
}
.topbtn-area	{
	background: #fff;
	border-radius: 5px;
	box-shadow: 3px 3px 3px rgba(0,0,0,0.2);
}
.topbtn-area__inner	{
	padding: 20px 15px 25px 15px;
}
.ct2025 .topbtn-area__inner	{
	padding: 8px 15px;
}
.topbtn-area__inner p	{
	text-align: justify!important;
	margin-bottom: 15px;
}
.topbtn-area__title	{
	font-size: 20px;
	color: #f9729f;
	display: inline-flex;
    vertical-align: middle;
}
.topbtn-area__title h3	{
	padding: 10px 0 0 10px;
}
.topbtn-area > a 	{
	text-decoration: none;
}
.topbtn-area > a:hover	{
	text-decoration: none;
}
.topbtn-area__ber	{
	margin: 15px 0 20px 0;
	border: #cccccc solid 1px;
}
.ct2025 .topbtn-area__ber	{
	margin: 7px 0 13px 0;
}
.topbtn-area__subtitle	{
	font-size: 18px;
	color: #394855;
	text-align: center;
}
.ct2025 .topbtn-area__subtitle	{
	font-size: 14px;
}
.topinfo-area	{
	border: solid 1px red;
	padding:  15px;
}
.topinfo-area h4	{
	font-size: 16px;
	font-weight: normal;
	color: red;
	text-align: center;
	padding-bottom: 5px;
}


/* 入力画面 */
table {
	margin-top: 20px;
	margin-bottom: 20px;
	width: 100%;
   /* border-collapse: collapse; */
}
tbody {
    display: table-row-group;
    vertical-align: middle;
    border-color: inherit;
}
tr {
    display: table-row;
    vertical-align: inherit;
    border-color: inherit;
}
.table td, .table th {
    padding: .5rem;
	display: table-cell;
}
.table__th	{
	width: 17%;
	text-align: center;
	color: #fff;
	background: #616d77;
	border-top: solid 2px #f8f8f8;
	border-bottom: solid 2px #f8f8f8;
}
.any	{
	color: #c5e5fc;
}
.check-area	{
	margin-top: 20px;
	padding: 10px 0 10px 0;
	background: #ffffcc;
	border-bottom: solid 2px #c0272d;
}

.subtitle_ber	{
	position: relative;
	height: 40px;
	padding: 7px 5px 5px 15px;
	line-height: 1.8;
}
.hosyou	{
	background: #fee3ec;
	margin-top: 20px;
	margin-bottom: 20px;
}
.confirm	{
	background: #cceeea;
	margin-top: 30px;
	margin-bottom: 20px;
}
.confirm__hoken-start	{
	background: #c0272d;
	color: #fff;
	padding: 2px 10px 0px 10px;
	margin-left: 25px;
	margin-right: 15px;
}
.confirm__hoken-data	{
	color: #c0272d;
}
.hosyou h3	{
	font-size: 20px;
	font-weight: normal!important;
}
.color_main	{
	color: #f9729f;
}
.color_sub	{
	color: #01aa97;
}
.plink-btn	{
	position: absolute;
	top: 0;
	right: 0px;
	background: #f9729f;
	height: 40px;
	font-size: 16px;
	padding: 8px 10px 10px 20px;
}
.plink-btn:not(:first-child)::after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 20px solid transparent;
    border-right: 0;
    border-bottom: 20px solid transparent;
    border-left: 10px solid #fee3ec;
}
.plink-btn a	{
	color: #fff;
	text-decoration: none;
}
.plink-btn:hover	{
	opacity: 0.5;
}
.table-p {
	border-collapse: collapse;
	width: 50%;
}

.table-p__th	{
	width: 17%;
	text-align: center;
	color: #fff;
	background: #ff921e;
	border: solid 2px #ff921e;
	font-size: 16px;
}
.table-p__td	{
	width: 33%;
	background: #fff;
	border: solid 2px #ff921e;
	font-size: 18px;
	font-weight: bold;
}
.checkbox-area	{
	padding-left: 0rem!important;
	line-height: 2.5;	
}
hr.dot	{
	border-top: 1px dashed #bbb;
}
.linkbtn-area	{
	display: flex;
}


/* 確認画面 */

.table__confirm	{
	width: 500px;
	border-collapse:  collapse;
	margin-bottom: 0px;
}
.table__confirm th , .table__confirm td	{
	border: solid 1px;
}
.table__confirm th	{
	width: 150px;
	background: #e1e4e5;
}
.table__confirm td	{
	padding-left: 15px;
	padding-right: 15px;
	background: #fff;
	max-height: auto;
	height: 38px;
}
 th.table__confirm-p	{
	background: #ffefdd;
}

h4.hoken-title_confirm {
position: relative;
padding: 0.3em 0.5em 0.3em 0.5em;
border-left: 5px solid #616d77;
font-size: 16px;
}
h4.hoken-title_confirm:after {
position: absolute;
left: 0;
bottom: 0;
content: '';
width: 100%;
height: 0;
border-bottom: 2px solid #616d77;
}

.flex__confirm	{
	display: flex;
}
.col2__confirm	{
	width: 500px;
	margin-right: 25px;
    display: table;
}
.col2__confirm:nth-child(even)	{
	margin-right: 0px;
}

.check-area__confirm	{
	width: 500px;
	background: #ffffcc;
	padding: 6px 0 5px 10px;
	font-size: 18px;
}
.check-area__confirm p	{
	display: inline-block;
	font-size: 18px;
	color: #f9729f;
	font-weight: bold;
}


.pt-area	{
	margin: 0 auto;
	width: 850px;
	padding: 50px;
	background: #fff;
}


/* ボタン用CSS */
.btn {
    display: inline-block;
    font-weight: 400;
    color: #212529;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: .5rem 1rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: .25rem;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.ct2025 .btn {
	padding: 4px 1rem;
}
.btn:hover {
    color: #212529;
    text-decoration: none;
}
[type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled), button:not(:disabled) {
    cursor: pointer;
}
.btn-100	{
	width: 100%;
}

/* 重要事項ボタン */
.toppage-link {
	width: 100%;
    position: relative;
    display: block;
    padding: .5rem .75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #007bff;
    border: 2px solid #01aa97;
}
.text-green {
    color: #01aa97!important;
    font-size: 16px;
}
.toppage-link:hover {
    z-index: 2;
    color: #fff!important;
    text-decoration: none;
    background-color: #01aa97;
    border-color: #01aa97;
}

/* 戻るボタン */
.page-link {
    position: relative;
    display: block;
    padding: .5rem 1rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #007bff;
    background-color: #fff;
    border: 1px solid #dee2e6;
}
.d-inline-block {
    display: inline-block!important;
}
.text-dark {
    color: #343a40!important;
}
.page-link:hover {
    z-index: 2;
    color: #0056b3;
    text-decoration: none;
    background-color: #e9ecef;
    border-color: #dee2e6;
}

/* 入力画面ボタン */
.btn-move {
    color: #fff;
    background-color: #01aa97;
    border-color: #01aa97;
}
.btn-move:hover {
    color: #fff;
    background-color: #05937e;
    border-color: #05937e;
}

/* ダウンロードボタン */
.btn-dl {
    color: #fff;
    background-color: #7ac843;
    border-color: #7ac843;
}
.btn-dl:hover {
    color: #fff;
    background-color: #5bb713;
    border-color: #5bb713;
}

/* 青ボタン */
.btn-primary {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff;
}
.btn-primary:hover {
    color: #fff;
    background-color: #0069d9;
    border-color: #0062cc;
}

/* 緑ボタン */
.btn-success {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745;
}
.btn-success:hover {
    color: #fff;
    background-color: #218838;
    border-color: #1e7e34;
}

/* 濃紺ボタン */
.btn-darkblue	{
    color: #fff;
    background-color: #005293;
    border-color: #005293;
}
.btn-darkblue:hover {
    color: #fff;
    background-color: #07426b;
    border-color: #07426b;
}

/* 確認画面ボタン */
.btn-send {
    color: #fff;
    background-color: #c0272d;
    border-color: #c0272d;
    padding : 8px 40px;
}
.btn-send:hover {
    color: #fff;
    background-color: #a8131e;
    border-color: #a8131e;
}

::placeholder {
  color: #999;
}



/* フォーム */
.form-control {
    display: block;
    width: 100%;
    height: calc(2.25rem + 2px);
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
input {
    -webkit-writing-mode: horizontal-tb !important;
    text-rendering: auto;
    color: initial;
    letter-spacing: normal;
    word-spacing: normal;
    text-transform: none;
    text-indent: 0px;
    text-shadow: none;
    display: inline-block;
    text-align: start;
 /*   -webkit-appearance: textfield; */
    background-color: white;
    -webkit-rtl-ordering: logical;
    cursor: text;
    margin: 0em;
    font: 400 11px system-ui;
    padding: 1px;
    border-width: 2px;
    border-style: inset;
    border-color: initial;
    border-image: initial;
}
button, input {
    overflow: visible;
}
.form-check-inline {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 0;
    margin-right: .75rem;
}
.form-check-inline .form-check-input {
    position: static;
    margin-top: 0;
    margin-right: .3rem;
    margin-left: 0;
    vertical-align: 0.1em;
}
.form-check {
    position: relative;
    /*padding-left: 1.25rem;*/
    margin-left: 1.25rem;
}
.ct2025 .form-check {
	width: 122px;
	margin-left: 10px;
}
.ct2025 .form-check.other {
	width: auto;
}

.form-check-label {
	font-size: 16px;
	font-weight: bold;
   /* margin-bottom: -3px;*/
}
label {
    display: inline-block;
   /* margin-bottom: .5rem;*/
}




/* フェードイン*/
.fade-img	{
  animation-name:fade-in1;
  animation-duration:3s; //アニメーション時間
  animation-timing-function: ease-out; //アニメーションさせるイージング
  animation-delay:1s; //アニメーション開始させる時間
  animation-iteration-count:1; //繰り返し回数
  animation-direction:normal; //往復処理をするかどうか
  animation-fill-mode: forwards; //アニメーション後のスタイルをどうするか
}
@keyframes fade-in1 {
  0% {opacity: 0}
  100% {opacity: 1}
}


/* ステップ*/
.stepbar-area	{
	margin-top: 30px;
}
.stepbar {
	display: flex;
	width: 900px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}
.stepbar__item {
	box-sizing: border-box;
	position: relative;
	width: calc((100% - 30px) / 4); /* 余白分を考慮に入れて幅を設定 */
	height: 40px;
	margin: 0 5px;
	padding: 1px; /* 枠線の太さ分の padding を設定 */
	background: #f9729f;
}
/* 重なり順を設定 */
.stepbar__item:nth-child(1) {
	z-index: 10;
}
.stepbar__item:nth-child(2) {
	z-index: 9;
}
.stepbar__item:nth-child(3) {
	z-index: 8;
}
.stepbar__item:nth-child(4) {
	z-index: 7;
}
.stepbar__item:nth-child(5) {
	z-index: 6;
}
.stepbar__item:nth-child(6) {
	z-index: 5;
}
.stepbar__item:nth-child(7) {
	z-index: 4;
}
.stepbar__item:nth-child(8) {
	z-index: 3;
}
.stepbar__item:nth-child(9) {
	z-index: 2;
}
.stepbar__item:nth-child(10) {
	z-index: 1;
}

/* 最初と最後はそれぞれ片方ずつの余白が無いので 0 にする */
.stepbar__item:first-child {
	margin-left: 0;
}

.stepbar__item:last-child {
	margin-right: 0;
}

/*
	左側の矢印を作成。first-childは除外。
	before は枠線になる塗りの三角形を作成。
	1px の枠線なので、left: 1px; で横に 1px ずらす。
 */
.stepbar__item:not(:first-child)::before {
	position: absolute;
	content: "";
	top: 0;
	left: 1px;
	width: 0;
	height: 0;
	border-top: 20px solid transparent;
	border-right: 0;
	border-bottom: 20px solid transparent;
	border-left: 10px solid #f9729f;
}

/*
	after は塗りを線にするために背景色の三角形を重ねる。
	サイズは同じで、left: 0; にすることで 1px の線ができる。
*/
.stepbar__item:not(:first-child)::after {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border-top: 20px solid transparent;
	border-right: 0;
	border-bottom: 20px solid transparent;
	border-left: 10px solid #f8f8f8;
}

/*
	padding: 1px; の中にある div を背景色で塗りつぶすことで枠線ができる。
	中のテキストを上下左右中央揃えにするために display: flex; を設定。
*/
.stepbar__item-inner {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: #ffffff;
	font-size: 11px;
	font-weight: bold;
	color: #f9729f;
	padding-left: 5px;
}

/* 現在位置の表示は背景色を無くす */
.stepbar__item-inner--current {
	background: transparent;
	color: #ffffff;
}

/* 左側の矢印と同じ要領で、右矢印を .stepbar__item-inner に設定。 */
.stepbar__item:not(:last-child) .stepbar__item-inner::before {
	position: absolute;
	content: "";
	top: 0;
	left: 100%;
	width: 0;
	height: 0;
	border-top: 20px solid transparent;
	border-right: 0;
	border-bottom: 20px solid transparent;
	border-left: 10px solid #f9729f;
}

.stepbar__item:not(:last-child) .stepbar__item-inner::after {
	position: absolute;
	content: "";
	top: 0;
	left: calc(100% - 1px);
	width: 0;
	height: 0;
	border-top: 20px solid transparent;
	border-right: 0;
	border-bottom: 20px solid transparent;
	border-left: 10px solid #ffffff;
}

/* 現在位置の矢印の背景色は非表示にする */
.stepbar__item:not(:last-child) .stepbar__item-inner--current::after {
	display: none;
}


/* 2025/12/16 追加 */
/* 手続き完了のお申し込み（アコーディオン） */
.accordion {
	width: 588px;
	margin-left: auto;
	margin-right: auto;
	border: solid 2px #0067c0;
	border-radius: 5px;
}
.accordion-btn {
	position: relative;
	width: 100%;
	height: 73px;
	background-color: #0067c0;
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
}
.accordion-btn::before {
	content: "";
	position: absolute;
	display: block;
	width: 69px;
	height: 64px;
	top: 5px;
	left: 50px;
	background: url('../../common/img/top-ill.png') no-repeat center/contain;
}
.accordion-btn::after {
	content: "";
	position: absolute;
	display: block;
	width: 16px;
	height: 16px;
	border-top: solid 1px #FFF;
	border-right: solid 1px #FFF;
	right: 34px;
	top: calc(50% - 4px);
	rotate: 135deg;
	transform-origin: 12px 4px;
	transition: rotate .3s;
}
.accordion-btn.open::after {
	rotate: -45deg;
}
.accordion-btn__title {
	font-size: 24px;
	font-weight: 600;
	color: #FFF;
}
.accordion-content {
	display: none;
}
.accordion-link {
	align-items: center;
	margin: 16px auto;
	width: 543px;
	height: 40px;
	font-size: 22px;
	border: solid 2px #889199;
	border-radius: 5px;
	text-decoration: none;
	transition: background .15s;
}
.accordion-link_label {
	margin-left: 7px;
	width: 47px;
	height: 24px;
	font-size: 14px;
	line-height: 24px;
	font-weight: 600;
	text-align: justify;
	text-align-last: justify;
	color: #FFF;
	background-color: #0067c0;
	border-radius: 3px;
	border: solid 1px #FFF;
}
.accordion-link_name,
.accordion-link_date {
	font-size: 16px;
	line-height: 24px;
	color: #394855;
	transition: color .15s;
}
.accordion-link:hover {
	background-color: #0067c0;
}
.accordion-link:hover .accordion-link_name,
.accordion-link:hover .accordion-link_date {
	color: #FFF;
}


