@charset "UTF-8";

.inline {
  display: inline-block;
}
.red {
  color: #f00;
}

figure figcaption {
	text-align: justify;
	text-justify: interideograph;
	font-weight: normal;
}

.h1-wra > .h1-in .h1-txt {
	margin: 15px 0 0px;
}
@media only screen and (max-width:640px){
	.h1-wra > .h1-in .h1-txt {
		margin: 6vw 0 2vw;
	}
	.h1-wra > .h1-in .h1-txt span.en {
		top: 2vw;
	}
}

.comments {
  text-align: center;
  font-size: 1rem;
  margin-bottom: 20px;
  position: relative;
  width: 70%;
  margin: auto;
  font-weight: bold;
  font-size: 1.7vw;
  margin-bottom: 5em;
}
.comments::after {
  position: absolute;
  bottom: -10px;
  left: 50%;
  margin-left: -6.2vw;
  z-index: 2;
  content: '';
  width: 12.4vw;
  height: 6px;
  background: url(../../common/img/line1.png) no-repeat center bottom;
}
#contents-wra {
	margin-bottom: 3em;
}
#contents-wra h2 {
	margin-bottom: 4em;
	padding-left: 0;
	font-size: 1.2rem;
  white-space: nowrap;
}
#contents-wra .cont3 .comments {
	margin-bottom: 3em;
}
#contents-wra h2::before {
	border-left: inherit;
}
#contents-wra h3 {
	padding-bottom: 5px;
}
section {
  width: 90%;
  margin: auto;
}
section > p {
  text-align: center;
  margin-bottom: 3em;
}
.numberlist > li {
  display: flex;
  align-items: center;
  margin-bottom: 1em;
}
.numberlist > li > .number-box > img {
	width: 80%;
}
.numberlist li > .number-box {
  flex: .1 1 0;
}
.numberlist li > .number-txt {
	flex: .9 1 0;
	font-size: 1.1rem;
	font-weight: bold;
	/* padding-left: 1em; */
}
.numberlist > li .number-inn  {
  flex: .8 1 0;
  padding-left: 2em;
}
.numberlist > li .number-inn > dl > dt {
  font-weight: bold;
  font-size: 1.2rem;
  margin-bottom: .2em
}
.numberlist > li .number-inn > dl > dd {
  margin-bottom: 1em;
}

#contents-wra .title-col-2 h3 {
  color: #000;
  text-align: center;
  font-size: 1.2rem;
  margin-bottom: 0;
}
.title-col-2 {
  margin-bottom: 3em;
}
.title-col-2 > div > figure a {
	display: block;
  margin-bottom: 1em;
}
.title-col-2 > div > figure a:hover {
	opacity: .7;
}
.title-col-2 > div > figure figcaption {
	color: #777;
}
.l-nav ul {
  text-align: center;
  font-size: 0;
  width: 850px;
  margin: 0 auto;
}
.l-nav ul li {
  display: inline-block;
  width: 40%;
  margin: 2.666%;
}
.l-nav ul li a {
  display: block;
  border: 7px solid #fff;
  box-sizing: border-box;
  position: relative;
}
.l-nav ul li a:hover {
  border: 7px solid #1C357C;
}
.l-nav ul li .num-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  background: rgba(255,255,255,.8);
  width: calc(100% - 2px);
}
.l-nav ul li .num {
  color: #3e66c6;
  font-style: italic;
  margin-bottom: 5px;
}
.l-nav ul li h4 {
  font-weight: normal;
}
.l-nav ul li a img {
  border: 1px solid #1C357C;
  box-sizing: border-box
}

/*----------------------------------------------------------------------------*/

@media screen and (max-width: 640px) {
	.hinner {
		margin-bottom: 0;
		margin-top: 23.625vw;
	}
	.hinner > .kv {
		margin-bottom: 30px;
	}
  #contents-wra h2 {
    white-space: normal;
  }
  .numberlist > li {
		align-items: inherit;
    position: relative;
		min-height: 8vw;
  }
  .numberlist > li > .number-box {
    position: absolute;
    width: 10vw;
    flex: auto;
  }
	.numberlist li > .number-txt {
		width: calc(100% - 10vw);
		margin-left: auto;
		padding-left: 1em;
		box-sizing: border-box;
	}
  .numberlist > li > .number-inn {
    padding: 0;
    width: 100%;
    flex: auto;
  }
  .numberlist > li .number-inn > dl > dt {
    min-height: 10vw;
    vertical-align: middle;
    display: table;
    width: 100%;
    font-size: .9rem;
  }
  .numberlist > li .number-inn > dl > dt > span {
    display: table-cell;
    vertical-align: middle;
    padding-left: 12vw;
  }
  .numberlist > li > dl > dt {
    font-size: 1rem;
  }
  #contents-wra h2 {
    padding-left: 0;
    width: 100%;
  }
  #contents-wra h3.item {
    font-size: .9rem;
  }
  .l-nav ul {
    width: 100%;
  }
  .l-nav ul li {
    width: 48%;
    margin: 0 4% 4% 0;
  }
  .l-nav ul li:nth-child(2n) {
    margin-right: 0;
  }
  .l-nav ul li a,.l-nav ul li a:hover {
    border: none;
  }
  .l-nav ul li .num {
    font-size: 2vw;
  }
  .l-nav ul li h4 {
    font-size: 2.5vw;
  }
}

@media only screen and (min-width:641px) and (max-width:1012px){
  .nowrap {
    white-space: nowrap;
  }
  .l-nav ul {
    width: 100%;
  }
  .l-nav ul li a {
    border: 0.7vw solid #fff;
  }
  .l-nav ul li a:hover {
    border: 0.7vw solid #1C357C;
  }
  .l-nav ul li .num {
    right: 2.7vw;
  }
}
@media screen and (min-width: 1013px) {
  .comments {
		font-size: 1.1rem;
		white-space: nowrap;
  }
}
