@charset "UTF-8";
/* CSS Document */

/* common */

body {
	animation: fadein 1s forwards;
	margin: 0;
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
}
@keyframes fadein {0% {opacity: 0}100% {opacity: 1}}
ul {
	margin: 0;
	padding: 0;
}
a {color: #337ab7}
section {
	margin-bottom: 2rem;
	text-align: justify;
}
p {
	line-height: 1.8rem;
	margin-left: 1.2rem;
	margin-right: 1.2rem;
}
.common_h2 {
	width: 100%;
	margin-left: 0.8rem;
}
.attention {color: red;}

#notification-success {
	opacity: 1;
	height: 48px;
	float: right;
	animation: fadeOut 5s ease-in-out forwards;
}

@keyframes fadeOut {
  100% {
    opacity: 0;
    overflow: hidden;
  }
}

#notification-success p {
	text-align: center;
	margin: 0;
	padding: 0.5rem 1rem;
	background-color: #fff;
	border-radius: 8px;
	border: solid thin #337ab7;
}


/* common *//* Error Message */

.Error {
	color: coral;
	font-size: 14px;
	margin-top: 4px;
	margin-left: 0;
}
.PWError {
	color: coral;
	font-size: 14px;
	margin-top: 0;
	margin-bottom: 0;
}


/* common *//* accordion */

details > summary {list-style: none;}
details[open] > summary {list-style: none;}
details[open] > .accordion-content {
	opacity: 1;
}
.accordions {color: #337ab7;}
.accordions summary {position: relative;}
.accordions p {
	position: absolute;
	font-size: 14px;
	background-color: #fff;
	white-space: nowrap;
	right: 0;
	border-radius: 4px;
	padding: 8px 8px 4px;
}
.accordion-content {
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
}
@media screen and (max-width:1024px){
	.accordions p {right: 40px;}
}

/* common *//* header */

#headWrapper {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	width: 96%;
	align-items: center;
}

header {
	width: 100vw;
	max-height: 100px;
	text-align: center;
	margin: 0 auto;
	border-bottom: solid thin #cccccc;
	box-sizing: border-box;
	position: fixed;
	top: 0;
	background-color: #ffffff;
	z-index: 1000;
}
header h1 {
	margin: 8px auto 8px 0;
}
header img {
	width: 360px;
	height: 40px;
	vertical-align: text-top;
	transition: 0.3s;
}
.fixedHead img {
	width: 270px;
	height: 30px;
}
header ul {
	display: flex;
}
header li {
	list-style: none;
	padding: 4px 0 0 16px;
	margin-left: 10px;
	font-size: 24px;
}
/* 20250319 追記start */
header .fa-lock {
	position: relative;
}
header .fa-lock::after {
	position: absolute;
	bottom: -12px;
	left: -6px;
	content: "Login";
	font-size: 12px;
	font-weight: bold;
	color: #337ab7;
	background-color: #fff;
}
header .fa-question-circle {
	position: relative;
}
header .fa-question-circle::after {
	position: absolute;
	bottom: -12px;
	left: -6px;
	content: "Guide";
	font-size: 12px;
	font-weight: bold;
	color: #337ab7;
	background-color: #fff;
}

/* 20250319 追記end */


@media screen and (max-width:767px){
	header img {
		width: 120px;
		height: auto;
	}
	.fixedHead img {
		width: 90px;
		height: 30px;
	}
}
@media screen and (max-width:1024px){
	header nav {
	margin-right: 64px;
	}
}


/*common*//*Search*//*SP*/

@media screen and (min-width:1025px){
	.search-mark {display: none;}}

#search-btn-check {display: none;}
.search-mark {z-index: 100;}
.search-btn {
    position: fixed;
    top: 8px;
    right: 160px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    transition: all 0.3s ease;
	z-index: 120;
	color: #337ab7;
}/* top:4px → 8px */

.search-btn i {font-size: 24px;}
.search-boxSP {
	display: block;
	text-align: center;
    width: 100%;
    height: 64px;
    position: fixed;
    top: 0;
    left: 100%;
    z-index: 110;
    background-color: #E8E5E6;
	opacity: 0.9;
    transition: all 0.5s;
}
.search-boxSP input[type="text"] {
    width: 240px;
    padding: 10px 20px;
	margin-top: 14px;
    border: 1px solid #ccc;
    border-radius: 25px;
    outline: none;
    transition: all 0.3s ease;	
}
.search-boxSP input[type="text"]:focus {
    border-color: #0078d4;
}
.search-boxSP button {
    border-radius: 4px;
	border: solid thin #999;
    cursor: pointer;
}
#search-btn-check:checked ~ .search-boxSP {
    left: 0;
}
@media screen and (max-width:420px){
	.search-btn {
		right: 148px;
	}
}
@media screen and (max-width:768px){
	.search-boxSP {
		top: 64px;
	}
}
	
/*common*//*Search*//*PC*/

.search-container {
	display: flex;
    justify-content: center;
    align-items: center;
	margin-left: auto;
}
.search-box {
    position: relative;
    width: 320px;
}
.search-box input[type="text"] {
    width: 240px;
    padding: 10px 40px 10px 40px;
    border: 1px solid #ccc;
    border-radius: 25px;
    outline: none;
    transition: all 0.3s ease;
}
.search-box input[type="text"]:focus {
    border-color: #0078d4;
}
.search-box button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    outline: none;
    cursor: pointer;
}
.search-box button[type="submit"] {
    left: 10px;
}
.search-box button[type="button"] {
    right: 10px;
}
.search-box button i {
    font-size: 16px;
}


/* common *//* main */

main {
	background-color: #dbe9f5;
	padding-bottom: 64px;
}
#mainContainer {
	width: 96%;
	margin: 64px auto 64px;
}
#pathArea {
	display: flex;
	justify-content: space-between;
}
#pathArea p {margin-right: 0;}
#topicPath {
	padding: 1rem 0;
}
@media screen and (min-width:1025px){
	#short {min-height: calc(100vh - 320px);}
}

/* common *//* feed area */

#feedArea {
	width: 100%;
	border: solid thin #999;
	box-sizing: border-box;
	line-height: 2;
	background-color: #fff;
	margin-top: 1rem;
	padding: 1rem 2rem;
}

#feedArea label,
#feedArea input {
	display: block;
}

#feedArea label {
	background-color: #F8F8FF;
	padding: 4px 1rem;
	color: #999;
}
#feedArea textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 1rem;
}
#feedArea input {
	background-color: #F8F8FF;
	margin-bottom: 1rem;
	border-radius: 4px;
	border: none;
	padding: 0.5rem 1rem;
}

.comment-section {
	border: solid thin #999;
	margin-bottom: 1rem;
}
.commentator {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 0 1.2rem 1rem;
}
.commentator p {
	margin: 0;
}
.commentator :last-child {
	font-size: 14px;
}
.feed-head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.sendSpace {
	display: flex;
	justify-content: flex-end;
	
}
.sendSpace p {
}

/* common *//* footer */

footer {
	width: 100vw;
}
footer nav {
	margin: 12px auto;
	width: 80%;
	max-width: 1170px;
}
footer ul {
	display: flex;
	justify-content: space-between;
	list-style: none;
}
footer li {
	background-image: url("../img/footer-list-arrows.png");
	background-repeat: no-repeat;
	background-position: left;
	padding-left: 18px;
}
footer small {
	padding: 8px 0;
}
.footer-wrapper {
	text-align: center;
	color: #ffffff;
}
.footer-wrapper a {
	color: #ffffff;
}
.footer-upper {
	background-color: #696F4F;
	color: #ffffff;
	padding: 8px 0;
	min-height: 60px;
}
.footer-upper div {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.footer-upper p {margin: 0 4px;}
.footer-upper span {
	font-size: 18px;
	padding: 2px;
	border: #ffffff solid thin;
}
.footer-lower {
	background-color: #A6AA90;
	padding: 8px 0;
}

@media screen and (max-width:1024px){
	footer ul {
		display: block;
		text-align: left;
		line-height: 2rem;
	}
}

@media screen and (max-width:420px){
	.footer-upper {
		padding: 1rem;
		line-height: 2rem;
	}
	.footer-upper span {
		margin-left: 0;
	}
}


/* common *//* feed button */

#feedback {
	position: fixed;
	bottom: 2rem;
	right: 5%;
	margin-right: 3rem;
	background-color: #00a864;
	border-radius: 10px;
	font-size: 14px;
}
#feedback p {
	margin: 0.5rem 1.2rem;
}
#feedback a {
	color: #fff;
	text-decoration: none;
}

@media screen and (max-width:1024px){
	#feedback {
		right: 50%;
		transform: translateX(50%);
		margin-right: 0;
	}
}

/* common *//* toTop Arrow */

.page-top{
	margin: 0 ;
	padding: 0 ;
}
.page-top p{
	margin: 0 ;
	padding: 0 ;

	position: fixed ;
	right: 2rem ;
	bottom: 1rem ;
}
.move-page-top{
	display: block ;
	-webkit-transition:all 0.3s ;
	-moz-transition:all 0.3s ;
	transition:all 0.3s ;
}
.move-page-top:hover{
	opacity: 0.85 ;
}
.toTop {
	color: #cccccc;
}

/** media **/

@media screen and (max-width:1024px){
	.pc {display: none;}
	#topicPath {font-size: 14px;}
}
@media screen and (min-width:1025px){
	.sp {display: none;}
}