@charset "utf-8";

/* =================================================================
   Foundation
   ================================================================= */
/*!
 * Sanitize 13.0.0 (http://git.io/sanitize)
 * Licensed under the MIT License.
 */
*,::before,::after { -webkit-box-sizing: border-box; box-sizing: border-box; background-repeat: no-repeat; }
::before,::after { text-decoration: inherit; vertical-align: inherit; }
html { -moz-tab-size: 4; -o-tab-size: 4; -webkit-tap-highlight-color: transparent; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; line-height: 1.5; word-break: break-word; cursor: default; tab-size: 4; }
body { margin: 0; }
h1 { margin: .67em 0; font-size: 2em; }
dl dl,dl ol,dl ul,ol dl,ul dl { margin: 0; }
ol ol,ol ul,ul ol,ul ul { margin: 0; }
hr { height: 0; overflow: visible; color: inherit; }
main { display: block; }
nav ol,nav ul { padding: 0; list-style: none; }
pre { -ms-overflow-style: scrollbar; overflow: auto; font-size: 1em; font-family: monospace, monospace; }
a { background-color: transparent; }
abbr[title] { -webkit-text-decoration: underline dotted; text-decoration: underline; text-decoration: underline dotted; }
b,strong { font-weight: bolder; }
code,kbd,samp { font-size: 1em; font-family: monospace, monospace; }
small { font-size: 80%; }
audio,canvas,iframe,img,svg,video { vertical-align: middle; }
audio,video { display: inline-block; }
audio:not([controls]) { display: none; height: 0; }
iframe { border-style: none; }
img { border-style: none; }
svg:not([fill]) { fill: currentColor; }
svg:not(:root) { overflow: hidden; }
table { border-color: inherit; border-collapse: collapse; text-indent: 0; }
button,input,select { margin: 0; }
button { overflow: visible; text-transform: none; }
button,[type="button"],[type="reset"],[type="submit"] { -webkit-appearance: button; }
fieldset { padding: .35em .75em .625em; border: 1px solid #a0a0a0; }
input { overflow: visible; }
legend { display: table; max-width: 100%; color: inherit; white-space: normal; }
progress { display: inline-block; vertical-align: baseline; }
select { text-transform: none; }
textarea { margin: 0; overflow: auto; resize: vertical; resize: vertical; }
[type="checkbox"],[type="radio"] { padding: 0; }
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
::-webkit-inner-spin-button,::-webkit-outer-spin-button { height: auto; }
::-webkit-input-placeholder { color: inherit; opacity: .54; }
::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
::-moz-focus-inner { padding: 0; border-style: none; }
:-moz-focusring { outline: 1px dotted ButtonText; }
:-moz-ui-invalid { box-shadow: none; }
details { display: block; }
dialog { display: block; position: absolute; right: 0; left: 0; width: -moz-fit-content; width: -webkit-fit-content; width: fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: fit-content; margin: auto; padding: 1em; border: solid; background-color: white; color: black; }
dialog:not([open]) { display: none; }
summary { display: list-item; }
canvas { display: inline-block; }
template { display: none; }
a,area,button,input,label,select,summary,textarea,[tabindex] { -ms-touch-action: manipulation; }
[hidden] { display: none; }
[aria-busy="true"] { cursor: progress; }
[aria-controls] { cursor: pointer; }
[aria-disabled="true"],[disabled] { cursor: not-allowed; }
[aria-hidden="false"][hidden] { display: inline; display: initial; }
[aria-hidden="false"][hidden]:not(:focus) { clip: rect(0, 0, 0, 0); position: absolute; }

/* Base Style Setting */
html {
	font-size: 62.5%;
}
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%;
	overflow-x: hidden;
	background: #fff;
	color: var(--gray-1);
	font-size: 1.4em;
	line-height: 1.75;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	letter-spacing: .01em;
	touch-action: manipulation;
}
a {
	color: #193a7f;
	text-decoration: none;
}
a:hover {
	color: hsl(220, 67%, 38%);
}
a:focus {
	outline: 2px auto Highlight;
	outline: 5px auto -webkit-focus-ring-color;
}

/* Typography Base Setting */
h1, h2, h3, h4, h5, h6 {
	margin-top: 0;
	margin-bottom: 0;
}
p, ul, ol, dl, blockquote {
	margin-top: 0;
	margin-bottom: 1em;
}
dd {
	margin-left: 0;
}
ol, ul {
	padding-left: 2em;
}
ol {
	list-style: decimal outside none;
}
ul {
	list-style: disc outside none;
}
em {
	font-style: normal;
}
rp, rt {
	font-size: .6875em;
	line-height: 1;
}
table {
	font-size: 1em;
	empty-cells: show;
}
img {
	height: auto;
}
iframe {
	width: 100%;
}
img, iframe, button, input, select, textarea {
	max-width: 100%;
}
input, select, textarea {
	font-family: inherit;
}
textarea {
	height: auto;
}
::-webkit-input-placeholder {
	font-family: inherit;
}
::-moz-placeholder {
	font-family: inherit;
}
::placeholder {
	font-family: inherit;
}
.no-link {
	color: inherit;
	pointer-events: none;
}

/* =================================================================
   Layout
   ================================================================= */
/* -------------------------------- *\
    Header
\* -------------------------------- */
.header {
	background: #193a7f;
}
.header__inner {
	width: 90%;
	margin: 0 auto;
	padding: 20px 0;
}
.header__title {
	width: 300px;
	margin: 0 auto 15px;
}
.header__title img {
	display: block;
	width: 100%;
}
.header__button {
	text-align: center;
}
.header__button a {
	display: inline-block;
	margin: 0 auto;
	padding: .25em 1em;
	border: 1px solid rgba(255, 255, 255, .75);
	border-radius: 4px;
	color: #fff;
	font-weight: bold;
	font-size: 1.3rem;
	text-align: center;
	text-decoration: none;
}
.header__button a + a {
	margin-left: 10px;
}
.header__button a img {
	width: 1.33em;
	margin-right: .25em;
	vertical-align: middle;
}

/* -------------------------------- *\
    Main
\* -------------------------------- */
.content {
	padding: 35px 0;
}
.wrapper {
	position: relative;
	width: 94%;
	max-width: 1000px;
	margin: 0 auto;
}
.section {
	margin-bottom: 80px;
}

/* 検索結果ページ */
.result {
	margin-bottom: 50px;
}

/* 詳細ページ */
.detail__image {
	margin-bottom: 30px;
}

/* -------------------------------- *\
    Footer
\* -------------------------------- */
.footer {
	padding: 15px;
}
.copyright {
	font-size: 1.2rem;
	text-align: center;
}

/* =================================================================
   Object
   ================================================================= */
/* -----------------------------------------------------------------
   Component
   ----------------------------------------------------------------- */
/* -------------------------------- *\
    Typography
\* -------------------------------- */
/* Headings */
.h1 {
	margin-bottom: .5em;
	color: #193a7f;
	font-weight: 600;
	font-size: 3.2rem;
	line-height: 1.4;
	letter-spacing: 0;
}
.h2 {
	color: #193a7f;
	font-weight: 600;
	font-size: 2.1rem;
	line-height: 1.4117;
	letter-spacing: 0;
}
.h3 {
	margin-top: .5em;
	margin-bottom: .5em;
	color: #193a7f;
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1.416;
	letter-spacing: 0;
}

/* Lists */
.list-unstyled {
	padding-left: 0;
	list-style: none;
}
.list-inline li {
	display: inline-block;
	margin-right: 1em;
}

/* -------------------------------- *\
 Flex Grid
\* -------------------------------- */
.row {
	display: flex;
	flex-wrap: wrap;
	margin-right: -8px;
	margin-left: -8px;
}
.row--reverse { flex-direction: row-reverse; }
.justify-start { justify-content: flex-start; }
.justify-center { justify-content: center; }
.justify-end { justify-content: flex-end; }
.justify-between { justify-content: space-between; }
.justify-around { justify-content: space-around; }
.align-items-stretch { align-items: stretch; }
.align-items-start { align-items: flex-start; }
.align-items-center { align-items: center; }
.align-items-end { align-items: flex-end; }

[class*="col"] {
	flex-grow: 1;
	flex-basis: 0%;
	max-width: 100%;
	padding-right: 8px;
	padding-left: 8px;
}
.col-auto {
	flex-basis: auto;
	max-width: none;
}
.col-10 {
	flex-basis: 10%;
	max-width: 10%;
}
.col-20 {
	flex-basis: 20%;
	max-width: 20%;
}
.col-25 {
	flex-basis: 25%;
	max-width: 25%;
}
.col-30 {
	flex-basis: 30%;
	max-width: 30%;
}
.col-33 {
	flex-basis: 33.3333%;
	max-width: 33.3333%;
}
.col-40 {
	flex-basis: 40%;
	max-width: 40%;
}
.col-50 {
	flex-basis: 50%;
	max-width: 50%;
}
.col-60 {
	flex-basis: 60%;
	max-width: 60%;
}
.col-66 {
	flex-basis: 66.6666%;
	max-width: 66.6666%;
}
.col-70 {
	flex-basis: 70%;
	max-width: 70%;
}
.col-75 {
	flex-basis: 75%;
	max-width: 75%;
}
.col-80 {
	flex-basis: 80%;
	max-width: 80%;
}
.col-90 {
	flex-basis: 90%;
	max-width: 90%;
}
.col-100 {
	flex-basis: 100%;
	max-width: 100%;
}

/* -------------------------------- *\
    Buttons
\* -------------------------------- */
.btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	-webkit-transition: all .15s ease;
	display: inline-block;
	appearance: none;
	position: relative;
	max-width: 100%;
	margin: 0;
	padding: .75em 1em;
	border: .1rem solid hsl(0, 0%, 85%);
	border-radius: 4px;
	background-color: transparent;
	color: var(--gray-1);
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 1;
	font-family: inherit;
	text-align: center;
	text-decoration: none !important;
	vertical-align: middle;
	transition: all .15s ease;
}
.btn:not(:disabled) {
	cursor: pointer;
}
.btn[aria-disabled="true"] {
	opacity: .5;
}
.btn:hover {
	border-color: var(--gray-6);
	color: var(--gray-1);
}
.btn:focus {
	-webkit-transition: outline 0s;
	outline: 2px auto Highlight;
	outline: 5px auto -webkit-focus-ring-color;
	transition: outline 0s;
}

/* Sizes */
.btn--large {
	width: 400px;
	font-size: 1.8rem;
}
.btn--small {
	padding: .5em 1em;
	font-size: 1.2rem;
	white-space: nowrap;
}
.btn--wide {
	width: 190px;
	margin: 5px;
}

/* Themes */
.btn--primary {
	border-color: transparent !important;
	background-color: #193a7f;
	color: #fff !important;
}
.btn--primary:hover {
	background-color: hsl(220, 67%, 38%);
}
.btn--secondary {
	border-color: transparent !important;
	background-color: #b7b7b7;
	color: #fff !important;
}
.btn--secondary:hover {
	background-color: #c5c5c5;
}

/* -------------------------------- *\
    Tables
\* -------------------------------- */
.table {
	width: 100%;
	line-height: 1.5;
}
.table th,
.table td {
	padding: .3em;
	border: 1px solid hsl(0, 0%, 80%);
}
.table th {
	background: #ebedf0;
	font-weight: normal;
}
.table thead th {
	text-align: center;
}
.table tbody th {
	text-align: left;
}

/* レスポンシブ */

/* -------------------------------- *\
    Form Element
\* -------------------------------- */
.form-input,
.form-select,
.form-textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	-webkit-transition: all .1s;
	appearance: none;
	margin: .2rem 0;
	padding: 0 .5em;
	border: 1px solid hsl(0, 0%, 80%);
	border-radius: 4px;
	outline: 0;
	background-color: #fff;
	color: inherit;
	font-size: 1.6rem;
	transition: all .1s;
}
.form-input {
	display: inline-block;
	max-width: 100%;
	height: 2em;
	line-height: 1;
}
.form-input::-ms-clear,
.form-input::-ms-reveal {
	/* IE10以上用 */
	height: 20px;
	margin-right: -6px;
	color: rgba(0, 0, 0, .5);
}
.form-select {
	height: 2em;
	text-overflow: ellipsis;
}
.form-select:not([multiple]) {
	padding-right: 1em;
	background: #fff url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSI0Ij48cGF0aCBkPSJNNCAwaDZMNyA0Ii8+PC9zdmc+") no-repeat right center / 1em;
	line-height: normal;
	vertical-align: middle;
}
.form-select[multiple] {
	height: auto;
}
.form-select[multiple] option,
.form-select[size] option {
	padding: .1rem .2rem;
}
.form-select::-ms-expand {
	display: none;
}
.form-textarea {
	height: auto;
	min-height: 8em;
	line-height: 1.4;
}
.form-input:focus,
.form-select:focus,
.form-textarea:focus {
	-webkit-box-shadow: 0 0 0 .3rem hsla(220, 67%, 29%, .2);
	border-color: #193a7f;
	box-shadow: 0 0 0 .3rem hsla(220, 67%, 29%, .2);
}
[class*="form-"]::-webkit-input-placeholder {
	color: rgba(0, 0, 0, .25);
}
[class*="form-"]::-moz-placeholder {
	color: rgba(0, 0, 0, .25);
}
[class*="form-"]::placeholder {
	color: rgba(0, 0, 0, .25);
}
[class*="form-"]:disabled,
[class*="form-"][readonly] {
	background-color: #f5f5f7;
	color: hsl(0, 0%, 50%);
}

/* チェックボックス・ラジオボタン */
.form-check {
	display: inline-block;
	position: relative;
	margin: .2rem 0;
	padding-left: 2.5rem;
	line-height: 1.5;
}
.form-check-input {
	-webkit-appearance: none;
	-moz-appearance: none;
	-webkit-background-size: contain;
	appearance: none;
	width: 1em;
	height: 1em;
	border: 1px solid hsl(0, 0%, 80%);
	outline: none;
	background-position: center center;
	background-size: contain;
	background-color: #fff;
	font-size: inherit;
	vertical-align: top;
}
.form-check-input[type="checkbox"] {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggc3R5bGU9ImZpbGw6I2ZmZjsiIGQ9Ik00LDE1LjIsNy4yLDEybDYuNCw2LjRMMjQuOCw3LjIsMjgsMTAuNCwxMy42LDI0LjhaIi8+PC9zdmc+);
}
.form-check-input[type="radio"] {
	border-radius: 50%;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PGNpcmNsZSBzdHlsZT0iZmlsbDojZmZmOyIgY3g9IjE2IiBjeT0iMTYiIHI9IjciLz48L3N2Zz4=);
}
.form-check-input:checked {
	border-color: #193a7f;
	background-color: #193a7f;
}
.form-check-input:focus {
	-webkit-box-shadow: 0 0 0 .3rem hsla(220, 67%, 29%, .2);
	border-color: hsl(220, 67%, 38%);
	box-shadow: 0 0 0 .3rem hsla(220, 67%, 29%, .2);
}
.form-check .form-check-input {
	position: absolute;
	top: .1em;
	left: 0;
	font-size: 2rem;
}
.form-check-label {
	display: inline-block;
	line-height: 1;
}
.form-check input:disabled,
.form-check input:disabled ~ .form-check-label {
	opacity: .5;
}
.form-check input:disabled:checked {
	border-color: hsl(0, 0%, 50%);
	background-color: hsl(0, 0%, 50%);
}

/* サイズ */
[class*="form-"].form-size-s {
	font-size: 1.4rem;
}
[class*="form-"].form-size-l {
	font-size: 1.8rem;
}
.form-input.form-size-s,
.form-select.form-size-s {
	height: 2em;
}
.form-input.form-size-l,
.form-select.form-size-l {
	height: 2.5em;
}

/* 幅 */
[class*="form-"].form-width-l { width: 500px; }
[class*="form-"].form-width-m { width: 260px; }
[class*="form-"].form-width-s { width: 140px; }
[class*="form-"].form-width-xs { width: 80px; }

/* -------------------------------- *\
    required属性ステート
\* -------------------------------- */
form:not([novalidate]) .form-input:required:invalid,
form:not([novalidate]) .form-select:required:invalid,
form:not([novalidate]) .form-check input:required:invalid {
	border-color: #e00f31;
}
form:not([novalidate]) .form-input:required:invalid:focus,
form:not([novalidate]) .form-select:required:invalid:focus,
form:not([novalidate]) .form-check input:required:invalid:focus {
	-webkit-box-shadow: 0 0 0 .3rem hsla(350, 87%, 47%, .2);
	box-shadow: 0 0 0 .3rem hsla(350, 87%, 47%, .2);
}

/* -------------------------------- *\
    Bootstrapバリデーション
\* -------------------------------- */
.invalid-feedback,
.valid-feedback {
	display: none;
	margin-top: .4rem;
	font-size: 1.3rem;
	line-height: 1.5;
	cursor: default;
}
.invalid-feedback {
	padding-left: 1.5em;
	background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMCIgaGVpZ2h0PSIzMCIgdmlld0JveD0iMCAwIDMwIDMwIj48cGF0aCBzdHlsZT0iZmlsbDojZTAwZjMxIiBkPSJNMjcuNywyM2gwTDE2Ljg0LDQuMjJhMiwyLDAsMCwwLTMuNjgsMEwyLjMsMjNoMEEyLDIsMCwwLDAsMiwyNGEyLDIsMCwwLDAsMiwySDI2YTIsMiwwLDAsMCwyLTJBMiwyLDAsMCwwLDI3LjcsMjNaTTE2LjIxLDExLjM2LDE2LDE3LjgzSDE0bC0uMi02LjQ3Wk0xNSwyMi4xOWMtLjgzLDAtMS4zMi0uNDQtMS4zMi0xLjE4QTEuMTYsMS4xNiwwLDAsMSwxNSwxOS44MSwxLjE2LDEuMTYsMCwwLDEsMTYuMzIsMjFDMTYuMzIsMjEuNzUsMTUuODMsMjIuMTksMTUsMjIuMTlaIi8+PC9zdmc+) no-repeat left .2em/1.3em 1.3em;
	color: #e00f31;
}
.valid-feedback { color: #19b557; }

/* バリデーション結果 */
form[novalidate].was-validated :valid ~ .valid-feedback,
form[novalidate].was-validated :invalid ~ .invalid-feedback {
	display: block;
}
form[novalidate].was-validated .form-input:required:invalid,
form[novalidate].was-validated .form-select:required:invalid,
form[novalidate].was-validated .form-textarea:required:invalid,
form[novalidate].was-validated .form-check input:required:invalid {
	border-color: #e00f31;
}
form[novalidate].was-validated .form-input:required:valid,
form[novalidate].was-validated .form-select:required:valid,
form[novalidate].was-validated .form-text:required:valid {
	border-color: #19b557;
}
form[novalidate].was-validated .form-input:required:invalid:focus,
form[novalidate].was-validated .form-select:required:invalid:focus,
form[novalidate].was-validated .form-textarea:required:invalid:focus,
form[novalidate].was-validated .form-check input:required:invalid:focus {
	-webkit-box-shadow: 0 0 0 .3rem hsla(350, 87%, 47%, .2);
	box-shadow: 0 0 0 .3rem hsla(350, 87%, 47%, .2);
}
form[novalidate].was-validated .form-input:required:valid:focus,
form[novalidate].was-validated .form-select:required:valid:focus,
form[novalidate].was-validated .form-check input:required:valid:focus {
	-webkit-box-shadow: 0 0 0 .3rem hsla(144, 50%, 40%, .2);
	box-shadow: 0 0 0 .3rem hsla(144, 50%, 40%, .2);
}

/* -------------------------------- *\
    フォームレイアウト
\* -------------------------------- */
.form-wrap {
	margin: 40px 0;
	padding: 30px 8% 40px;
	border-radius: 10px;
	background: #ebedf0;
}
.form-item {
	padding: .5em 0;
	border-bottom: 1px solid #ccc;
}
.form-label {
	display: block;
	position: relative;
	padding: .4rem 0;
	font-weight: bold;
}
.form-help {
	margin-top: .4rem;
	color: var(--gray-4);
	font-size: calc(1em - .2rem);
}
.form .form-input,
.form .form-select,
.form .form-textarea {
	display: block;
}
.form-controls dt {
	font-weight: bold;
}
.form-controls dd + dt {
	margin-top: 10px;
}

/* フォームラベル */
.label-required {
	display: inline-block;
	padding: .3rem .5rem .4rem;
	background-color: #ed5f5b;
	color: #fff;
	font-style: normal;
	font-weight: bold;
	font-size: 1.1rem;
	line-height: 1;
	text-decoration: none;
	vertical-align: .1em;
	white-space: nowrap;
}
[lang="en"] .label-required {
	padding: 0;
	background: transparent;
	color: #e00;
	font-size: 1.4rem;
}

/* ステップ */
.form-step {
	width: 550px;
	max-width: 100%;
	margin: 40px auto;
}
.form-step ol {
	display: table;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: step;
	table-layout: fixed;
}
.form-step li {
	display: table-cell;
	position: relative;
	padding: 0 5px;
	color: #808080;
	font-weight: bold;
	font-size: 1.3rem;
	line-height: 1.2;
	text-align: center;
	vertical-align: top;
	counter-increment: step;
}
.form-step li + li::before {
	z-index: -1;
	position: absolute;
	top: 16px;
	right: 50%;
	width: 100%;
	border-top: 2px solid #ccc;
	content: "";
}
.form-step .icon {
	display: block;
	position: relative;
	width: 34px;
	height: 34px;
	margin: 0 auto 10px;
	border: 2px solid transparent;
	border-radius: 50%;
	background: #ccc;
	color: #fff;
	font-size: 1.4rem;
	line-height: 30px;
	text-align: center;
}
.form-step .icon::before {
	content: counter(step);
}
.form-step .is-active {
	color: #2e68c1;
}
.form-step .is-active::before {
	border-color: #2e68c1;
}
.form-step .is-active .icon {
	border: 2px solid #2e68c1;
	background: #fff;
	color: #2e68c1;
}
.form-step .is-passed {
	color: #2e68c1;
}
.form-step .is-passed .icon {
	background: #2e68c1;
}
.form-step .is-passed .icon::before {
	-webkit-transform: rotate(45deg);
	display: inline-block;
	width: .5em;
	height: .75em;
	margin-bottom: 1px;
	transform: rotate(45deg);
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	content: "";
}

/* -------------------------------- *\
    Pagination
\* -------------------------------- */
.pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}
.pagination li {
	padding: 0 .5rem;
}
.pagination li > * {
	display: inline-block;
	min-width: 1.5em;
	padding: .5rem .2rem;
	line-height: 1;
	text-align: center;
	text-decoration: none;
}
.pagination li > a {
	color: #193a7f;
}
.pagination li[disabled] > a,
.pagination li.disabled > a {
	cursor: default;
	opacity: .3;
	pointer-events: none;
}
.pagination [aria-disabled="true"] {
	cursor: inherit;
}
.pagination li.active > * {
	background: #193a7f;
	color: #fff;
	font-weight: bold;
}
.pagination .pagination-prev {
	margin-right: auto;
}
.pagination .pagination-next {
	margin-left: auto;
}

/* -----------------------------------------------------------------
   Project
   ----------------------------------------------------------------- */
/* -------------------------------- *\
    検索ボックス
\* -------------------------------- */
.search1 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
}
.search1__label {
	flex: 1 0 100%;
	width: 100%;
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 1.6rem;
}
.search1__field {
	margin: 5px 0;
}
.search1__field .form-input {
	width: 4em;
	height: 2em;
	margin: 0;
	font-size: 2.4rem;
}
.search1__button {
	margin: 5px 0;
	padding-left: 10px;
}
.search1__button .btn {
	width: 80px !important;
	margin: 0 !important;
}
.search2 {
	margin-bottom: 15px;
}
.search2 + .search2 {
	padding-top: 15px;
	border-top: 1px solid hsl(0, 0%, 85%);
}
.search2__label {
	font-weight: bold;
	font-size: 1.6rem;
}
.search2__field .form-check-label {
	font-size: 1.4rem;
}

/* トップページ */
.index-block {
	margin: 15px 0 40px;
	padding: 20px;
	border-radius: 10px;
	background: #ebedf0;
	font-size: 1.6rem;
}
.index-block .search1 {
	padding: 0;
}

/* -------------------------------- *\
    検索結果
\* -------------------------------- */
/* 検索結果一覧 */
.result .table {
	font-size: 1.2rem;
	text-align: center;
}
.result .table .en {
	display: inline-block;
	margin-top: 2px;
	color: #506485;
	font-size: 1rem;
	line-height: 1.1;
}
.result .table a {
	color: inherit;
	text-decoration: underline;
}
.result .table a:hover {
	text-decoration: none;
}
.label {
	display: inline-block;
	padding: 0 5px;
	background: #c02836;
	color: #fff;
	font-size: 1.1rem;
}

/* 検索タブ切り替えパネル */
.tabs__panels {
	margin-bottom: 30px;
	padding: 20px;
	border-radius: 0 0 10px 10px;
	background: #ebedf0;
}
.tabs__tablist {
	display: flex;
	align-items: flex-end;
}
.tabs__tablist button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	flex: 1 0 50%;
	max-width: 50%;
	border: none;
	border-radius: 10px 10px 0 0;
	background: #ebedf0;
	color: #193a7f;
	font-weight: bold;
	font-size: 1.6rem;
}
.tabs__tablist button[aria-selected="true"] {
	position: relative;
	padding: 15px 10px 10px;
	overflow: hidden;
}
.tabs__tablist button[aria-selected="true"]::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: #193a7f;
	content: "";
}
.tabs__tablist button[aria-selected="false"] {
	-webkit-box-shadow: inset 0 -3px 8px -3px rgba(0, 0, 0, .1);
	padding: 10px 10px 6px;
	background: #d2d4d7;
	box-shadow: inset 0 -3px 8px -3px rgba(0, 0, 0, .1);
	color: #7e8187;
}

/* 詳細ページ */
.detail-buttons {
	margin: 40px 0;
}
.detail-buttons .btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 250px;
	height: 64px;
	margin: 10px auto;
	padding: 0 .5em;
	line-height: 1.2;
}
.detail-buttons .btn img {
	margin-right: 5px;
}

/* 英語版 */
[lang="en"] .search1__label {
	line-height: 1.2;
}
[lang="en"] .search1__button .btn {
	width: 90px;
	padding-right: 0;
	padding-left: 0;
}
[lang="en"] .tabs__tablist button[aria-selected="true"] {
	padding: 18px 10px 13px;
}
[lang="en"] .tabs__tablist button[aria-selected="false"] {
	padding: 13px 10px 9px;
}

/* -----------------------------------------------------------------
   Utility
   ----------------------------------------------------------------- */
/* -------------------------------- *\
    Display
\* -------------------------------- */
/*
 * 要素の表示/非表示を制御する汎用クラス
 */
.d-none { display: none !important; }
.d-block { display: block !important; }
.d-inline { display: inline !important; }
.d-inline-block { display: inline-block !important; }

/* スクリーンリーダー用 */
.visually-hidden,
.sr-only,
.sr-only-focusable:not(:focus) {
	clip: rect(0, 0, 0, 0);
	position: absolute;
	bottom: 0;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	white-space: nowrap;
}

/* -------------------------------- *\
    Text
\* -------------------------------- */
/*
 * テキストのスタイルを指定する汎用クラス
 */
/* 文字の太さ */
.font-bold {
	font-weight: bold;
}
.font-normal {
	font-weight: 400;
}

/* 文字サイズ */
.font-size-l {
	font-size: 2em;
	line-height: 1.3;
}
.font-size-m {
	font-size: 1.25em;
}
.font-size-s {
	font-size: .9em;
}

/* 水平方向の配置 */
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }

/* 字下げ */
.text-indent-1,
li.text-indent-1,
ul.text-indent-1 > li {
	padding-left: 1em;
	text-indent: -1em;
}
ul[class*="text-indent-"] {
	padding-left: 0;
	list-style: none;
	text-indent: 0;
}

/* -------------------------------- *\
    Sizes
\* -------------------------------- */
.w-10 { width: 10%; }
.w-20 { width: 20%; }
.w-25 { width: 25%; }
.w-30 { width: 30%; }
.w-33 { width: 33%; }
.w-40 { width: 40%; }
.w-50 { width: 50%; }
.w-60 { width: 60%; }
.w-66 { width: 66%; }
.w-70 { width: 70%; }
.w-75 { width: 75%; }
.w-80 { width: 80%; }
.w-90 { width: 90%; }
.w-100 { width: 100%; }
.w-auto { width: auto; }

/* -------------------------------- *\
 Spaces
\* -------------------------------- */
/* Margins */
.mt-0 { margin-top: 0 !important; }
.mr-0 { margin-right: 0 !important; }
.mb-0 { margin-bottom: 0 !important; }
.ml-0 { margin-left: 0 !important; }
.mt-1 { margin-top: calc(1rem * .5) !important; }
.mr-1 { margin-right: calc(1rem * .5) !important; }
.mb-1 { margin-bottom: calc(1rem * .5) !important; }
.ml-1 { margin-left: calc(1rem * .5) !important; }
.mt-2 { margin-top: 1rem !important; }
.mr-2 { margin-right: 1rem !important; }
.mb-2 { margin-bottom: 1rem !important; }
.ml-2 { margin-left: 1rem !important; }
.mt-3 { margin-top: calc(1rem * 2) !important; }
.mr-3 { margin-right: calc(1rem * 2) !important; }
.mb-3 { margin-bottom: calc(1rem * 2) !important; }
.ml-3 { margin-left: calc(1rem * 2) !important; }
.mt-4 { margin-top: calc(1rem * 3) !important; }
.mr-4 { margin-right: calc(1rem * 3) !important; }
.mb-4 { margin-bottom: calc(1rem * 3) !important; }
.ml-4 { margin-left: calc(1rem * 3) !important; }
.mt-5 { margin-top: calc(1rem * 5) !important; }
.mr-5 { margin-right: calc(1rem * 5) !important; }
.mb-5 { margin-bottom: calc(1rem * 5) !important; }
.ml-5 { margin-left: calc(1rem * 5) !important; }
.mx-auto,.mr-auto { margin-right: auto !important; }
.mx-auto,.ml-auto { margin-left: auto !important; }

/* Paddings */
.p-0 { padding: 0 !important; }
.pt-0 { padding-top: 0 !important; }
.pb-0 { padding-bottom: 0 !important; }
.pt-1 { padding-top: calc(1rem * .5) !important; }
.pb-1 { padding-bottom: calc(1rem * .5) !important; }
.pt-2 { padding-top: 1rem !important; }
.pb-2 { padding-bottom: 1rem !important; }
.pt-3 { padding-top: calc(1rem * 2) !important; }
.pb-3 { padding-bottom: calc(1rem * 2) !important; }
.pt-4 { padding-top: calc(1rem * 3) !important; }
.pb-4 { padding-bottom: calc(1rem * 3) !important; }
.pt-5 { padding-top: calc(1rem * 5) !important; }
.pb-5 { padding-bottom: calc(1rem * 5) !important; }

/* -------------------------------- *\
    Utilities
\* -------------------------------- */
/* Overflow */
.u-overflow-hidden { overflow: hidden; }
.u-overflow-auto { overflow: auto; }

/* Float */
.u-float-left { float: left; }
.u-float-right { float: right; }
.u-clearfix::after {
	display: block;
	clear: both;
	content: "";
}
@media (min-width: 35.001em){
	.row--reverse-sm { flex-direction: row-reverse; }
	.justify-start-sm { justify-content: flex-start; }
	.justify-center-sm { justify-content: center; }
	.justify-end-sm { justify-content: flex-end; }
	.justify-between-sm { justify-content: space-between; }
	.justify-around-sm { justify-content: space-around; }
	.align-items-stretch-sm { align-items: stretch; }
	.align-items-start-sm { align-items: flex-start; }
	.align-items-center-sm { align-items: center; }
	.align-items-end-sm { align-items: flex-end; }
	.col-auto-sm {
		flex-basis: auto;
		max-width: none;
	}
	.col-10-sm {
		flex-basis: 10%;
		max-width: 10%;
	}
	.col-20-sm {
		flex-basis: 20%;
		max-width: 20%;
	}
	.col-25-sm {
		flex-basis: 25%;
		max-width: 25%;
	}
	.col-30-sm {
		flex-basis: 30%;
		max-width: 30%;
	}
	.col-33-sm {
		flex-basis: 33.3333%;
		max-width: 33.3333%;
	}
	.col-40-sm {
		flex-basis: 40%;
		max-width: 40%;
	}
	.col-50-sm {
		flex-basis: 50%;
		max-width: 50%;
	}
	.col-60-sm {
		flex-basis: 60%;
		max-width: 60%;
	}
	.col-66-sm {
		flex-basis: 66.6666%;
		max-width: 66.6666%;
	}
	.col-70-sm {
		flex-basis: 70%;
		max-width: 70%;
	}
	.col-75-sm {
		flex-basis: 75%;
		max-width: 75%;
	}
	.col-80-sm {
		flex-basis: 80%;
		max-width: 80%;
	}
	.col-90-sm {
		flex-basis: 90%;
		max-width: 90%;
	}
	.col-100-sm {
		flex-basis: 100%;
		max-width: 100%;
	}
	.search2__field ul {
		-webkit-column-width: 10em;
		-moz-column-width: 10em;
		column-width: 10em;
	}
	.search2__field.type ul {
		-webkit-column-width: 6em;
		-moz-column-width: 6em;
		column-width: 6em;
	}
	.d-none-sm { display: none !important; }
	.d-block-sm { display: block !important; }
	.d-inline-sm { display: inline !important; }
	.d-inline-block-sm { display: inline-block !important; }
	.text-left-sm { text-align: left; }
	.text-center-sm { text-align: center; }
	.text-right-sm { text-align: right; } }
@media (min-width: 45.001em){
	.header__inner {
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
		padding-bottom: 20px;
	}
	.header__title {
		flex: 1 0 55%;
		max-width: 55%;
		margin: 0 0 10px;
	}
	.header__title img {
		max-width: 422px;
	}
	.row--reverse-md { flex-direction: row-reverse; }
	.justify-start-md { justify-content: flex-start; }
	.justify-center-md { justify-content: center; }
	.justify-end-md { justify-content: flex-end; }
	.justify-between-md { justify-content: space-between; }
	.justify-around-md { justify-content: space-around; }
	.align-items-stretch-md { align-items: stretch; }
	.align-items-start-md { align-items: flex-start; }
	.align-items-center-md { align-items: center; }
	.align-items-end-md { align-items: flex-end; }
	.col-auto-md {
		flex-basis: auto;
		max-width: none;
	}
	.col-10-md {
		flex-basis: 10%;
		max-width: 10%;
	}
	.col-20-md {
		flex-basis: 20%;
		max-width: 20%;
	}
	.col-25-md {
		flex-basis: 25%;
		max-width: 25%;
	}
	.col-30-md {
		flex-basis: 30%;
		max-width: 30%;
	}
	.col-33-md {
		flex-basis: 33.3333%;
		max-width: 33.3333%;
	}
	.col-40-md {
		flex-basis: 40%;
		max-width: 40%;
	}
	.col-50-md {
		flex-basis: 50%;
		max-width: 50%;
	}
	.col-60-md {
		flex-basis: 60%;
		max-width: 60%;
	}
	.col-66-md {
		flex-basis: 66.6666%;
		max-width: 66.6666%;
	}
	.col-70-md {
		flex-basis: 70%;
		max-width: 70%;
	}
	.col-75-md {
		flex-basis: 75%;
		max-width: 75%;
	}
	.col-80-md {
		flex-basis: 80%;
		max-width: 80%;
	}
	.col-90-md {
		flex-basis: 90%;
		max-width: 90%;
	}
	.col-100-md {
		flex-basis: 100%;
		max-width: 100%;
	}
	.form-item {
		display: flex;
	}
	.form-label {
		flex: 1 0 12em;
		max-width: 12em;
		padding: .75em 2em 0 0;
	}
	.form-label .label-required {
		position: absolute;
		top: 1.2em;
		right: 0;
	}
	[lang="en"] .form-label .label-required {
		position: static;
	}
	.form-controls {
		flex: 1 0 auto;
		padding-left: 2rem;
	}
	.pagination li {
		padding: 0 .2em;
	}
	.detail-buttons {
		display: flex;
		justify-content: center;
		margin: 60px 0;
	}
	.detail-buttons .btn {
		margin: 10px;
	}
	.d-none-md { display: none !important; }
	.d-block-md { display: block !important; }
	.d-inline-md { display: inline !important; }
	.d-inline-block-md { display: inline-block !important; }
	.text-left-md { text-align: left; }
	.text-center-md { text-align: center; }
	.text-right-md { text-align: right; } }
@media (min-width: 60.001em){
	.header__inner {
		max-width: 1000px;
		height: 110px;
		padding-bottom: 20px;
	}
	.header__button a {
		font-size: 1.6rem;
	}
	.detail {
		display: flex;
		justify-content: space-between;
	}
	.detail__image {
		flex: 1 0 48.5%;
		max-width: 48.5%;
	}
	.detail__data {
		flex: 1 0 47%;
		max-width: 47%;
	}
	.row--reverse-lg { flex-direction: row-reverse; }
	.justify-start-lg { justify-content: flex-start; }
	.justify-center-lg { justify-content: center; }
	.justify-end-lg { justify-content: flex-end; }
	.justify-between-lg { justify-content: space-between; }
	.justify-around-lg { justify-content: space-around; }
	.align-items-stretch-lg { align-items: stretch; }
	.align-items-start-lg { align-items: flex-start; }
	.align-items-center-lg { align-items: center; }
	.align-items-end-lg { align-items: flex-end; }
	.col-auto-lg {
		flex-basis: auto;
		max-width: none;
	}
	.col-10-lg {
		flex-basis: 10%;
		max-width: 10%;
	}
	.col-20-lg {
		flex-basis: 20%;
		max-width: 20%;
	}
	.col-25-lg {
		flex-basis: 25%;
		max-width: 25%;
	}
	.col-30-lg {
		flex-basis: 30%;
		max-width: 30%;
	}
	.col-33-lg {
		flex-basis: 33.3333%;
		max-width: 33.3333%;
	}
	.col-40-lg {
		flex-basis: 40%;
		max-width: 40%;
	}
	.col-50-lg {
		flex-basis: 50%;
		max-width: 50%;
	}
	.col-60-lg {
		flex-basis: 60%;
		max-width: 60%;
	}
	.col-66-lg {
		flex-basis: 66.6666%;
		max-width: 66.6666%;
	}
	.col-70-lg {
		flex-basis: 70%;
		max-width: 70%;
	}
	.col-75-lg {
		flex-basis: 75%;
		max-width: 75%;
	}
	.col-80-lg {
		flex-basis: 80%;
		max-width: 80%;
	}
	.col-90-lg {
		flex-basis: 90%;
		max-width: 90%;
	}
	.col-100-lg {
		flex-basis: 100%;
		max-width: 100%;
	}
	.table th,
	.table td {
		padding: .5em;
	}
	.search1 {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 30px 0;
	}
	.search1__label {
		flex: 1 0 9em;
		max-width: 9em;
		margin-bottom: 0;
	}
	.search2 {
		display: flex;
		width: 100%;
	}
	.search2__label {
		flex: 1 0 10em;
		max-width: 10em;
		padding-top: .3em;
	}
	.search2__field {
		flex: 1;
		width: 100%;
	}
	.index-block {
		padding: 45px 6%;
	}
	.tabs__panels {
		padding: 20px 6% 30px;
	}
	.d-none-lg { display: none !important; }
	.d-block-lg { display: block !important; }
	.d-inline-lg { display: inline !important; }
	.d-inline-block-lg { display: inline-block !important; }
	.text-left-lg { text-align: left; }
	.text-center-lg { text-align: center; }
	.text-right-lg { text-align: right; }
	.mt-1 { margin-top: 1rem !important; }
	.mr-1 { margin-right: 1rem !important; }
	.mb-1 { margin-bottom: 1rem !important; }
	.ml-1 { margin-left: 1rem !important; }
	.mt-2 { margin-top: calc(1rem * 2) !important; }
	.mr-2 { margin-right: calc(1rem * 2) !important; }
	.mb-2 { margin-bottom: calc(1rem * 2) !important; }
	.ml-2 { margin-left: calc(1rem * 2) !important; }
	.mt-3 { margin-top: calc(1rem * 4) !important; }
	.mr-3 { margin-right: calc(1rem * 4) !important; }
	.mb-3 { margin-bottom: calc(1rem * 4) !important; }
	.ml-3 { margin-left: calc(1rem * 4) !important; }
	.mt-4 { margin-top: calc(1rem * 6) !important; }
	.mr-4 { margin-right: calc(1rem * 6) !important; }
	.mb-4 { margin-bottom: calc(1rem * 6) !important; }
	.ml-4 { margin-left: calc(1rem * 6) !important; }
	.mt-5 { margin-top: calc(1rem * 10) !important; }
	.mr-5 { margin-right: calc(1rem * 10) !important; }
	.mb-5 { margin-bottom: calc(1rem * 10) !important; }
	.ml-5 { margin-left: calc(1rem * 10) !important; }

	.pt-1 { padding-top: 1rem !important; }
	.pb-1 { padding-bottom: 1rem !important; }
	.pt-2 { padding-top: calc(1rem * 2) !important; }
	.pb-2 { padding-bottom: calc(1rem * 2) !important; }
	.pt-3 { padding-top: calc(1rem * 4) !important; }
	.pb-3 { padding-bottom: calc(1rem * 4) !important; }
	.pt-4 { padding-top: calc(1rem * 6) !important; }
	.pb-4 { padding-bottom: calc(1rem * 6) !important; }
	.pt-5 { padding-top: calc(1rem * 10) !important; }
	.pb-5 { padding-bottom: calc(1rem * 10) !important; } }
@media (min-width: 80.001em){
	.header__inner {
		max-width: 1160px;
	}
	.wrapper {
		max-width: 1160px;
	}
	.wrapper--narrow {
		max-width: 790px;
	} }
@media (max-width: 45em){
	.table-scroller {
		display: block;
		width: 100%;
		overflow-x: auto;
	}
	.table-scroller table {
		min-width: 760px;
	} }
@media (max-width: 35em){
	.search2__field ul {
		-webkit-column-width: 30vw;
		-moz-column-width: 30vw;
		column-width: 30vw;
	}
	.search2__field.type ul {
		-webkit-column-width: 17vw;
		-moz-column-width: 17vw;
		column-width: 17vw;
	} }
@media (prefers-reduced-motion: reduce){
	*,
	*::before,
	*::after {
		-webkit-transition-duration: .01s !important;
		-webkit-animation-duration: .01s !important;
		-webkit-animation-iteration-count: 1 !important;
		animation-duration: .01s !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01s !important;
	} }
@media print{
	.d-none-print { display: none !important; }
	.d-block-print { display: inline !important; }
	.d-inline-print { display: inline !important; }
	.d-inline-block-print { display: inline-block !important; } }
/*# sourceMappingURL=maps/main.css.map */
