@charset "UTF-8";

/* all */
*, *:before, *:after {
box-sizing: border-box
}


/* base & font */
body {
margin: 0;
background-color: #f5f5f5;
font-size: 16px;
color: #333333;
line-height: 1.5;
font-family: 'ヒラギノ角ゴ Pro','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
}


/* smooth scroll */
html {
scroll-behavior: smooth;
}


/* link */
a {
word-break: break-all;
cursor: pointer;
}

a:link {
text-decoration:none; /* 未訪問 */
}
a:visited {
text-decoration:none; /* 訪問後 */
}
a:active {
text-decoration:none; /* クリック中 */
}



/* br */
@media screen and (max-width :840px){
br.pc-only {
display: none;
}
}
@media screen and (min-width: 500px){
br.sp-only {
display: none;
}
}

/* ul ol */
ul, ol {
margin: 0;
padding-left: 20px;
}

/* img */
img {
border: 0px;
vertical-align: bottom;
}


/* hr */
hr.green {
border: none;
border-top: 2px solid #009e96;
margin: 0;
width: 100%;
}

hr.dot {
border: none;
border-top: 2px dotted #999999;
margin: 24px 0;
width: 100%;
}


/* enclose */
#enclose {
margin: 0 auto;
width: 960px;
background-color: #ffffff;
}

@media screen and (max-width :840px){
#enclose {
width: 100%;
}
}


/* header */
header {
width: 100%;
padding: 0;
margin: 0;
text-align: left;
}

@media screen and (max-width :840px){
header {
width: 95%;
margin: 0 auto;
padding-top: 10px;
}
}


/* wrapper */
#wrapper {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-top: 20px;
}


/* main */
main {
width: 600px;
margin-left: 20px;
text-align: left;
}

@media screen and (max-width :840px){
main {
width: 95%;
margin: 0 auto;
}
}


/* aside */
aside {
width: 300px;
margin-right: 20px;
text-align: left;
}

@media screen and (max-width :840px){
aside {
width: 95%;
margin: 0 auto;
margin-top: 20px;
}
}


/* article */
article {
width: 90%;
margin: 0 auto;
text-align: left;
}

@media screen and (max-width :840px){
article {
width: 90%;
}
}


/* footer */
footer {
width: 95%;
margin: 0 auto;
padding-bottom: 15px;
text-align: center;
}


/* copyright */
div.copyright {
font-size: 14px;
padding-top: 10px;
}



/* h1 */
h1 {
width: 95%;
margin: 0 auto;
font-size: 18px;
font-weight: bold;
color: #666666;/*文字色*/
border-bottom: 2px solid #dddddd;
position: relative;
padding: 0px 0px 4px 34px;
}

@media screen and (max-width :840px){
h1 {
width: 90%;
}
}

h1::before,
h1::after {
display: inline-block;
position: absolute;
transform: translateY(-75%);
width: 16px;
height: 16px;
content: '';
}

h1::before {
top: calc(50% - 3px);
left: 0;
border: 2px solid #01a48f;
}

h1::after {
top: calc(50% + 3px);
left: 5px;
border: 2px solid #f38e0c;
}




/* iframe */
iframe {
border: none;
}





/* Pagetop */
#pagetop {
position: fixed;
width: 100%;
max-width: 960px;
bottom: 20px;
text-align: right;
}

#pagetop a {
background-color: rgba( 102, 204, 153, 0.3 );
padding: 10px;
text-align: center;
text-decoration: none;
border-radius: 10px;
font-size: 24px;
margin-right: 20px;
}

#pagetop a:hover {
background-color: rgba( 102, 204, 153, 0.5 );
text-decoration: none;
}


/* table-block */
table.block {
width: 100%;
border-collapse: collapse;
border-spacing: 0;
font-size: 16px;
}
table.block td {
border: 0px solid #cccccc;
padding: 5px;
vertical-align: top;
text-align: left;
}
@media all and (max-width: 500px) {
table.block td , table.block col {
display: block;
width: 100%;
border-bottom: none;
}

}


/* table-title */
table.title {
width: 100%;
border-collapse: collapse;
border-spacing: 0;
font-size: 14px;
}
table.title td , table.title th{
border: 1px solid #cccccc;
padding: 5px;
vertical-align: top;
text-align: left;
}
@media all and (max-width: 500px) {
table.title th {
display: none;
}
table.title td , table.title col {
display: block;
width: 100%;
border-bottom: none;
}
table.title td ,[data-title]::before {
  content: attr(data-title);
}
table.title tr:last-child td:last-child {
border-bottom: 1px solid #cccccc;
}
}


/* table-news */
table.news {
border-collapse: collapse;
border-spacing: 0;
font-size: 14px;
}

table.news td {
padding: 5px;
vertical-align: top;
text-align: left;
border: 1px solid #cccccc;
}

table.news tr:nth-child(even) {
background: #f5f5f5;
}


/* table-normal */
table.normal {
border-collapse: collapse;
border-spacing: 0;
font-size: 14px;
}

table.normal td {
border: 1px solid #cccccc;
padding: 5px;
vertical-align: top;
text-align: left;
}


/* link-list */
div.link-list {
width: 100%;
margin: 0 auto;
padding: 0;
}

div.link-list ul {
list-style: none;
margin: 0;
padding: 0;
}

div.link-list ul li {
font-size: 16px;
margin-bottom: 12px;
text-indent: -1.2em;
padding: 0 0 0 1.2em;
}

div.link-list ul li::before{
content: "・";
color: #3399cc;
margin-right: 4px;
}

div.link-list ul li:last-child {
margin-bottom: 4px;
}



/* left-img */
div.left-img {
width: 100%;
display: flex;
align-items: flex-start;
flex-wrap: nowrap;
justify-content: flex-start;
}

/* btn-green */
a.btn-green {
display: inline-block;
font-size: 14px;
text-align: center;
font-weight: bold; /*文字の太さ*/
text-decoration: none;
width: 100%;
border-radius: 8px;
border: 2px solid #89c997; /*枠の色*/
background: #f9fcfa; /*背景色*/
padding: 10px;
margin: 0px 0px 10px 0px;
color: #666666;
}

/* btn-orange */
a.btn-orange {
display: inline-block;
font-size: 14px;
text-align: center;
font-weight: bold; /*文字の太さ*/
text-decoration: none;
width: 100%;
border-radius: 8px;
border: 2px solid #ffaa22; /*枠の色*/
background: #fffbf4; /*背景色*/
padding: 10px;
margin: 0px 0px 10px 0px;
color: #666666;
}