*{
	list-style-type:none;
	text-decoration:none;
	line-height:160%;
}

.blk{
	color:#000 !important;
}
.red{
	color:#ff0000;
}
.f12{
	font-size:12px;
}
.f14{
	font-size:14px;
}
.f16{
	font-size:16px;
}
.f18{
	font-size:18px;
}
.f20{
	font-size:20px;
}
.f22{
	font-size:22px;
}
.f24{
	font-size:24px;
}
.bold{
	font-weight:900;
}
.clear{
	clear:both;
}
.m_10{
	margin-top:10px;
}
.m_20{
	margin-top:20px;
}
.m_40{
	margin-top:40px;
}
.mb_10{
	margin-bottom:10px;
}
.mb_20{
	margin-bottom:20px !important;
}
.mb_25{
	margin-bottom:25px !important;
}
.mb_30{
	margin-bottom:30px !important;
}
.mb_40{
	margin-bottom:40px !important;
}
.btn_grey{
	background-color:#cdcdcd !important;
}
.brd_btm{
	padding-bottom:10px;
	border-bottom:1px solid #e1e1e1;
}
.center{
	text-align:center;
}
.t_right{
	text-align:right;
}
.obi{
	padding: 5px 20px;
    	background-color: #fffdfb;
}
.brd{
	margin-bottom:10px;
	border-bottom:1px solid #dfdfdf;
}

input{
	font-size:14px;
}

/* 検索BOX */
.search-form-3 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    overflow: hidden;
    border: 1px solid #777777;
    border-radius: 25px;
}

.search-form-3 input {
    width: 250px;
    height: 45px;
    padding: 5px 15px;
    border: none;
    box-sizing: border-box;
    font-size: 1em;
    outline: none;
}

.search-form-3 input::placeholder{
    color: #777777;
}

.search-form-3 button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 45px;
    border: none;
    background-color: #fff;
    cursor: pointer;
}

.search-form-3 button::after {
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z' fill='%23777777'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    content: '';
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

.p-header {
  	width: 100%;
  	height: 50px;
 	position: fixed;
  	top: 0;
  	left: 0;
  	right: 0;
  	z-index: 999;
  	background: #006605;
}

.p-header__inner {
  	padding: 0 20px;
	box-sizing:border-box;
  	display: flex;
  	align-items: center;
  	justify-content: space-between;
  	height: inherit;
  	position: relative;
}

.p-header__title {
  	z-index: 997;
}

.p-header__title a {
  	text-decoration: none;
  	color: #FFFFFF;
}

.p-header__nav {
  	position: absolute;
  	right: 0;
  	top: 0;
  	width: 75%;
  	height: 100vh;
  	transform: translateX(100%);
  	background-color: #fff;
  	transition: ease .4s;
  	z-index: 999;
}

.p-header__nav-items {
  	padding-top: 20px;
}

.p-header__nav-item {
	width:70%;
  	margin-right: auto;
  	margin-left: auto;
  	text-align: left;
}

.p-header__nav-item a {
  	color: #6e6e6e;
  	display: inline-block;
  	text-align: center;
  	margin-bottom: 24px;
  	font-weight: bold;
  	font-size: 16px;
  	text-decoration: none;
}

.p-header__nav-item:last-child a {
  	margin-bottom: 0;
}

.p-header__hamburger {
  	width: 24px;
}

.hamburger {
  	background-color: transparent;
  	border-color: transparent;
  	z-index: 9999;
  	cursor: pointer;
}

.hamburger span {
  	width: 24px;
  	height: 1px;
  	background-color: #6e6e6e;
  	position: relative;
  	transition: ease .4s;
  	display: block;
}

.hamburger span:nth-child(1) {
  	top: 0;
}

.hamburger span:nth-child(2) {
  	margin: 8px 0;
}


.hamburger span:nth-child(3) {
  	top: 0;
}

.p-header__nav.active {
  	transform: translateX(0);
}

.hamburger.active span:nth-child(1) {
  	top: 5px;
  	transform: rotate(45deg);
}


.hamburger.active span:nth-child(2) {
  	opacity: 0;
}


.hamburger.active span:nth-child(3) {
  	top: -13px;
  	transform: rotate(-45deg);
}

.p-header__nav-box-mask.active {
  	position: fixed;
  	width: 100%;
  	height: 100%;
  	z-index: 998;
  	background: rgba(255,255,2550,0.55);
  	transition: ease .4s;
}

.titlename{
    display: flex;
	align-items:center;
    justify-content: space-between;
	margin-bottom: 10px;
}

.ribbon{
	padding:10px 20px;
	color:#fff;
	background-color:#63615f;
}
.inputBox{
	margin:20px 0;
}

.selectbox-3 {
	width:100%;
    	display: inline-flex;
    	align-items: center;
    	position: relative;
}

.selectbox-3::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: #535353;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}

.selectbox-3 select {
    appearance: none;
    width: 100%;
    height: 2.8em;
    padding: .4em calc(.8em + 30px) .4em .8em;
    border: 1px solid #d0d0d0;
    border-radius: 3px;
    background-color: #fff;
    color: #333333;
    font-size: 1em;
    cursor: pointer;
}

header{
	margin-bottom:50px;
}


body{font:13px/1.231 "メイリオ","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック", sans-serif;font-size:13px;font:x-small;}/*select,input,*/button,textarea,button{font:99% "メイリオ","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック",sans-serif;}table{font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;}

/*
body{
  	font-family:"Helvetica Neue",Arial, "Hiragino Kaku Gothic ProN","Hiragino Sans","游ゴシック", YuGothic,  Meiryo,sans-serif;
	background-color:#fffdfb;
}
*/

h1 a img{
	width:85px;
}
.sec{
	max-width:768px;
	margin:0 auto 160px;
}
section.m_50{
	margin:80px auto 0;
}
section.bg{
	background-color:#f2f2f2;
}
.innerBox{
	background-color:#fff;
}
section.m_50,
.innerBox{
	padding:10px;
	box-sizing:border-box;
	border:1px solid #dfdfdf;
	border-radius:5px;
}
.innerBox{
	background-color:#fff;
}
.innerBox img.attention{
	width:45px;
	display:block;
	text-align:center;
	margin:0 auto 20px;
}
.innerBox p.attention{
	text-align:center;
}
.Copyright{
	font-size:12px;
}
.innerBox a.btn{
	width:60%;
	color:#fff;
	display:block;
	text-align:center;
	padding:20px;
	box-sizing:border-box;
	margin:40px auto;
	background-color:#877456;
	border-radius:50px;
	font-size:20px;
}

a{
	color:#fff;
}
.formBox{
	margin:40px auto;
}
#reply .formBox{
	margin:0 auto;
}
.formBox:nth-child(1){
	margin-bottom:20px;
}
.formBox:nth-child(2){
	margin-bottom:20px;
}
.formBox input.form{
	width:100% !important;
	height:50px;
	font-size:16px;
	padding:5px 10px;
	box-sizing:border-box;
	border:1px solid #d1d1d1;
	border-radius:5px;
	box-shadow: inset 0 1px 1px 1px rgba(0,0,0,.2);
}
.btn input{
  	font-family:"Helvetica Neue",Arial, "Hiragino Kaku Gothic ProN","Hiragino Sans","游ゴシック", YuGothic,  Meiryo,sans-serif;
	width:60%;
	color:#fff;
	display:block;
	text-align:center;
	padding:20px;
	box-sizing:border-box;
	margin:40px auto;
	background-color:#877456;
	border-radius:50px;
	font-size:24px;
	cursor:pointer;
	border:none;
}
textarea{
	width:100%;
	padding:10px;
	box-sizing:border-box;
	border: 1px solid #d1d1d1;
    	border-radius: 5px;
    	box-shadow: inset 0 1px 1px 1px rgba(0, 0, 0, .2);
}


.innerBox > p{
	margin-bottom:20px;
}
.statussec{
	font-size:10px;
	display:flex;
	justify-content: space-between;/* 幅いっぱい */
	row-gap: 10px;/* 行の隙間 */
	text-align:center;
}
#mypage .statussec{
	margin-bottom:20px;
}
.statussec a{
	cursor:pointer;
}
.statusbox{
	width:100%;
	color:#565656;
	padding:10px 20px;
	margin:0 5px;
	box-sizing:border-box;
	background-color:#fffdfb;
}
.statusbox.newmessage{
	margin:0 5px;
	position:relative;
	line-height:140%;
}
.statusbox.newmessage span{
	width: 15px;
	height:15px;
	display:inline-block;
	position:absolute;
	top:-5px;
	right:0;
	color:#fff;
	border-radius:100%;
	background-color:#ff0000;
}
.statusbox.status span{
	position:relative;
}
.statusbox.status img{
    	width: 20px;
    	position: absolute;
    	top: -3px;
    	left: -24px;
}

.infomation li{
	margin-bottom:10px;
	border-bottom:1px dashed #e1e1e1;
}
.infomation li a{
	color:#565656;
}
a.all{
	font-size:14px;
    	color: #fff;
    	display: block;
    	text-align: center;
    	padding:10px 30px;
    	box-sizing: border-box;
    	background-color: #ac0000;
    	border-radius: 50px;
	float:right;
}
#mypage a.all{
	float:none;
}
a.all:after, a.all:before {
	content: "";
	clear: both;
	display: block;
}

.titleicon{
	width:30px;
}


/* slick スライダー */
/* dotsを丸くカスタマイズするCSS */
.dots-wrap {
    display: flex;
    justify-content: center;
	margin-top:20px;
}

.dots-wrap li {
   	width: 10px;
   	height: 10px;
   	margin: 0 5px;
   	background: #dfdfdf;
   	border-radius: 50%;
	cursor: pointer;
}

.dots-wrap li:hover,
.dots-wrap li.slick-active {
   	background: coral;
}
.dots-wrap li button {
   	display: none;
   	-webkit-appearance: none;
   	-moz-appearance: none;
   	appearance: none;
   	outline: none;
   	padding: 0;
	margin:0;
   	border: none;
   	background-color: transparent;
}
.slider{
   	flex: 1 0 0px;
   	max-width: 100%;
}
.slide_overlap {
    position: absolute;
    top: -100px;
    bottom: 0;
    right: 0;
    left: 0;
    /* height: 240px !important; */
    filter: blur(10px);
}
.slide_bg{
	position:relative;
	height: 400px !important;
	overflow: hidden;
	-ms-filter: blur(7px);
	z-index:-999px;
}
.slide_img{
	width:300px !important;
	position:absolute;
  	top: 0;
  	right: 0;
  	bottom: 0;
  	left: 0;
  	margin: auto;
  	filter: blur(0);
	z-index: 1;
}
.slider .profBox{
	font-size:12px;
	padding:10px;
	margin:10px;
	color:#565656;
	position:absolute;
	bottom:0;
	left:0;
	z-index:999;
	border-radius:3px;
	background-color:rgba(255,255,255,0.7);
}
.slider01 .profBox{
	font-size:12px;
	color:#565656;
	padding:10px;
	line-height:180%;
	background-color:#fff;
}
.slider01 li{
	margin:0 5px;
	border:1px solid #dfdfdf;
}
.dots-wrap li{
	margin:0 5px;
	border:none !important;
}
.tag{
	font-size:12px;
	color:#fff;
	padding:1px 3px;
	box-sizing:border-box;
	margin-top:5px;
	border-radius:3px;
	background-color:#877456;
}
.narrow_down,
form.narrow_down{
	display:flex;
	justify-content: center;
	align-items: center;
}
#mypage .narrow_down{
	margin:10px 0;
}

.ndbtn{
	font-size:14px;
	color:#fff;
	padding:11px 50px;
	margin:0 10px;
	border-radius:50px;
	border:none;
	background-color: #ac0000;
	cursor:pointer;
}
#mypage .ndbtn{
	padding:11px 42px;
}
.ndbtn.ndbtnBig {
    	padding: 11px 50px;
}

h4{
	display: flex;
   	justify-content: center;
   	align-items: center;
	gap:10px;
	font-size:24px;
	color:#fff;
	text-align:center;
	padding:10px 20px;
	box-sizing:border-box;
	border-radius:5px 5px 0 0;
	background-color:#877456;
}
.Container{
	margin:20px 0 0 0;
}

.rankBox{
	position:relative;
}
.rankicon{
	width:auto !important;
	position:absolute;
	top:0;
	left:0;
}
.tagBox li{
	display:inline-flex;
}

/* チェックボックス全体 */
.checkbox {
  	width: fit-content;
  	display: flex;
  	grid-template-columns: auto 1fr; /* auto はアイコン、1fr はラベル文字列を想定 */
  	padding: 8px;
  	font-size: 12px;
  	font-weight: normal;
  	line-height: 120%;
  	color: #404040;
	cursor:pointer;
}

.selectBox{
	display:flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom:20px;
}

/* アイコン */
.checkbox_icon {
	width: 7%;
}

.select {
  	display: inline-block;
  	position: relative;
  	border: 1px solid #eee;
  	vertical-align: middle;
	cursor:pointer;
}
.select select {
  	appearance: none;
  	width: 300px;
  	padding: 11px 15px;
  	padding-right: 1em;
  	border: none;
  	outline: 0;
  	background: #fff;
  	background-image: none;
 	box-shadow: none;
  	text-indent: 0.01px;
  	text-overflow: ellipsis;
  	cursor: pointer;
}
.select::before {
  	position: absolute;
  	top: 18px;
  	right: 16px;
  	width: 0;
  	height: 0;
  	border-width: 10px 5px 0 5px;
  	border-style: solid;
  	border-color: #eee transparent transparent transparent;
  	content: "";
  	pointer-events: none;
}

.labeltitle{
	font-weight:bold;
	margin-right:10px;
}

#index,
#login,
#privacy,
#exp,
#mypage,
#mypageEdit,
#results,
#mailvisit{
	width:768px;
	padding-bottom: 100px;
	margin:0 auto;
}

#results .profBox{
	font-size:12px;
	padding:10px;
/*
	margin: -10px 10px 10px 10px;
*/
	margin: -10px 0 0 0;
	color:#565656;
	line-height:180%;
}
#results ul.flex2{
    	display: -webkit-flex;
    	display: flex;
	flex-wrap: wrap;
    	-webkit-justify-content: flex-start;
    	justify-content: flex-start;
	gap:10px;
	margin-bottom:20px;
}
#results ul li.detail{
	width:49%;
	border: 1px solid #dfdfdf;
}
#results .innerBox img{
	width:100%;
}

/* アコーディオン */
.accordion {
  	margin-inline: auto;
  	position: relative;
  	width: 100%;
}
.accordion-title {
  	color: #fff;
  	cursor: pointer;
  	font-size: 16px;
	font-weight:normal;
  	padding: 10px 20px;
}
.accordion-content {
  	display: none;
  	padding: 10px 0;
}
#mypage .accordion-content p {
  	font-size: 16px;
  	line-height: 1.5;
}
.accordion-content p {
  	font-size: 13px;
  	line-height: 1.5;
}
.accordion-item{
	margin:10px 0 0 0;
}
/* タイトルの背景色 */
.accordion-item:nth-of-type(1) .accordion-title {
    	width: 22%;
    	margin: 0 auto 20px;
	text-align:center;
	border-radius:30px;
  	background-color: #ac0000;
}
.accordion-item:nth-of-type(2) .accordion-title {
  	background-color: #66cdaa;
}
.accordion-item:nth-of-type(3) .accordion-title {
  	background-color: #ff7f7f;
}
/* コンテンツボックスの枠線 */
.accordion-item:nth-of-type(2) .accordion-content {
  	border-bottom: 2px solid #66cdaa;
  	border-left: 2px solid #66cdaa;
  	border-right: 2px solid #66cdaa;
}
.accordion-item:nth-of-type(3) .accordion-content {
  	border-bottom: 2px solid #ff7f7f;
  	border-left: 2px solid #ff7f7f;
  	border-right: 2px solid #ff7f7f;
}
/* 矢印 */
.accordion-title {
  	position: relative;
}
.accordion-title::after {
  	border-right: solid 2px #fff;
  	border-top: solid 2px #fff;
  	content: "";
  	display: block;
  	height: 8px;
  	position: absolute;
  	right: 20px;
  	top: 38%;
  	transform: rotate(135deg);
  	transition: transform .3s ease-in-out, top .3s ease-in-out;
  	width: 8px;
}
.accordion-title.open::after {
  	top: 45%;
  	transform: rotate(-45deg);
}
#mypage .accordion-title::after {
    	position: absolute;
    	right: 20px;
}

/* メッセージBOX */
.messageBox{
	padding: 10px;
	margin-bottom:10px;
    	box-sizing: border-box;
    	border: 1px solid #dfdfdf;
    	border-radius: 5px;
}
.messageBox > *:first-child{
	margin-bottom:10px;
	border-bottom:1px solid #dfdfdf;
}
.messageBox.midoku > *:first-child{
	border-bottom:none;
}

/* マイページ */
.statusContainer{
	font-size:14px;
	color:#fff;
	padding:20px;
	margin-bottom:20px;
	border-radius:5px;
	background-color:#00C2F5;
}
.statusBox{
	display:flex;
  	align-items: center;
  	justify-content: space-between;
}
.nextgrade{
	font-size:14px;
	color:#565656;
	padding:10px 20px;
	margin-top:10px;
	text-align:center;
	border-radius:5px;
	background-color:#fff;
}
progress {
	border-radius: 15px;
	-webkit-appearance: none; /* プログレスバーのスタイルをリセット */
	-moz-appearance: none; /* プログレスバーのスタイルをリセット */
	background-color: #fff; /* プログレスバーの背景色/-moz- 用 */
}
::-webkit-progress-bar {
	border-radius: 15px;
	border-radius: 15px;
	background-color: #fff; /* プログレスバーの背景色/-webkit- 用 */
}
::-webkit-progress-value {
	border-radius: 15px;
	background-color: #ff9c00; /* プログレスバーの進捗部分色/-webkit- 用 */
}
::-moz-progress-bar {
	border-radius: 15px;
	background-color: #ff9c00; /* プログレスバーの進捗部分色/-moz- 用 */
}

.rirekiContainer{
	margin:0 0 40px 0;
}
.rirekiBox{
	display:flex;
	margin-bottom:10px;
}
.rirekiBox.settled {
    	padding: 10px 10px 5px 10px;
    	box-sizing: border-box;
	border-radius:5px;
    	background-color: #f2f2f2;
}
.rirekiImgbox img{
	width:38%;
	border:1px solid #dfdfdf;
}
.rirekiDetail{
	margin-left:-248px;
}
.rirekiDetailBox{
	display:flex;
  	align-items: center;
	margin:0 5px 5px 0;
}
.rirekiDetailBoxInner{
	padding:10px 25px;
	margin:0 10px;
	text-align:center;
	font-weight:bold;
	border-radius:5px;
	background-color:#fffdfb;
}

.replyBoxInner{
	margin-bottom:40px;
}

.logoBox{
    	display: flex;
    	-webkit-justify-content: center;
    	justify-content: center;
    	-webkit-align-items: center;
   	align-items: center;
	gap: 30px;
	margin-bottom:20px;
}
.logoBox img{

}



/* スムーススクロール */
.pagetop {
  	height: 40px;
  	width: 40px;
  	position: fixed;
  	right: 10px;
  	bottom: 80px;
  	background: #fff;
  	border: solid 2px #6e6e6e;
  	border-radius: 50%;
  	display: none;
  	justify-content: center;
  	align-items: center;
  	z-index: 2;
  	cursor: pointer;
}
.pagetop__arrow {
  	display: block;
  	height: 10px;
  	width: 10px;
  	border-top: 3px solid #6e6e6e;
  	border-right: 3px solid #6e6e6e;
  	transform: translateY(20%) rotate(-45deg);
}

/* スクロールメニュー */
.menu{
  	position: fixed;
  	left: 0;
  	bottom: 0;
  	width: 100%;
  	/* 1. メニューを画面下へ隠す */
  	transform: translateY(100%);
  	/* 2. 0.3秒かけて表示する */
  	transition: .3s;
}
.active{
  	/* 3. メニューを定位置へ戻す */
  	transform: translate(0);
}



/* footer */

footer{
  	position: fixed;
  	left: 0;
  	bottom: 0;
  	width: 100%;
	z-index:9999;
}
footer ul{
	display:flex;
  	justify-content: space-between;
/*  	justify-content: center; */
  	align-items: center;
	padding:10px;
	background-color:#877456;
}
footer ul li{
	font-size:12px;
	margin:0 30px;
	text-align:center;
}
footer ul li p{
	font-size:10px;
}


.deleteBtn{
	font-size: 12px;
	margin-right:10px;
    	opacity: 1;
    	border: none;
	padding: 5px 20px;
    	color: rgb(255, 255, 255);
    	background-color: rgb(172, 0, 0);
    	border-radius: 30px;
    	cursor: pointer;
}

input[type=checkbox] {
	width:20px;
	height:20px;
}

.deleteBtnBox{
	float:right;
}

/* 年金相談 */

div #fontChange{
	float:right;
	cursor:pointer;
	list-style:none;
}
div #fontChange li  {
	float:left;
	margin:2px;
}
div #FSZ {
	width:98%;
}

.clearing {
	clear: both;
	margin: 0;
	padding: 0;
	height: 0;
	width: 0;
}

div #nktitle{
	text-align:center;
	color: #FFF;
	font-size:24px;
}

.nkbtn{
	font-size:14px;
	color:#fff;
	padding:11px 50px;
	margin:0 10px;
	border-radius:50px;
	border:none;
	background-color: #006605;
	cursor:pointer;
}
#mypage .nkbtn{
	padding:11px 42px;
}

.nkthinbtn{
	font-size:14px;
	color:#fff;
	padding:5px 20px;
	margin:0 5px;
	border-radius:50px;
	border:none;
	background-color: #006605;
	cursor:pointer;
}
#mypage .nkthinbtn{
	padding:5px 16px;
}

.timeline-003,
.timeline-003 li::before,
.timeline-003 li::after {
	box-sizing: content-box;
}

.timeline-003 {
	display: flex;
    justify-content: center;
    list-style-type: none;
    padding: 0;
}

.timeline-003 li {
    display: flex;
    flex: 1 1;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
    color: #969da3;
    font-size: .8em;
}

.timeline-003 li.prev,
.timeline-003 li.current {
    color: #259842;
}

.timeline-003 li::before {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-bottom: 6px;
    content: '';
    border: 2px solid #d6dde3;
    border-radius: 50%;
    background-color: #fff;
}

.timeline-003 li.prev::before,
.timeline-003 li.current::before {
    border-color: #259842;
}

.timeline-003 li:not(:last-child)::after {
    position: absolute;
    top: 8px;
    left: 50%;
    z-index: -1;
    width: 100%;
    height: 2px;
    background-color: #d6dde3;
    content: '';
}

.timeline-003 li.current::before,
.timeline-003 li.prev::after {
    background-color: #259842;
}
