@charset "UTF-8";

/* header
================================================= */
header {
	width: 100%;
	padding: 7.5% 0;
 	background: #276091;
}
header h1 {
	width: 90%;
	max-width: 1230px;
	margin: 0 auto;
	color: #fff;
	font-size: 1.9rem;
	line-height: 1.4;
	text-align: center;
}
@media print, screen and (min-width: 520px) {
	header { padding: 5% 0; }
  header h1 { font-size: 2.7rem; }
}
@media print, screen and (min-width: 960px) {
  header h1 { font-size: 3.0rem; }
}
@media print, screen and (min-width: 1366px) {
	header { padding: 60px 0; }
  header h1 { font-size: 3.3rem; }
}


/* main
================================================= */
main {
  width: 90%;
  max-width: 888px;
  margin: 8% auto;
}
@media print, screen and (min-width: 960px) {
  main { margin: 7% auto; }
}
@media print, screen and (min-width: 1366px) {
  main { margin: 100px auto; }
}

/* text : decoration */
.text-smallest {
  font-size: 0.7em;
}
.text-small {
  font-size: 0.85em;
}
.text-large {
  font-size: 1.25em;
}
.text-largest {
  font-size: 1.5em;
}
.text-bold {
  font-weight: bold;
}
.text-red {
  color: #C80028;
}
.text-underline {
  text-decoration-line: underline;
}

/* text : layout */
.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}
.line-spacing {
	margin-top: 2.9rem;
}

/* section */
section + section {
	margin-top: 3.4em;
}
section.head-date {
	margin-bottom: -2em;
}
section.frame {
	padding: 6%;
	border: 1px solid #444;
}
@media print, screen and (min-width: 960px) {
	section + section { margin-top: 4.4em; }
	section.frame section + section { margin-top: 5.4em; }
}

/* h2 & h3 */
h2 {
	margin-bottom: 0.6em;
	font-size: 1.7rem;
	line-height: 1.4;
}
h3 {
	margin-bottom: 0.2em;
	font-size: 1.6rem;
	font-weight: normal;
}
h2 + h3 {
	margin-top: 0;
}
@media print, screen and (min-width: 520px) {
	h2 { font-size: 1.8rem; }
}
@media print, screen and (min-width: 960px) {
}

/* p */
p.indent {
	text-indent: 1em;
}

/* ol & ul */
ol,
ul {
	margin-left: 1.25em;
}
ol {
	list-style-type: decimal;
}
ol.kanji {
	margin-left: 2.1em;
	list-style-type: cjk-ideographic;
}
ul {
	list-style-type: disc;
}

/* table */
table {
	width: 100%;
}
th,
td {
	padding: 10px;
	border: 1px solid #666;
	font-size: 1.6rem;
}
th {
	background-color: #E5E5E5;
}
td.head {
	font-weight: bold;
	text-align: center;
}

/* button */
a.btn {
  display: flex;
	justify-content: space-between;
	align-items: center;
  width: 90%;
  max-width: 260px;
  margin: 1.2rem auto;
  padding: 1.6rem 2.0rem;
	border: 2px solid #276091;
	border-radius: 4px;
  background: #fff;
  color: #276091;
	font-weight: bold;
	letter-spacing: 0.05em;
  line-height: 1.4;
  text-decoration: none;
  transition: .2s;
}
a.btn::after {
	content: '';
	display: block;
	width: 16px;
	height: 13.5px;
	background: url(../image/icon_arrow.svg) no-repeat center left;
	background-size: auto 100%;
}
a.btn:hover,
a.btn:active {
  background: #276091;
	color: #fff;
}
a.btn:hover::after,
a.btn:active::after {
	background-position: center right;
}

/* add */
img.pdp {
	width: 100px;
}
td.head.item1 {
	width: calc(3em + 0.1em + 20px);
	line-height: 1.4;
}
td.head.item2 {
	width: calc(2em + 0.1em + 20px);
	line-height: 1.4;
}
@media print, screen and (min-width: 520px) {
	td.head.item2 { width: calc(4em + 0.1em + 20px); }
}

