@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
:root {
 --fontfamily: "Noto Sans JP", sans-serif;
 --fontcolor: #000;
 --maincolor: #ffd800;
 --subcolor: #0068b7;
 --bgcolor: #f4efc3;
 --maxcontent: 1000px;
}
* {
 margin: 0;
 padding: 0;
 box-sizing: border-box;
 outline: none;
}
body {
 text-align: center;
 font-family: var(--fontfamily);
 font-size: 16px;
 line-height: 175%;
 -webkit-text-size-adjust: 100% !important;
 max-height: 100%;
 background-color: var(--bgcolor);
 position: relative;
}
.letter {
letter-spacing:-0.5rem;
}
p {
 text-align: left;
 margin-bottom: 1.7rem;
}
.sp_img {
 display: none;
}
ul, li {
 list-style: none;
}
a {
 color: #0000ff;
 text-decoration: underline;
}
a:hover {
 text-decoration: none;
}
a:visited {
 color: #e95513;
 text-decoration: underline;
}
img {
 border: 0;
 max-width: 100%;
 height: auto;
 vertical-align: bottom;
}
#container a:hover img {
 opacity: 0.6;
 filter: alpha(opacity=60);
 -ms-filter: "alpha( opacity=60 )";
 background: none !important;
}
header {
 background-color: var(--maincolor);
 width: 100%;
 padding: 30px 1rem;
 margin-bottom: 50px;
}
header h1 {
 max-width: var(--maxcontent);
 margin: auto;
}
header h1 a {
 display: flex;
 flex-direction: row;
 flex-wrap: wrap;
}
#container {
 display: grid;
 gap: 50px;
 grid-template-columns: minmax(225px, 225px) minmax(0, 725px);
 justify-content: center;
 max-width: var(--maxcontent);
 margin: auto auto 30px auto;
 align-items: flex-start;
}
#container #menu, .side_content {
 background: #FFF;
 margin-bottom: 30px;
}
.side_content, .side_content .ttl {
 border-radius: 10px 10px 0 0;
 -webkit-border-radius: 10px 10px 0 0;
 -moz-border-radius: 10px 10px 0 0;
}
.side_content .ttl {
 background-color: var(--subcolor);
 text-align: center;
 color: #FFF;
 padding: 1rem;
 font-size: 18px;
 line-height: 100%;
}
.side_content .in_box {
 padding: 14px 10px 14px 14px;
}
.side_content.pos .in_box {
 padding: 20px;
}
.side_content .in_box p {
 font-size: 13px;
 line-height: 20px;
 text-align: left;
}
.side_content .in_box p small {
font-size: 13px;
line-height: 20px;
letter-spacing: -0.03em;
}
.side_content .in_box p{
 margin-bottom:0;
	}
#container #menu a, .nolink, #container #menu .active {
 display: block;
 padding: 12px 26px;
 position: relative;
 text-align: left;
 color: var(--subcolor);
 text-decoration: none;
 background-color: #FFF;
 background-image: url("../images/icon_arrow_b.png");
 background-position: 10px center;
 background-repeat: no-repeat;
 background-size: 8px auto;
 border-bottom: 1px solid var(--subcolor);
 font-size: 17px;
 line-height: 25px;
 font-weight: 500;
}
.nolink {
 background-color: #E8E8E8;
 color: #808080;
 background-image: url("../images/icon_arrow_g.png");
}
#container #menu .active {
 background-color: var(--subcolor);
 background-image: url("../images/icon_arrow_w.png");
 color: #FFF;
 border-bottom: 1px solid #FFF;
}
#container #menu a:hover {
 background-color: var(--subcolor);
 background-image: url("../images/icon_arrow_w.png");
 color: #FFF;
 border-bottom: 1px solid #FFF;
}
.free {
 font-size: 15px;
 line-height: 100%;
 color: #FFFFFF;
 display: inline-block;
 background-color: #ea5413;
 padding: 2px 5px 3px 5px;
 margin-left: 8px;
}
.content {
 background: #FFF;
 margin-bottom: 30px;
}
.in_content {
 padding: 25px;
}
#home .in_content {
 padding-top: 40px;
}
#subpage .in_content {
 padding-top: 5px;
}
.info_img {
 margin-bottom: 18px;
	text-align: left;
}
h2 {
 font-weight: bold;
 font-size: 25px;
 color: var(--subcolor);
 padding: 20px 0;
 text-align: left;
 position: relative;
}
#subpage h2 {
 margin-bottom: 30px;
}
h2::before, h2::after {
 content: "";
 height: 3px;
 position: absolute;
 bottom: 0;
 left: 0;
 display: block;
}
h2::before {
 width: 100%;
 background: #5f95cf;
 z-index: 1;
}
h2::after {
 width: 100px;
 background: var(--subcolor);
 z-index: 2;
}
dl.news_list {
 display: flex;
 flex-direction: row;
 flex-wrap: wrap;
 text-align: left;
 margin-bottom: 30px;
}
dl.news_list dt {
 width: 150px;
 padding: 25px 8px;
 font-size: 19px;
 border-bottom: dashed 1px #808080;
}
dl.news_list dd {
 width: calc(100% - 150px);
 padding: 25px 8px;
 border-bottom: dashed 1px #808080;
}
#copyright {
 text-align: center;
 font-size: 11px;
 line-height: 20px;
 background-color: #FFF;
 padding: 10px 0;
}
.grid_greeting {
 display: grid;
 gap: 40px;
 grid-template-columns: minmax(0, 220px) minmax(0, 400px);
 margin-bottom: 40px;
 align-items: center;
}
.taikai {
 text-align: left;
 margin-bottom: 20px;
}
.name {
 font-size: 14px;
 line-height: 23px;
 text-align: left;
}
.name strong {
 display: block;
 text-align: left;
 font-size: 25px;
 line-height: 35px;
}
@media screen and (max-width: 1028px) {
 header {
  padding: 10px 1rem;
 }
 #container {
  display: flex;
  flex-direction: column-reverse;
  width: calc(100% - 3rem);
  max-width: 890px;
  margin-left: auto;
  margin-right: auto;
 }
 #sidenav {
  display: grid;
  gap: 50px;
  grid-template-columns: 1fr 1fr;
  width: 100%;
 }
#sidenav .side_content.pos {
  grid-column: 1 / -1;
}
 .side_content .in_box p {
  font-size: 18px;
  line-height: 25px;
 }
	.side_content .in_box p small {
  font-size: 18px;
  line-height: 25px;
    letter-spacing: 0;
}
}
@media screen and (max-width: 790px) {
 header {
  padding:24px .5rem;
 }
 header h1 a {
  flex-direction: column;
  align-items: flex-start;
 }
 header h1 a img {
  height: 26px;
  width: auto;
 }
}
@media screen and (max-width: 767px) {
header h1 a img {
height: 24px;
}
 .br_767::before {
  content: "\A";
  white-space: pre;
 }
 .pc_img {
  display: none;
 }
 .sp_img {
  display: block;
 }
 #container {
  gap: 0;
 }
 .content {
  margin-bottom: 30px;
 }
 .in_content, .side_content .in_box {
  padding: 25px;
 }
 #sidenav {
  gap: 0px;
  grid-template-columns: 1fr;
  width: 100%;
 }
 .grid_greeting {
  grid-template-columns: 1fr;
  margin-bottom: 60px;
 }
 .grid_greeting .ph_box {
  max-width: 200px;
  margin: auto;
 }
	.inlinebox {
	display: inline-block;
	}
dl.news_list dt {
 width: 100%;
 padding: 25px 8px 0 8px;
 font-size: 19px;
 border-bottom:0;
}
dl.news_list dd {
 width: 100%;
 font-size: 19px;
 padding: 5px 8px 25px 8px;
}
}