@charset "utf-8";
@import 'print.css' print;

/* all
---------------------------------------------------------------------------*/
body {
  font-size: 1.52em;
  font-family: 'Roboto Mono', -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif, monospace;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0.048em;
  color: #392e28;
  background: transparent;
  position: relative;
  overflow-x: hidden;
	-webkit-text-size-adjust: none; }

@media screen and (max-width: 640px) {
  body {
    font-size: 1.36rem; }
}

/* totop
---------------------------------------------------------------------------*/
#totop {
	position: fixed;
	right: 10px;
	z-index: 2;
	opacity: 0; }
#totop a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 60px;
	text-align: center;
	text-transform: uppercase;/*大文字*/
	font-size: 0.6rem;
	transition: all 0.4s ease; }
#totop a i::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url(../img/totop.svg) no-repeat; }
#totop a:hover {
	transform: translateY(-8px); 	}

#totop.UpMove {
	opacity: 1;
	transition: all 0.4s ease; }
#totop.DownMove {
	opacity: 0;
	transition: all 0.4s ease; }

/* wrap
---------------------------------------------------------------------------*/
.inner {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px;
  transition: .32s ease; }

@media screen and (max-width: 640px) {
.inner {
  padding-left: 24px;
  padding-right: 24px;  }
}

/* style
---------------------------------------------------------------------------*/
.txtC {text-align: center!important;}
.txtR {text-align: right!important;}
.txtL {text-align: left!important;}

.bold {font-weight: 700!important;}
.italic {font-style: italic!important; } 
.underline {text-decoration: underline;}

.clr-red {color: #ff636e!important;}

.bg-clr-a {
  background: #f4f6ff;
  padding-top: 80px;
  padding-bottom: 80px; }
.bg-clr-b {
  background: #fafafa;
  padding-top: 80px;
  padding-bottom: 80px; }

@media screen and (max-width: 640px) {
  .bg-clr-a {
    padding-top: 64px;
    padding-bottom: 64px; }
  .bg-clr-b {
    padding-top: 64px;
    padding-bottom: 64px; }
}

small {
  font-size: 1.04rem!important; }
i {
  font-style: normal; }

sup {
  font-size: 1.04rem;
  vertical-align: top;
  position: relative;
  top: -0.2em;
  margin-right: 0.2em; }
sub {
  font-size: 1.04rem;
  vertical-align: bottom;
  position: relative;
  bottom: -0.2em;
  margin-right: 0.2em; }

blockquote {
  background: #e3f0f3;
  padding: 24px 32px; }
cite {
  display: flex;
  justify-content: flex-end;
  margin-top: 1em; }
cite::before {
  content: '引用元：'; }

/* a
---------------------------------------------------------------------------*/
a {
  color: #5590EE;
  text-decoration: underline;
  transition: .32s ease; }
a:hover {
  opacity: 0.7;
  cursor: pointer;
  transition: .32s ease; }

header a,
footer a,
.news-wrap a,
.btn a {
  text-decoration: none; }

/* figure
---------------------------------------------------------------------------*/
.hero{
	background: #f4f6ff;
	text-align: center;
}
.hero img{
	margin-left: auto;
	margin-right: auto;
	max-width: 1440px;
	width: 100%;
}
figure.hero + div {
  margin-top: 0; }

figure:not(.hero) {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  text-align: center; }
figure figcaption {
  font-size: 1.36rem;
  color: #adadad;
  margin-top: 0.64em; }

figure:not(.hero).txtR {
  max-width: 200px;
  margin-right: 0;
  margin-left: auto; }

/* h-tag
---------------------------------------------------------------------------*/
h2, h3, h4, h5, h6 {
  color: #5590EE;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.064em; }

/* h2 */
h2 {
  font-size: 3.2rem;
  font-weight: 400; }

/* h3 */
h3 {
  font-size: 2.24rem; }

/* h4 */
h4 {
  font-size: 2rem; }

/* h5 */
h5 {
  font-size: 1.68rem; }

/* h6 */
h6 {
  font-size: 1.52rem; }

@media screen and (max-width: 820px) {
  h2, h3, h4, h5, h6 {
    font-weight: 500; }
}

/* main
---------------------------------------------------------------------------*/
main div.sub {
  padding-bottom: 160px; }

/* header
---------------------------------------------------------------------------*/
header {
  position: relative;
  background: #fff; }
header h1 {
  height: 88px;
  display: flex;
  align-items: center; }
header h1 img {
  height: 80px; }

  header .header-banner{display: none;
    position: absolute;
    right: 4px;
    top: 4px;
  }
  header .header-banner img{
    width: auto;
    height: 80px;
  }
  .top-banner{
      width: 95%;
    margin: 1.0em auto 0 auto !important;
    text-align: right;
  }
  @media only screen and (max-width: 820px) {

    header .header-banner{
      display: none;
    }

    .top-banner{
      display: block;
      margin: 1.0em auto 0 auto !important;
      text-align: center;
    }

  }

/* footer
---------------------------------------------------------------------------*/
footer {
  padding-top: 80px;
  padding-bottom: 80px;
  line-height: 1.6; }

.f-menu {
  display: flex; }
.f-menu h2 {
  width: 280px; }
.f-menu h2 small {
  display: block;
  color: rgba(0,0,0, .4);
  margin-top: 32px; }
.f-menu ul {
  width: calc(100% - 280px);
  display: flex;
  justify-content: flex-end; }
.f-menu ul li + li {
  margin-left: 64px; }
.f-menu h4 + p {
  margin-top: 0.8em; }
.f-menu p + p {
  margin-top: 0.48em; }

@media screen and (max-width: 960px) {
  .f-menu {
    flex-direction: column-reverse; }
  .f-menu h2 {
    margin: auto;
    margin-top: 64px; }
  .f-menu ul {
    width: 100%;
    justify-content: center; }
  .f-menu h2 + ul {
    margin-top: 0; }
}
@media screen and (max-width: 640px) {
  footer {
    padding-top: 64px;
    padding-bottom: 64px; }
  .f-menu h2,
  .f-menu ul {
    margin-left: 0;
    display: block; }
  .f-menu ul li + li {
    margin-left: 0;
    margin-top: 40px; }
}

/* news
---------------------------------------------------------------------------*/
.news-wrap dl dt,
.news-wrap dl dd {
  line-height: 1.4; }
.news-wrap dl dt {
  width: 160px;
  float: left;
  clear: both; }
.news-wrap dl dd {
  margin-left: 160px; }
.news-wrap dl dt:not(:first-of-type) + dd,
.news-wrap dl dd + dt {
  margin-top: 1.28em;
  padding-top: 1.28em;
  border-top: solid 1px #ebebeb; }

main figure.hero + div.today,
main figure.hero + div.important,
main div + div.important,
main div + div.outline-wrap {
  margin-top: 0; }

.news-wrap p {
  text-align: justify;
  line-height: 2; }
.news-wrap h2 + p {
  margin-top: 32px; }
.news-wrap p + p {
  margin-top: 16px; }

@media screen and (max-width: 960px) {
  .news-wrap dl dt,
  .news-wrap dl dd {
    width: 100%;
    float: none;
    margin-left: 0; }
  .news-wrap dl dt:not(:first-of-type) + dd {
    border-top: none;
    margin-top: 0;
    padding-top: 0.24em; }
}

/* today */
.news-wrap.today {
  background: #f4f6ff;
  padding: 40px 40px 64px; }
.news-wrap.today .flex-wrap li h2::after {
  content: '';
  display: inline-block;
  width: 24px;
  height: 4px;
  margin-top: 48px;
  margin-left: 0.08em;
  background: #8ebaff; }
.news-wrap.today .flex-wrap > li:first-child {
  width: 160px; }
.news-wrap.today .flex-wrap > li:last-child {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: calc(100% - 320px);
  margin-left: 160px; }
.news-wrap.today .flex-wrap li + li {
  margin-top: 0; }

@media screen and (max-width: 1200px) {
  .news-wrap.today .flex-wrap {
    flex-direction: column; }
  .news-wrap.today .flex-wrap > li:first-child {
    width: 100%; }
  .news-wrap.today .flex-wrap > li:last-child {
    width: 100%;
    margin-top: 40px;
    margin-left: 0; }
  .news-wrap.today h2 {
    text-align: center; }
  .news-wrap.today .flex-wrap li h2 {
    position: relative;
    padding-bottom: 40px; }
  .news-wrap.today .flex-wrap li h2::after {
    width: 32px;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 0; }
}
@media screen and (max-width: 960px) {
  .news-wrap.today {
    padding-left: 0;
    padding-right: 0; }
  .news-wrap.today ul {
    flex-direction: column; }
  .news-wrap.today ul li {
    width: 100%!important;
    margin-left: 0!important; }
  .news-wrap.today ul li + li {
    margin-top: 40px!important; }
}

/* important */
.news-wrap.important {
  padding: 80px 40px 0;
  color: #2a2a2a; }
.news-wrap.important h2 {
  text-align: center;
  font-size: 2.6rem;
  color: #fff;
  padding: 0.64em 0.8em;
  background: #ff8995;
  border-radius: 4px 4px 0 0; }
.news-wrap.important a {
	color: #ff8995;
	text-decoration: none!important; }
.news-wrap.important a:hover {
	opacity: 0.7; }
.news-wrap.important h2 + div {
  margin-top: 0;
  border-radius: 0 0 4px 4px; }

.news-wrap.important div {
  border: solid 1px #ff8995;
  padding: 40px 40px 40px 80px; }
.news-wrap.important div a {
  text-decoration: underline; }
.news-wrap.important div h3 {
  font-size: 1.84rem;
  color: #392e28;
  position: relative; }
.news-wrap.important div h3::before {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #ff8995;
  position: absolute;
  top: 0.4em;
  left: -40px; }
.news-wrap.important div h4 {
  color: #392e28;
  font-size: 1.6rem; }
.news-wrap.important div h3 + p,
.news-wrap.important div h4 + p {
  margin-top: 8px; }
.news-wrap.important div p + h3 {
  margin-top: 40px; }

@media screen and (max-width: 960px) {
  .news-wrap.important {
    padding-left: 24px;
    padding-right: 24px; }
}
@media screen and (max-width: 640px) {
  .news-wrap.important {
    padding-top: 64px; }
  .news-wrap.important div {
  	padding: 24px 24px 24px 40px; }
  .news-wrap.important div h3 {
    text-align: justify; }
  .news-wrap.important div h3::before {
    left: -20px; }
}

.outline-wrap {
  padding-top: 80px; }

.bnr-wrap {
	margin-top: 40px;
  padding-bottom: 40px;
 }
.bnr-wrap ul{
	display: flex;
	flex-wrap: wrap;
	gap: 16px 16px;
	justify-content: center; }
.bnr-wrap img {
	height: 120px;
	width: auto;
}

@media screen and (max-width: 640px) {
  .outline-wrap {
    padding-top: 64px; }
  .bnr-wrap {
    padding-bottom: 40px; }
	.bnr-wrap img {
		height: 64px;
	}
}

/* sub
---------------------------------------------------------------------------*/
/* p */
.sub p {
  text-align: justify;
  line-height: 2; }

/* ul, ol */
.sub li {
  line-height: 1.6; }
.sub ul > li > ul,
.sub ul > li > ol,
.sub ol > li > ol,
.sub ol > li > ul {
  margin-left: 1em;
  margin-top: 0.64em;
  margin-bottom: 1.6em; }
.sub li + li {
  margin-top: 0.96em; }

/* ul */
.sub ul > li {
  list-style: circle;
  margin-left: 0.96em; }

/* ol */
.sub ol > li {
  list-style: decimal;
  margin-left: 1.28em; }

/* table
---------------------------------------------------------------------------*/
table {
  width: 100%; }
table th,
table td {
  line-height: 1.4;
  padding: 1.28em 1.6em;
  vertical-align: middle; }
table th {
  min-width: 160px;
  text-align: center;
  border-top: solid 1px #8ebaff;
  border-bottom: solid 1px #8ebaff; }
table td {
  text-align: justify;
  border-top: solid 1px #ebebeb;
  border-bottom: solid 1px #ebebeb; }

.w80 {
  width: 80px; }
.w160 {
  width: 160px; }
.w240 {
  width: 240px; }
.w320 {
  width: 320px; }
.w400 {
  width: 400px; }
.w4p {
  width: 4%; }
.w8p {
  width: 8%; }
.w16p {
  width: 16%; }
.w24p {
  width: 24%; }
.w32p {
  width: 32%; }
.w40p {
  width: 40%; }
.w50p {
  width: 50%; }

@media screen and (max-width: 640px) {
  .w80, .w160, .w240, .w320, .w400,
  .w4p, .w8p, .w16p, .w24p, .w32p, .w40p, .w50p {
    width: 40px; }
  table th {
    min-width: auto;
    width: 25%!important;
    white-space: nowrap; }
}

/* flex-wrap
---------------------------------------------------------------------------*/
.flex-wrap {
  display: flex;
  flex-wrap: wrap; }
.flex-wrap article a {
  text-decoration: none; }
/* 1 */
.flex-wrap.one article {
  width:80%; 
text-align: center;
margin: auto;}
  
/* 2 */
.flex-wrap.two article {
  width: calc((100% - 40px) / 2); }
.flex-wrap.two article:nth-child(even) {
  margin-left: 40px; }
.flex-wrap.two article:nth-child(n + 3) {
  margin-top: 40px; }

/* 3 */
.flex-wrap.three article {
  width: calc((100% - 80px) / 3); }
.flex-wrap.three article:not(:nth-child(3n - 2)) {
  margin-left: 40px; }
.flex-wrap.three article:nth-child(n + 4) {
  margin-top: 40px; }

/* 4 */
.flex-wrap.four article {
  width: calc((100% - 120px) / 4); }
.flex-wrap.four article:not(:nth-child(4n - 3)) {
  margin-left: 40px; }
.flex-wrap.four article:nth-child(n + 5) {
  margin-top: 40px; }

@media screen and (max-width: 1200px) {
  .flex-wrap.four article {
    width: calc((100% - 80px) / 3); }
  .flex-wrap.four article:not(:nth-child(4n - 3)) {
    margin-left: 0; }
  .flex-wrap.four article:not(:nth-child(3n - 2)) {
    margin-left: 40px; }
  .flex-wrap.four article:nth-child(n + 4) {
    margin-top: 40px; }
}
@media screen and (max-width: 960px) {
  .flex-wrap.three article,
  .flex-wrap.four article {
    width: calc((100% - 40px) / 2); }
  .flex-wrap.three article:not(:nth-child(3n - 2)),
  .flex-wrap.four article:not(:nth-child(3n - 2)) {
    margin-left: 0; }
  .flex-wrap.three article:nth-child(even),
  .flex-wrap.four article:nth-child(even) {
    margin-left: 40px; }
  .flex-wrap.three article:nth-child(n + 3),
  .flex-wrap.four article:nth-child(n + 3) {
    margin-top: 40px; }
}
@media screen and (max-width: 640px) {
  .flex-wrap.two article,
  .flex-wrap.three article,
  .flex-wrap.four article {
    width: 100%; }
  .flex-wrap article + article {
    margin-top: 40px!important;
    margin-left: 0!important; }
  
  .bnr-wrap .flex-wrap article {
    max-width: 320px!important;
    margin-left: auto!important;
    margin-right: auto!important; }
}

/* float-wrap
---------------------------------------------------------------------------*/
.sub ul.float-wrap > li {
  list-style: none;
  margin-left: 0; }
.float-wrap li:first-child {
  float: left;
  margin-right: 24px; }
.float-wrap::after {
  content: '';
  display: block;
  clear: both; }
.float-wrap.reverse li:first-child {
  float: right;
  margin-right: 0;
  margin-left: 24px; }

/* ttl-wrap
---------------------------------------------------------------------------*/
.ttl-wrap {
  padding-top: 56px; }
.ttl-wrap h2 {
  font-size: 2.4rem;
  text-align: center;
  background: #f4f6ff;
  border-radius: 8px;
  padding: 0.64em 0.8em; }
.ttl-wrap + .breadcrumbs {
  margin-top: 40px; }

/* breadcrumbs
---------------------------------------------------------------------------*/
.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end; }
.breadcrumbs ol li {
  list-style: none;
  font-size: 1.36rem;
  margin-left: 0; }
.breadcrumbs ol li a {
  color: #8ebaff;
  text-decoration: none; }
.breadcrumbs ol li a:hover {
  color: #5590EE; }
.breadcrumbs ol li + li {
  margin-top: 0; }
.breadcrumbs ol li + li::before {
  content: '>';
  color: #8ebaff;
  margin-left: 0.64em;
  margin-right: 0.64em; }

/* iframe-wrap
---------------------------------------------------------------------------*/
.iframe-wrap iframe {
  width: 100%;
  height: 240px;
  vertical-align: bottom; }

/* btn-wrap
---------------------------------------------------------------------------*/
.btn-wrap {
  display: flex; }
.btn-wrap.center {
  justify-content: center; }
.btn-wrap li {
  background: #fff;
  border-radius: 4px; }
.btn-wrap li a {
  color: #5590EE;
  line-height: 1.4;
  padding: 0.96em 2em;
  border: solid 1px #ebebeb;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  border-radius: 4px;
  transition: .32s ease; }
.btn-wrap li a:hover {
  color: #fff;
  background: #5590EE;
  transition: .32s ease;
	opacity: 1; }
.btn-wrap li + li {
  margin-left: 80px; }

@media screen and (max-width: 820px) {
  .btn-wrap li a {
    font-weight: 500; }
}

.sub ul.btn-wrap > li {
  list-style: none;
  margin-left: 0; }
.sub ul.btn-wrap > li a {
  text-decoration: none; }

/* margin
---------------------------------------------------------------------------*/
main h2 + h3, main h3 + h4, main h4 + h5, main h5 + h6 {
  margin-top: 0.8em; }

main h2 + div, main h2 + p, main h2 + ul, main h2 + ol, main h2 + dl, main h2 + table, main h2 + figure, main h2 + form, main h2 + iframe, main h2 + a,
main h3 + div, main h3 + p, main h3 + ul, main h3 + ol, main h3 + dl, main h3 + table, main h3 + figure, main h3 + form, main h3 + iframe, main h3 + a,
main h4 + div, main h4 + p, main h4 + ul, main h4 + ol, main h4 + dl, main h4 + table, main h4 + figure, main h4 + form, main h4 + iframe, main h4 + a,
main h5 + div, main h5 + p, main h5 + ul, main h5 + ol, main h5 + dl, main h5 + table, main h5 + figure, main h5 + form, main h5 + iframe, main h5 + a,
main h6 + div, main h6 + p, main h6 + ul, main h6 + ol, main h6 + dl, main h6 + table, main h6 + figure, main h6 + form, main h6 + iframe, main h6 + a {
  margin-top: 1.6em; }

main div + p, main div + ul, main div + ol, main div + dl, main div + table, main div + figure, main div + form, main div + iframe, main div + a,
main p + ul, main p + ol, main p + dl, main p + table, main p + figure, main p + form, main p + iframe, main p + a,
main ul + div, main ul + p, main ul + ul, main ul + ol, main ul + dl, main ul + table, main ul + figure, main ul + form, main ul + iframe, main ul + a,
main ol + div, main ol + p, main ol + ul, main ol + ol, main ol + dl, main ol + table, main ol + figure, main ol + form, main ol + iframe, main ol + a,
main dl + div, main dl + p, main dl + ul, main dl + ol, main dl + dl, main dl + table, main dl + figure, main dl + form, main dl + iframe, main dl + a,
main table + div, main table + p, main table + ul, main table + ol, main table + dl, main table + table, main table + figure, main table + form, main table + iframe, main table + a,
main figure + div, main figure + p, main figure + ul, main figure + ol, main figure + dl, main figure + table, main figure + figure, main figure + form, main figure + iframe, main figure + a,
main form + div, main form + p, main form + ul, main form + ol, main form + dl, main form + table, main form + figure, main form + form, main form + iframe, main form + a,
main iframe + div, main iframe + p, main iframe + ul, main iframe + ol, main iframe + dl, main iframe + table, main iframe + figure, main iframe + form, main iframe + iframe, main iframe + a,
main a + div, main a + p, main a + ul, main a + ol, main a + dl, main a + table, main a + figure, main a + form, main a + iframe, main a + a {
  margin-top: 40px; }

main div + div,
main div + h2, main p + h2, main ul + h2, main ol + h2, main dl + h2, main table + h2, main figure + h2, main form + h2, main iframe + h2, main a + h2,
main div + h3, main p + h3, main ul + h3, main ol + h3, main dl + h3, main table + h3, main figure + h3, main form + h3, main iframe + h3, main a + h3,
main div + h4, main p + h4, main ul + h4, main ol + h4, main dl + h4, main table + h4, main figure + h4, main form + h4, main iframe + h4, main a + h4,
main div + h5, main p + h5, main ul + h5, main ol + h5, main dl + h5, main table + h5, main figure + h5, main form + h5, main iframe + h5, main a + h5,
main div + h6, main p + h6, main ul + h6, main ol + h6, main dl + h6, main table + h6, main figure + h6, main form + h6, main iframe + h6, main a + h6 {
  margin-top: 80px; }

@media screen and (max-width: 640px) {
  main div + div,
  main div + h2, main p + h2, main ul + h2, main ol + h2, main dl + h2, main table + h2, main figure + h2, main form + h2, main iframe + h2, main a + h2,
  main div + h3, main p + h3, main ul + h3, main ol + h3, main dl + h3, main table + h3, main figure + h3, main form + h3, main iframe + h3, main a + h3,
  main div + h4, main p + h4, main ul + h4, main ol + h4, main dl + h4, main table + h4, main figure + h4, main form + h4, main iframe + h4, main a + h4,
  main div + h5, main p + h5, main ul + h5, main ol + h5, main dl + h5, main table + h5, main figure + h5, main form + h5, main iframe + h5, main a + h5,
  main div + h6, main p + h6, main ul + h6, main ol + h6, main dl + h6, main table + h6, main figure + h6, main form + h6, main iframe + h6, main a + h6 {
    margin-top: 64px; }
}