@charset "UTF-8";
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ }

body { margin: 0; }

h1 { font-size: 2em; margin: 0.67em 0; }

hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }

pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

a { background-color: transparent; }

abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ }

b, strong { font-weight: bolder; }

code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

small { font-size: 80%; }

sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

img { border-style: none; }

button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ }

button, input { /* 1 */ overflow: visible; }

button, select { /* 1 */ text-transform: none; }

button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

fieldset { padding: 0.35em 0.75em 0.625em; }

legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }

progress { vertical-align: baseline; }

textarea { overflow: auto; }

[type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ }

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

[type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ }

[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }

details { display: block; }

summary { display: list-item; }

template { display: none; }

[hidden] { display: none; }

/******************************************************************
reset
******************************************************************/
main { display: block; }

h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dd { margin: 0; padding: 0; }

li { list-style: none; }

table { border-collapse: collapse; border-spacing: 0; }

iframe { border: 0; }

button { background-color: transparent; border: none; cursor: pointer; padding: 0; appearance: none; }

em { font-style: normal; font-weight: bold; }

fieldset { border: 0; padding: 0; margin: 0; }

address { font-style: normal; }

/******************************************************************
base
******************************************************************/
body { min-width: 320px; font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-size: 0.85rem; color: #2f2f2f; line-height: 1.8; -webkit-font-smoothing: antialiased; }

@media all and (-ms-high-contrast: none) { body { font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; } }

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

body[data-menu-open="true"] { overflow: hidden; }

a { color: #2f2f2f; text-decoration: none; }

a:hover { color: #1f4693; text-decoration: underline; }

h1, h2 { line-height: 1.5; }

h3 { line-height: 1.6; }

h4 { line-height: 1.7; }

small { line-height: 1.6; }

img { max-width: 100%; height: auto; vertical-align: middle; -webkit-backface-visibility: hidden; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #d5d5d5; }

button, input, optgroup, select, textarea { color: #2f2f2f; line-height: inherit; }

/******************************************************************
scroll-lock
******************************************************************/
body.is-scroll-lock { position: fixed; width: 100%; height: 100%; left: 0; }

/******************************************************************
layout - wrapper
******************************************************************/
.l-wrapper { width: 100%; overflow: hidden; }

/******************************************************************
layout - header
******************************************************************/
.l-header { background: #fff; position: relative; z-index: 1000; }

@media print, screen and (min-width: 737px) { .l-header { background: url(/common/img/head_bg1.png) left top no-repeat, url(/common/img/head_bg2.png) right bottom no-repeat; }
  .l-header__inner { max-width: 980px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; padding-top: 0.5rem; padding-bottom: 0.5rem; }
  .l-header__logo { text-align: center; padding: 2rem 0; }
  .l-header__body-sp { display: none; } }

@media screen and (max-width: 736px) { .l-header__inner { display: flex; justify-content: space-between; align-items: center; }
  .l-header__logo { font-size: 0.85rem; padding-left: 0.6rem; }
  .l-header__logo img { max-height: 30px; }
  .l-header__body-pc { display: none; } }

/******************************************************************
layout - nav
******************************************************************/
.l-nav { border-top: 1px solid #d5d5d5; }

@media print, screen and (min-width: 737px) { .l-nav__inner { max-width: 980px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; } }

@media screen and (max-width: 736px) { .l-nav { display: none; } }

/******************************************************************
layout - nav-main
******************************************************************/
@media print, screen and (min-width: 737px) { .l-nav-main { display: flex; }
  .l-nav-main > .l-nav-main__item:first-child { border-left: 1px solid #d5d5d5; }
  .l-nav-main > .l-nav-main__item { flex-grow: 1; width: 14.28571%; }
  .l-nav-main > .l-nav-main__item > a { display: flex; align-items: center; box-sizing: border-box; height: 100%; text-align: center; line-height: 1.5; border-right: 1px solid #d5d5d5; font-weight: bold; padding: 0.6em 0.2em; color: inherit; text-decoration: none; transition-property: background; transition-duration: 0.3s; }
  .l-nav-main > .l-nav-main__item > a:hover { color: inherit; text-decoration: none; }
  .l-nav-main > .l-nav-main__item > a > span { flex-grow: 1; display: block; }
  .l-nav-main > .l-nav-main__item > a:hover { background-color: #f4f4f4; } }

@media print, screen and (max-width: 1010px) { .l-nav-main > .l-nav-main__item > a { font-size: 1.5vw; } }

@media screen and (max-width: 736px) { .l-nav-main > .l-nav-main__item > a { box-sizing: border-box; line-height: 1.5; }
  .l-nav-main > .l-nav-main__item > a > span { display: block; } }

/******************************************************************
layout - nav-mega-overlay
******************************************************************/
.l-nav-mega-overlay { display: none; z-index: 999; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background-color: rgba(0, 0, 0, 0.7); }

/******************************************************************
layout - sp-nav-control
******************************************************************/
@media print, screen and (min-width: 737px) { .l-sp-nav-control { display: none; } }

@media screen and (max-width: 736px) { .l-sp-nav-control { display: inline-block; background: #1f4693; padding: 13px; }
  .l-sp-nav-control__item { display: inline-block; top: -1px; vertical-align: middle; position: relative; border-top: 2px solid #fff; width: 24px; transition-property: all; transition-duration: 0.3s; }
  .l-sp-nav-control__item::before, .l-sp-nav-control__item::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; width: 0; height: 0; left: 0; transition-property: all; transition-duration: 0.3s; }
  .l-sp-nav-control__item::before { border-bottom: 2px solid #fff; width: 24px; bottom: 8px; }
  .l-sp-nav-control__item::after { border-bottom: 2px solid #fff; width: 24px; bottom: -8px; }
  .l-sp-nav-control[aria-expanded="true"] .l-sp-nav-control__item { border-top-color: transparent; }
  .l-sp-nav-control[aria-expanded="true"] .l-sp-nav-control__item::before { bottom: 0; transform: rotate(-45deg); }
  .l-sp-nav-control[aria-expanded="true"] .l-sp-nav-control__item::after { bottom: 0; transform: rotate(45deg); } }

/******************************************************************
layout - sp-nav
******************************************************************/
@media print, screen and (min-width: 737px) { .l-sp-nav { display: none; } }

@media screen and (max-width: 736px) { .l-sp-nav { display: none; border-bottom: 6px solid #1f4693; background-color: #fff; }
  .l-sp-nav--fixed { z-index: 1000; position: absolute; width: 100%; box-sizing: border-box; } }

/******************************************************************
layout - sp-nav-main
******************************************************************/
@media print, screen and (min-width: 737px) { .l-sp-nav-main { display: none; } }

@media screen and (max-width: 736px) { .l-sp-nav-main__item a { display: block; box-sizing: border-box; line-height: 1.5; border-top: 1px solid #d5d5d5; padding: 0.9rem 0.75rem; font-weight: bold; color: inherit; text-decoration: none; }
  .l-sp-nav-main__item a:hover { color: inherit; text-decoration: none; }
  .l-sp-nav-main__item a span { display: block; } }

/******************************************************************
layout - index-visual
******************************************************************/
.l-index-visual { background: #00a3fc url(/common/img/index_visual.jpg) center center/cover; height: 650px; padding-top: 5rem; }

@media screen and (max-width: 736px) { .l-index-visual { background: #00a3fc url(/common/img/index_visual.jpg) center top/auto 110%; } }

@media print, screen and (max-width: 1010px) { .l-index-visual { height: 65vw; padding-top: 10vw; } }

.l-index-visual__inner { position: relative; max-width: 980px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; color: #fff; }

@media print, screen and (min-width: 737px) { .l-index-visual__inner { display: flex; justify-content: space-between; align-items: center; } }

.l-index-visual__left { box-sizing: border-box; border-left: 2px solid #fff; padding-left: 1.5rem; }

@media print, screen and (min-width: 737px) and (max-width: 1010px) { .l-index-visual__left { width: 48%; } }

@media screen and (max-width: 736px) { .l-index-visual__left { padding-left: 1rem; width: 75%; } }

.l-index-visual__right { box-sizing: border-box; border: 1px solid #fff; padding: 1rem; font-weight: bold; font-size: 115%; }

@media print, screen and (min-width: 737px) and (max-width: 1010px) { .l-index-visual__right { width: 48%; font-size: 1.5vw; } }

@media screen and (max-width: 736px) { .l-index-visual__right { display: none; } }

.l-index-visual-sp { padding: 0.7rem; font-size: 100%; background-color: #ebf5ff; }

@media print, screen and (min-width: 737px) { .l-index-visual-sp { display: none; } }

/******************************************************************
layout - visual
******************************************************************/
.l-visual__inner { position: relative; color: #fff; text-shadow: 0px 0px 3px #00a3fc; background: #00a3fc url(/common/img/visual.jpg) center center/cover; }

@media print, screen and (min-width: 737px) { .l-visual__inner { height: 180px; font-size: 1rem; }
  .l-visual__inner span { display: block; font-size: 1.02rem; } }

@media screen and (max-width: 736px) { .l-visual__inner { height: 120px; font-size: 0.75rem; }
  .l-visual__inner span { display: block; font-size: 0.85rem; } }

/******************************************************************
layout - footer
******************************************************************/
.l-footer { margin-top: 2rem; border-top: 1px solid #d5d5d5; }

@media print, screen and (min-width: 737px) { .l-footer { border-bottom: 4rem solid #1f4693; }
  .l-footer__inner { max-width: 980px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; padding-top: 2rem; padding-bottom: 2rem; display: flex; justify-content: space-between; }
  .l-footer__logo { margin-bottom: 1.2rem; }
  .l-footer__right { width: 55%; display: flex; flex-direction: column; justify-content: space-between; }
  .l-footer__nav { display: flex; justify-content: flex-end; flex-wrap: wrap; }
  .l-footer__nav-item { margin-left: 4em; margin-bottom: 2em; }
  .l-footer__right-bottom { text-align: right; font-size: 0.75rem; line-height: 1.6; } }

@media screen and (min-width: 737px) and (max-width: 736px) { .l-footer__right-bottom { font-size: 0.75rem; } }

@media screen and (max-width: 736px) { .l-footer { border-bottom: 3rem solid #1f4693; }
  .l-footer__inner { display: flex; flex-direction: column-reverse; }
  .l-footer__left { padding: 24px 12px 12px 12px; }
  .l-footer__logo img { width: 200px; margin-bottom: 10px; }
  .l-footer__sp-copy { margin-top: 12px; text-align: center; font-size: 0.75rem; line-height: 1.6; } }

@media screen and (max-width: 736px) and (max-width: 736px) { .l-footer__sp-copy { font-size: 0.75rem; } }

@media screen and (max-width: 736px) { .l-footer__nav-item { border-bottom: 1px solid #d5d5d5; }
  .l-footer__nav-item a { color: inherit; text-decoration: none; display: block; padding: 12px; background-color: #f5f5f5; }
  .l-footer__nav-item a:hover { color: inherit; text-decoration: none; } }

/******************************************************************
component - section
******************************************************************/
.c-section { position: relative; padding-top: 0.1px; padding-bottom: 0.1px; }

@media print, screen and (min-width: 737px) { .c-section--contentsrow { padding-right: 0; padding-left: 0; } }

.c-section__fit { max-width: 980px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; }

@media screen and (max-width: 736px) { .c-section__fit { padding-right: 12px; padding-left: 12px; } }

.c-section__top { max-width: 980px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; margin-top: 4rem; }

@media screen and (max-width: 736px) { .c-section__top { padding-right: 12px; padding-left: 12px; } }

.c-section__bottom { max-width: 980px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; margin-bottom: 4rem; }

@media screen and (max-width: 736px) { .c-section__bottom { padding-right: 12px; padding-left: 12px; } }

.c-section__vertical { max-width: 980px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; margin-top: 4rem; margin-bottom: 4rem; }

@media screen and (max-width: 736px) { .c-section__vertical { padding-right: 12px; padding-left: 12px; } }

.c-section--border-top { border-top: 1px solid #d5d5d5; }

@media screen and (max-width: 736px) { .c-section__top { margin-top: 2rem; }
  .c-section__bottom { margin-bottom: 2rem; }
  .c-section__vertical { margin: 2rem auto 2rem auto; } }

/******************************************************************
component - grid2
******************************************************************/
.c-grid2 { display: flex; flex-wrap: wrap; margin-right: -1rem; margin-top: -1rem; }

.c-grid2--center { justify-content: center; }

.c-grid2--right { justify-content: flex-end; }

.c-grid2 > [class*="c-grid2__item"], .c-grid2 > .c-grid2__item5col { position: relative; box-sizing: border-box; margin-right: 1rem; margin-top: 1rem; }

.c-grid2 > .c-grid2__item1 { width: calc( 8.33333% - 1rem); }

.c-grid2 > .c-grid2__item2 { width: calc( 16.66667% - 1rem); }

.c-grid2 > .c-grid2__item3 { width: calc( 25% - 1rem); }

.c-grid2 > .c-grid2__item4 { width: calc( 33.33333% - 1rem); }

.c-grid2 > .c-grid2__item5 { width: calc( 41.66667% - 1rem); }

.c-grid2 > .c-grid2__item6 { width: calc( 50% - 1rem); }

.c-grid2 > .c-grid2__item7 { width: calc( 58.33333% - 1rem); }

.c-grid2 > .c-grid2__item8 { width: calc( 66.66667% - 1rem); }

.c-grid2 > .c-grid2__item9 { width: calc( 75% - 1rem); }

.c-grid2 > .c-grid2__item10 { width: calc( 83.33333% - 1rem); }

.c-grid2 > .c-grid2__item11 { width: calc( 91.66667% - 1rem); }

.c-grid2 > .c-grid2__item12 { width: calc( 100% - 1rem); }

.c-grid2 > .c-grid2__item5col { width: calc( 20% - 1rem); }

.c-grid2--vertical > [class*="c-grid2__item"], .c-grid2--vertical > .c-grid2__item5col { display: flex; align-items: center; }

@media print, screen and (max-width: 1010px) { .c-grid2 > .pc-item1 { width: calc( 8.33333% - 1rem); }
  .c-grid2 > .pc-item2 { width: calc( 16.66667% - 1rem); }
  .c-grid2 > .pc-item3 { width: calc( 25% - 1rem); }
  .c-grid2 > .pc-item4 { width: calc( 33.33333% - 1rem); }
  .c-grid2 > .pc-item5 { width: calc( 41.66667% - 1rem); }
  .c-grid2 > .pc-item6 { width: calc( 50% - 1rem); }
  .c-grid2 > .pc-item7 { width: calc( 58.33333% - 1rem); }
  .c-grid2 > .pc-item8 { width: calc( 66.66667% - 1rem); }
  .c-grid2 > .pc-item9 { width: calc( 75% - 1rem); }
  .c-grid2 > .pc-item10 { width: calc( 83.33333% - 1rem); }
  .c-grid2 > .pc-item11 { width: calc( 91.66667% - 1rem); }
  .c-grid2 > .pc-item12 { width: calc( 100% - 1rem); }
  .c-grid2 > .pc-item5col { width: calc( 20% - 1rem); } }

@media screen and (max-width: 736px) { .c-grid2 { margin-right: -0.75rem; margin-top: -0.75rem; }
  .c-grid2 > [class*="c-grid2__item"], .c-grid2 > .c-grid2__item5col { margin-right: 0.75rem; margin-top: 0.75rem; }
  .c-grid2 > .c-grid2__item1 { width: calc( 8.33333% - 0.75rem); }
  .c-grid2 > .c-grid2__item2 { width: calc( 16.66667% - 0.75rem); }
  .c-grid2 > .c-grid2__item3 { width: calc( 25% - 0.75rem); }
  .c-grid2 > .c-grid2__item4 { width: calc( 33.33333% - 0.75rem); }
  .c-grid2 > .c-grid2__item5 { width: calc( 41.66667% - 0.75rem); }
  .c-grid2 > .c-grid2__item6 { width: calc( 50% - 0.75rem); }
  .c-grid2 > .c-grid2__item7 { width: calc( 58.33333% - 0.75rem); }
  .c-grid2 > .c-grid2__item8 { width: calc( 66.66667% - 0.75rem); }
  .c-grid2 > .c-grid2__item9 { width: calc( 75% - 0.75rem); }
  .c-grid2 > .c-grid2__item10 { width: calc( 83.33333% - 0.75rem); }
  .c-grid2 > .c-grid2__item11 { width: calc( 91.66667% - 0.75rem); }
  .c-grid2 > .c-grid2__item12 { width: calc( 100% - 0.75rem); }
  .c-grid2 > .c-grid2__item5col { width: calc( 20% - 0.75rem); }
  .c-grid2 > .sp-item1 { width: calc( 8.33333% - 0.75rem); }
  .c-grid2 > .sp-item2 { width: calc( 16.66667% - 0.75rem); }
  .c-grid2 > .sp-item3 { width: calc( 25% - 0.75rem); }
  .c-grid2 > .sp-item4 { width: calc( 33.33333% - 0.75rem); }
  .c-grid2 > .sp-item5 { width: calc( 41.66667% - 0.75rem); }
  .c-grid2 > .sp-item6 { width: calc( 50% - 0.75rem); }
  .c-grid2 > .sp-item7 { width: calc( 58.33333% - 0.75rem); }
  .c-grid2 > .sp-item8 { width: calc( 66.66667% - 0.75rem); }
  .c-grid2 > .sp-item9 { width: calc( 75% - 0.75rem); }
  .c-grid2 > .sp-item10 { width: calc( 83.33333% - 0.75rem); }
  .c-grid2 > .sp-item11 { width: calc( 91.66667% - 0.75rem); }
  .c-grid2 > .sp-item12 { width: calc( 100% - 0.75rem); }
  .c-grid2 > .sp-item5col { width: calc( 20% - 0.75rem); } }

.c-grid2--2l { margin-right: -1.5rem; margin-top: -1.5rem; }

.c-grid2--2l > [class*="c-grid2__item"], .c-grid2--2l > .c-grid2__item5col { margin-right: 1.5rem; margin-top: 1.5rem; }

.c-grid2--2l > .c-grid2__item1 { width: calc( 8.33333% - 1.5rem); }

.c-grid2--2l > .c-grid2__item2 { width: calc( 16.66667% - 1.5rem); }

.c-grid2--2l > .c-grid2__item3 { width: calc( 25% - 1.5rem); }

.c-grid2--2l > .c-grid2__item4 { width: calc( 33.33333% - 1.5rem); }

.c-grid2--2l > .c-grid2__item5 { width: calc( 41.66667% - 1.5rem); }

.c-grid2--2l > .c-grid2__item6 { width: calc( 50% - 1.5rem); }

.c-grid2--2l > .c-grid2__item7 { width: calc( 58.33333% - 1.5rem); }

.c-grid2--2l > .c-grid2__item8 { width: calc( 66.66667% - 1.5rem); }

.c-grid2--2l > .c-grid2__item9 { width: calc( 75% - 1.5rem); }

.c-grid2--2l > .c-grid2__item10 { width: calc( 83.33333% - 1.5rem); }

.c-grid2--2l > .c-grid2__item11 { width: calc( 91.66667% - 1.5rem); }

.c-grid2--2l > .c-grid2__item12 { width: calc( 100% - 1.5rem); }

.c-grid2--2l > .c-grid2__item5col { width: calc( 20% - 1.5rem); }

@media print, screen and (max-width: 1010px) { .c-grid2--2l { margin-right: -1.5rem; margin-top: -1.5rem; }
  .c-grid2--2l > [class*="c-grid2__item"], .c-grid2--2l > .c-grid2__item5col { margin-right: 1.5rem; margin-top: 1.5rem; }
  .c-grid2--2l > .c-grid2__item1 { width: calc( 8.33333% - 1.5rem); }
  .c-grid2--2l > .c-grid2__item2 { width: calc( 16.66667% - 1.5rem); }
  .c-grid2--2l > .c-grid2__item3 { width: calc( 25% - 1.5rem); }
  .c-grid2--2l > .c-grid2__item4 { width: calc( 33.33333% - 1.5rem); }
  .c-grid2--2l > .c-grid2__item5 { width: calc( 41.66667% - 1.5rem); }
  .c-grid2--2l > .c-grid2__item6 { width: calc( 50% - 1.5rem); }
  .c-grid2--2l > .c-grid2__item7 { width: calc( 58.33333% - 1.5rem); }
  .c-grid2--2l > .c-grid2__item8 { width: calc( 66.66667% - 1.5rem); }
  .c-grid2--2l > .c-grid2__item9 { width: calc( 75% - 1.5rem); }
  .c-grid2--2l > .c-grid2__item10 { width: calc( 83.33333% - 1.5rem); }
  .c-grid2--2l > .c-grid2__item11 { width: calc( 91.66667% - 1.5rem); }
  .c-grid2--2l > .c-grid2__item12 { width: calc( 100% - 1.5rem); }
  .c-grid2--2l > .c-grid2__item5col { width: calc( 20% - 1.5rem); }
  .c-grid2--2l > .pc-item1 { width: calc( 8.33333% - 1.5rem); }
  .c-grid2--2l > .pc-item2 { width: calc( 16.66667% - 1.5rem); }
  .c-grid2--2l > .pc-item3 { width: calc( 25% - 1.5rem); }
  .c-grid2--2l > .pc-item4 { width: calc( 33.33333% - 1.5rem); }
  .c-grid2--2l > .pc-item5 { width: calc( 41.66667% - 1.5rem); }
  .c-grid2--2l > .pc-item6 { width: calc( 50% - 1.5rem); }
  .c-grid2--2l > .pc-item7 { width: calc( 58.33333% - 1.5rem); }
  .c-grid2--2l > .pc-item8 { width: calc( 66.66667% - 1.5rem); }
  .c-grid2--2l > .pc-item9 { width: calc( 75% - 1.5rem); }
  .c-grid2--2l > .pc-item10 { width: calc( 83.33333% - 1.5rem); }
  .c-grid2--2l > .pc-item11 { width: calc( 91.66667% - 1.5rem); }
  .c-grid2--2l > .pc-item12 { width: calc( 100% - 1.5rem); }
  .c-grid2--2l > .pc-item5col { width: calc( 20% - 1.5rem); } }

@media screen and (max-width: 736px) { .c-grid2--2l { margin-right: -1.125rem; margin-top: -1.125rem; }
  .c-grid2--2l > [class*="c-grid2__item"], .c-grid2--2l > .c-grid2__item5col { margin-right: 1.125rem; margin-top: 1.125rem; }
  .c-grid2--2l > .c-grid2__item1 { width: calc( 8.33333% - 1.125rem); }
  .c-grid2--2l > .c-grid2__item2 { width: calc( 16.66667% - 1.125rem); }
  .c-grid2--2l > .c-grid2__item3 { width: calc( 25% - 1.125rem); }
  .c-grid2--2l > .c-grid2__item4 { width: calc( 33.33333% - 1.125rem); }
  .c-grid2--2l > .c-grid2__item5 { width: calc( 41.66667% - 1.125rem); }
  .c-grid2--2l > .c-grid2__item6 { width: calc( 50% - 1.125rem); }
  .c-grid2--2l > .c-grid2__item7 { width: calc( 58.33333% - 1.125rem); }
  .c-grid2--2l > .c-grid2__item8 { width: calc( 66.66667% - 1.125rem); }
  .c-grid2--2l > .c-grid2__item9 { width: calc( 75% - 1.125rem); }
  .c-grid2--2l > .c-grid2__item10 { width: calc( 83.33333% - 1.125rem); }
  .c-grid2--2l > .c-grid2__item11 { width: calc( 91.66667% - 1.125rem); }
  .c-grid2--2l > .c-grid2__item12 { width: calc( 100% - 1.125rem); }
  .c-grid2--2l > .c-grid2__item5col { width: calc( 20% - 1.125rem); }
  .c-grid2--2l > .sp-item1 { width: calc( 8.33333% - 1.125rem); }
  .c-grid2--2l > .sp-item2 { width: calc( 16.66667% - 1.125rem); }
  .c-grid2--2l > .sp-item3 { width: calc( 25% - 1.125rem); }
  .c-grid2--2l > .sp-item4 { width: calc( 33.33333% - 1.125rem); }
  .c-grid2--2l > .sp-item5 { width: calc( 41.66667% - 1.125rem); }
  .c-grid2--2l > .sp-item6 { width: calc( 50% - 1.125rem); }
  .c-grid2--2l > .sp-item7 { width: calc( 58.33333% - 1.125rem); }
  .c-grid2--2l > .sp-item8 { width: calc( 66.66667% - 1.125rem); }
  .c-grid2--2l > .sp-item9 { width: calc( 75% - 1.125rem); }
  .c-grid2--2l > .sp-item10 { width: calc( 83.33333% - 1.125rem); }
  .c-grid2--2l > .sp-item11 { width: calc( 91.66667% - 1.125rem); }
  .c-grid2--2l > .sp-item12 { width: calc( 100% - 1.125rem); }
  .c-grid2--2l > .sp-item5col { width: calc( 20% - 1.125rem); } }

@media print, screen and (max-width: 1010px) { .c-grid2.pc-2l { margin-right: -1.5rem; margin-top: -1.5rem; }
  .c-grid2.pc-2l > [class*="c-grid2__item"], .c-grid2.pc-2l > .c-grid2__item5col { margin-right: 1.5rem; margin-top: 1.5rem; }
  .c-grid2.pc-2l > .c-grid2__item1 { width: calc( 8.33333% - 1.5rem); }
  .c-grid2.pc-2l > .c-grid2__item2 { width: calc( 16.66667% - 1.5rem); }
  .c-grid2.pc-2l > .c-grid2__item3 { width: calc( 25% - 1.5rem); }
  .c-grid2.pc-2l > .c-grid2__item4 { width: calc( 33.33333% - 1.5rem); }
  .c-grid2.pc-2l > .c-grid2__item5 { width: calc( 41.66667% - 1.5rem); }
  .c-grid2.pc-2l > .c-grid2__item6 { width: calc( 50% - 1.5rem); }
  .c-grid2.pc-2l > .c-grid2__item7 { width: calc( 58.33333% - 1.5rem); }
  .c-grid2.pc-2l > .c-grid2__item8 { width: calc( 66.66667% - 1.5rem); }
  .c-grid2.pc-2l > .c-grid2__item9 { width: calc( 75% - 1.5rem); }
  .c-grid2.pc-2l > .c-grid2__item10 { width: calc( 83.33333% - 1.5rem); }
  .c-grid2.pc-2l > .c-grid2__item11 { width: calc( 91.66667% - 1.5rem); }
  .c-grid2.pc-2l > .c-grid2__item12 { width: calc( 100% - 1.5rem); }
  .c-grid2.pc-2l > .c-grid2__item5col { width: calc( 20% - 1.5rem); }
  .c-grid2.pc-2l > .pc-item1 { width: calc( 8.33333% - 1.5rem); }
  .c-grid2.pc-2l > .pc-item2 { width: calc( 16.66667% - 1.5rem); }
  .c-grid2.pc-2l > .pc-item3 { width: calc( 25% - 1.5rem); }
  .c-grid2.pc-2l > .pc-item4 { width: calc( 33.33333% - 1.5rem); }
  .c-grid2.pc-2l > .pc-item5 { width: calc( 41.66667% - 1.5rem); }
  .c-grid2.pc-2l > .pc-item6 { width: calc( 50% - 1.5rem); }
  .c-grid2.pc-2l > .pc-item7 { width: calc( 58.33333% - 1.5rem); }
  .c-grid2.pc-2l > .pc-item8 { width: calc( 66.66667% - 1.5rem); }
  .c-grid2.pc-2l > .pc-item9 { width: calc( 75% - 1.5rem); }
  .c-grid2.pc-2l > .pc-item10 { width: calc( 83.33333% - 1.5rem); }
  .c-grid2.pc-2l > .pc-item11 { width: calc( 91.66667% - 1.5rem); }
  .c-grid2.pc-2l > .pc-item12 { width: calc( 100% - 1.5rem); }
  .c-grid2.pc-2l > .pc-item5col { width: calc( 20% - 1.5rem); } }

@media screen and (max-width: 736px) { .c-grid2.sp-2l { margin-right: -1.125rem; margin-top: -1.125rem; }
  .c-grid2.sp-2l > [class*="c-grid2__item"], .c-grid2.sp-2l > .c-grid2__item5col { margin-right: 1.125rem; margin-top: 1.125rem; }
  .c-grid2.sp-2l > .c-grid2__item1 { width: calc( 8.33333% - 1.125rem); }
  .c-grid2.sp-2l > .c-grid2__item2 { width: calc( 16.66667% - 1.125rem); }
  .c-grid2.sp-2l > .c-grid2__item3 { width: calc( 25% - 1.125rem); }
  .c-grid2.sp-2l > .c-grid2__item4 { width: calc( 33.33333% - 1.125rem); }
  .c-grid2.sp-2l > .c-grid2__item5 { width: calc( 41.66667% - 1.125rem); }
  .c-grid2.sp-2l > .c-grid2__item6 { width: calc( 50% - 1.125rem); }
  .c-grid2.sp-2l > .c-grid2__item7 { width: calc( 58.33333% - 1.125rem); }
  .c-grid2.sp-2l > .c-grid2__item8 { width: calc( 66.66667% - 1.125rem); }
  .c-grid2.sp-2l > .c-grid2__item9 { width: calc( 75% - 1.125rem); }
  .c-grid2.sp-2l > .c-grid2__item10 { width: calc( 83.33333% - 1.125rem); }
  .c-grid2.sp-2l > .c-grid2__item11 { width: calc( 91.66667% - 1.125rem); }
  .c-grid2.sp-2l > .c-grid2__item12 { width: calc( 100% - 1.125rem); }
  .c-grid2.sp-2l > .c-grid2__item5col { width: calc( 20% - 1.125rem); }
  .c-grid2.sp-2l > .sp-item1 { width: calc( 8.33333% - 1.125rem); }
  .c-grid2.sp-2l > .sp-item2 { width: calc( 16.66667% - 1.125rem); }
  .c-grid2.sp-2l > .sp-item3 { width: calc( 25% - 1.125rem); }
  .c-grid2.sp-2l > .sp-item4 { width: calc( 33.33333% - 1.125rem); }
  .c-grid2.sp-2l > .sp-item5 { width: calc( 41.66667% - 1.125rem); }
  .c-grid2.sp-2l > .sp-item6 { width: calc( 50% - 1.125rem); }
  .c-grid2.sp-2l > .sp-item7 { width: calc( 58.33333% - 1.125rem); }
  .c-grid2.sp-2l > .sp-item8 { width: calc( 66.66667% - 1.125rem); }
  .c-grid2.sp-2l > .sp-item9 { width: calc( 75% - 1.125rem); }
  .c-grid2.sp-2l > .sp-item10 { width: calc( 83.33333% - 1.125rem); }
  .c-grid2.sp-2l > .sp-item11 { width: calc( 91.66667% - 1.125rem); }
  .c-grid2.sp-2l > .sp-item12 { width: calc( 100% - 1.125rem); }
  .c-grid2.sp-2l > .sp-item5col { width: calc( 20% - 1.125rem); } }

/******************************************************************
component - grid-button
******************************************************************/
.c-grid-button { color: inherit; text-decoration: none; display: inline-block; text-align: center; cursor: pointer; vertical-align: middle; box-sizing: border-box; border: 1px solid transparent; line-height: 1.5; position: relative; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; font-weight: bold; border: 1px solid #d5d5d5; background: #f4f4f4 url(/common/img/arrow01.png) left 0.8em center no-repeat; font-size: 135%; padding: 1.2em 0em 1.2em 1.0em; transition-property: background; transition-duration: 0.3s; }

.c-grid-button:hover { color: inherit; text-decoration: none; }

.c-grid-button--top { align-items: flex-start; }

.c-grid-button--bottom { align-items: flex-end; }

.c-grid-button__inner { box-sizing: border-box; width: 100%; display: block; }

@media screen and (max-width: 736px) { .c-grid-button { font-size: 115%; background-size: 14px auto; } }

.c-grid-button:hover { background-color: #fff; }

/******************************************************************
component - vertical-area
******************************************************************/
.c-vertical-area { position: absolute; z-index: +1; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; }

.c-vertical-area--top { align-items: flex-start; }

.c-vertical-area--bottom { align-items: flex-end; }

.c-vertical-area__inner { box-sizing: border-box; width: 100%; }

/******************************************************************
component - gutter
******************************************************************/
.c-gutter > *:not(:last-child) { margin-bottom: 1rem; }

.c-gutter-2s > *:not(:last-child) { margin-bottom: 0.5rem; }

.c-gutter-2x > *:not(:last-child) { margin-bottom: 2rem; }

.c-gutter-3x > *:not(:last-child) { margin-bottom: 3rem; }

@media screen and (max-width: 736px) { .c-gutter > *:not(:last-child) { margin-bottom: 0.75rem; }
  .c-gutter-2s > *:not(:last-child) { margin-bottom: 0.375rem; }
  .c-gutter-2x > *:not(:last-child) { margin-bottom: 1.5rem; }
  .c-gutter-3x > *:not(:last-child) { margin-bottom: 2.25rem; }
  .c-sp-gutter > *:not(:last-child) { margin-bottom: 0.75rem; }
  .c-sp-gutter-2s > *:not(:last-child) { margin-bottom: 0.375rem; }
  .c-sp-gutter-2x > *:not(:last-child) { margin-bottom: 1.5rem; }
  .c-sp-gutter-3x > *:not(:last-child) { margin-bottom: 2.25rem; } }

/******************************************************************
component - text-row2
******************************************************************/
.c-text-row2 { display: flex; }

.c-text-row2--inline { display: inline-flex; }

.c-text-row2--vertical { align-items: center; }

.c-text-row2 > .c-text-row2__head-left, .c-text-row2 > .c-text-row2__head-right { box-sizing: border-box; flex-shrink: 0; }

.c-text-row2 > .c-text-row2__head-left { margin-right: 1rem; order: 1; }

.c-text-row2 > .c-text-row2__head-right { margin-left: 1rem; order: 2; }

.c-text-row2 > .c-text-row2__body-right, .c-text-row2 > .c-text-row2__body-left { box-sizing: border-box; flex-grow: 1; }

.c-text-row2 > .c-text-row2__body-right { order: 2; }

.c-text-row2 > .c-text-row2__body-left { order: 1; }

@media screen and (max-width: 736px) { .c-text-row2 > .c-text-row2__head-left { margin-right: 0.75rem; }
  .c-text-row2 > .c-text-row2__head-right { margin-left: 0.75rem; }
  .c-text-row2.sp-column { flex-direction: column; }
  .c-text-row2.sp-column--center { align-items: flex-start; }
  .c-text-row2.sp-column > .c-text-row2__head-left, .c-text-row2.sp-column > .c-text-row2__head-right { order: 1; margin-bottom: 0.75rem; margin-right: 0; margin-left: 0; text-align: center; width: 100%; max-width: none; }
  .c-text-row2.sp-column > .c-text-row2__body-right, .c-text-row2.sp-column > .c-text-row2__body-left { order: 2; width: 100%; }
  .c-text-row2.sp-column.sp-column-reverse > .c-text-row2__head-left, .c-text-row2.sp-column.sp-column-reverse > .c-text-row2__head-right { order: 2; margin-top: 0.75rem; margin-bottom: 0; }
  .c-text-row2.sp-column.sp-column-reverse > .c-text-row2__body-right, .c-text-row2.sp-column.sp-column-reverse > .c-text-row2__body-left { order: 1; } }

.c-text-row2--2x > .c-text-row2__head-left { margin-right: 2rem; }

.c-text-row2--2x > .c-text-row2__head-right { margin-left: 2rem; }

@media screen and (max-width: 736px) { .c-text-row2--2x > .c-text-row2__head-left { margin-right: 1.5rem; }
  .c-text-row2--2x > .c-text-row2__head-right { margin-left: 1.5rem; }
  .c-text-row2--2x.sp-column > .c-text-row2__head-left, .c-text-row2--2x.sp-column > .c-text-row2__head-right { margin-bottom: 1.5rem; }
  .c-text-row2--2x.sp-column.sp-column-reverse > .c-text-row2__head-left, .c-text-row2--2x.sp-column.sp-column-reverse > .c-text-row2__head-right { margin-top: 1.5rem; } }

@media screen and (max-width: 736px) { .c-text-row2.sp-2x > .c-text-row2__head-left { margin-right: 1.5rem; }
  .c-text-row2.sp-2x > .c-text-row2__head-right { margin-left: 1.5rem; }
  .c-text-row2.sp-2x.sp-column > .c-text-row2__head-left, .c-text-row2.sp-2x.sp-column > .c-text-row2__head-right { margin-bottom: 1.5rem; margin-right: 0; margin-left: 0; }
  .c-text-row2.sp-2x.sp-column.sp-column-reverse > .c-text-row2__head-left, .c-text-row2.sp-2x.sp-column.sp-column-reverse > .c-text-row2__head-right { margin-top: 1.5rem; } }

/******************************************************************
component - news-row
******************************************************************/
.c-news-row { display: table; width: 100%; }

.c-news-row--side .c-news-row__time { padding-left: 0.8rem; }

.c-news-row--side .c-news-row__body { padding-right: 0.8rem; }

.c-news-row--bordersand { border-top: 1px solid #d5d5d5; border-bottom: 1px solid #d5d5d5; padding-top: 0.8rem; padding-bottom: 0.8rem; }

@media screen and (max-width: 736px) { .c-news-row--bordersand { padding-top: 0.6rem; padding-bottom: 0.6rem; } }

.c-news-row--border .c-news-row__item:not(:first-child) .c-news-row__time, .c-news-row--border .c-news-row__item:not(:first-child) .c-news-row__body { border-top: 1px solid #d5d5d5; padding-top: 0.8rem; }

.c-news-row__item { display: table-row; }

.c-news-row__item:not(:last-child) .c-news-row__body { padding-bottom: 0.8rem; }

@media screen and (max-width: 736px) { .c-news-row__item:not(:last-child) .c-news-row__body { padding-bottom: 0.6rem; } }

.c-news-row__time { display: table-cell; vertical-align: top; white-space: nowrap; width: 1%; }

@media screen and (max-width: 736px) { .c-news-row__time { font-weight: bold; } }

.c-news-row__body { display: table-cell; vertical-align: top; padding-left: 2rem; }

@media screen and (max-width: 736px) { .c-news-row { display: block; }
  .c-news-row--side .c-news-row__time { padding-right: 0.6rem; padding-left: 0.6rem; }
  .c-news-row--side .c-news-row__body { padding-right: 0.6rem; padding-left: 0.6rem; }
  .c-news-row--border .c-news-row__item:not(:first-child) .c-news-row__time { padding-top: 0.6rem; }
  .c-news-row--border .c-news-row__item:not(:first-child) .c-news-row__body { border-top: 0; padding-top: 0; }
  .c-news-row__item { display: block; }
  .c-news-row__time { display: block; width: auto; }
  .c-news-row__body { display: block; padding-left: 0; } }

/******************************************************************
component - list-disc
******************************************************************/
.c-list-disc__item { margin-left: 1.5em; list-style: disc; }

/******************************************************************
component - list-notes
******************************************************************/
.c-list-notes { display: table; width: 100%; }

.c-list-notes--bordersand { border-top: 1px solid #d5d5d5; border-bottom: 1px solid #d5d5d5; padding-top: 0.8rem; padding-bottom: 0.8rem; }

@media screen and (max-width: 736px) { .c-list-notes--bordersand { padding-top: 0.6rem; padding-bottom: 0.6rem; } }

.c-list-notes--border > .c-list-notes__row:first-child:not(:last-child) > .c-list-notes__head, .c-list-notes--border > .c-list-notes__row:first-child:not(:last-child) > .c-list-notes__body { padding-bottom: 0.8rem; }

@media screen and (max-width: 736px) { .c-list-notes--border > .c-list-notes__row:first-child:not(:last-child) > .c-list-notes__head, .c-list-notes--border > .c-list-notes__row:first-child:not(:last-child) > .c-list-notes__body { padding-bottom: 0.6rem; } }

.c-list-notes--border > .c-list-notes__row:not(:first-child):not(:last-child) > .c-list-notes__head, .c-list-notes--border > .c-list-notes__row:not(:first-child):not(:last-child) > .c-list-notes__body { border-top: 1px solid #d5d5d5; padding-top: 0.8rem; padding-bottom: 0.8rem; }

@media screen and (max-width: 736px) { .c-list-notes--border > .c-list-notes__row:not(:first-child):not(:last-child) > .c-list-notes__head, .c-list-notes--border > .c-list-notes__row:not(:first-child):not(:last-child) > .c-list-notes__body { padding-top: 0.6rem; padding-bottom: 0.6rem; } }

.c-list-notes--border > .c-list-notes__row:not(:first-child):last-child > .c-list-notes__head, .c-list-notes--border > .c-list-notes__row:not(:first-child):last-child > .c-list-notes__body { border-top: 1px solid #d5d5d5; padding-top: 0.8rem; }

@media screen and (max-width: 736px) { .c-list-notes--border > .c-list-notes__row:not(:first-child):last-child > .c-list-notes__head, .c-list-notes--border > .c-list-notes__row:not(:first-child):last-child > .c-list-notes__body { padding-top: 0.6rem; } }

.c-list-notes__row { display: table-row; }

.c-list-notes__head { display: table-cell; white-space: nowrap; padding-right: 0.5em; width: 0.1%; vertical-align: top; }

.c-list-notes__head--wide { padding-right: 1.5em; }

.c-list-notes__head--fit { padding-right: 0; }

.c-list-notes__body { display: table-cell; vertical-align: top; }

@media screen and (max-width: 736px) { .c-list-notes.sp-vertial { display: block; }
  .c-list-notes.sp-vertial > .c-list-notes__row { display: block; }
  .c-list-notes.sp-vertial > .c-list-notes__row > .c-list-notes__head { display: block; white-space: normal; padding-right: 0; width: auto; }
  .c-list-notes.sp-vertial > .c-list-notes__row > .c-list-notes__body { display: block; }
  .c-list-notes--border.sp-vertial > .c-list-notes__row:not(:first-child):not(:last-child) > .c-list-notes__body { border-top: 0; padding-top: 0; }
  .c-list-notes--border.sp-vertial > .c-list-notes__row:last-child > .c-list-notes__body { border-top: 0; }
  .c-list-notes--border.sp-vertial > .c-list-notes__row > .c-list-notes__head { padding-bottom: 0 !important; }
  .c-list-notes--border.sp-vertial > .c-list-notes__row > .c-list-notes__body { padding-top: 0 !important; } }

/******************************************************************
component - list-notes-right
******************************************************************/
.c-list-notes-right { text-align: right; }

.c-list-notes-right__inner { display: inline-block; text-align: left; }

.c-list-notes-right__row { display: table; }

.c-list-notes-right__head { display: table-cell; white-space: nowrap; padding-right: 0.5em; }

.c-list-notes-right__head--wide { padding-right: 1.5em; }

.c-list-notes-right__body { display: table-cell; }

.c-list-notes-right--right .c-list-notes-right__row { margin-left: auto; }

/******************************************************************
component - image
******************************************************************/
.js-image-size-sync a { display: block; color: inherit; text-decoration: none; }

.js-image-size-sync a:hover { color: inherit; text-decoration: none; }

.js-image-size-sync.c-image--center a { margin-right: auto; margin-left: auto; }

.js-image-size-sync.c-image--right a { margin-left: auto; }

.c-image--center { text-align: center; }

.c-image--right { text-align: right; }

.c-image__title { display: block; text-align: left; line-height: 1.5; font-weight: bold; font-size: 1.02rem; line-height: 1.6; }

@media screen and (max-width: 736px) { .c-image__title { font-size: 1.02rem; } }

.c-image--center .c-image__title { margin-right: auto; margin-left: auto; }

.c-image--right .c-image__title { margin-left: auto; }

.c-image__title:first-child { margin-bottom: 0.5rem; }

@media screen and (max-width: 736px) { .c-image__title:first-child { margin-bottom: 0.375rem; } }

.c-image__title:last-child { margin-top: 0.5rem; }

@media screen and (max-width: 736px) { .c-image__title:last-child { margin-top: 0.375rem; } }

.c-image__caption { display: block; text-align: left; line-height: 1.5; }

.c-image--center .c-image__caption { margin-right: auto; margin-left: auto; }

.c-image--right .c-image__caption { margin-left: auto; }

.c-image__caption:first-child { margin-bottom: 0.5rem; }

@media screen and (max-width: 736px) { .c-image__caption:first-child { margin-bottom: 0.375rem; } }

.c-image__caption:last-child { margin-top: 0.5rem; }

@media screen and (max-width: 736px) { .c-image__caption:last-child { margin-top: 0.375rem; } }

/******************************************************************
component - heading
******************************************************************/
.c-heading2 { font-size: 1.75rem; text-align: center; position: relative; padding-bottom: 0.5em; }

.c-heading2:not(:first-child) { margin-top: 2rem; }

@media screen and (max-width: 736px) { .c-heading2:not(:first-child) { margin-top: 1.5rem; } }

.c-heading2::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; right: 0; bottom: 0; left: 0; width: 1.8em; height: 2px; background-color: #1f4693; }

@media screen and (max-width: 736px) { .c-heading2 { font-size: 1.25rem; } }

/******************************************************************
project - index
******************************************************************/
@media print, screen and (min-width: 737px) { .p-index { display: flex; transform: translateY(-4em); background-color: #f5f5f5; padding: 2.5rem; } }

@media screen and (max-width: 736px) { .p-index { margin-top: 1.5rem; } }

.p-index__title { white-space: nowrap; }

@media print, screen and (min-width: 737px) { .p-index__title { margin-right: 3.5em; } }

@media screen and (max-width: 736px) { .p-index__title { margin-bottom: 1rem; } }

.p-index__title span { position: relative; padding-bottom: 0.5em; }

.p-index__title span::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; bottom: 0; left: 0; width: 1.8em; height: 2px; background-color: #1f4693; }

.p-index__title small { padding-left: 8px; }

.p-index__body { padding-top: 0.4em; }

/******************************************************************
project - introduction
******************************************************************/
.p-introduction1-1 { text-align: center; }

.p-introduction1-1__inner { display: inline-block; border: 4px solid #f2f2f2; padding: 1rem; text-align: left; color: #1f4693; font-weight: bold; font-size: 125%; }

@media screen and (max-width: 736px) { .p-introduction1-1__inner { font-size: 115%; } }

.p-introduction1-1__inner p:not(:last-child) { margin-bottom: 0.4em; }

.p-introduction1-1__inner p { display: flex; }

.p-introduction1-1__inner p > span:first-child { padding: 0 3px; }

.p-introduction1-1__inner p > span:first-child span { display: block; position: relative; }

.p-introduction1-1__inner p > span:first-child span::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; right: 0; bottom: 5px; left: 0; width: 100%; height: 5px; background-color: #fff33f; z-index: -1; }

.p-introduction1-1__inner p > span:last-child { padding-left: 0.5em; }

.p-introduction1-2__item { background-color: #f3f3f3; text-align: center; }

.p-introduction1-2__title { color: #fff; background-color: #1f4693; padding: 0.35em 0; }

.p-introduction1-2__inner { padding: 1rem; }

.p-introduction2-1 { text-align: center; }

.p-introduction2-1 span { font-size: 1.4rem; padding: 0 0.3em; display: inline-block; position: relative; }

.p-introduction2-1 span::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; right: 0; bottom: 0; left: 0; width: 100%; height: 12px; background-color: #e1eed7; z-index: -1; }

.p-introduction2-2 > *:not(:last-child) { margin-bottom: 0.25rem; }

@media screen and (max-width: 736px) { .p-introduction2-2 > *:not(:last-child) { margin-bottom: 0.1875rem; } }

.p-introduction2-2__main { background-color: #f5f5f5; padding: 2.5rem; }

@media screen and (max-width: 736px) { .p-introduction2-2__main { padding: 1.125rem; } }

.p-introduction2-2__title { line-height: 1; }

.p-introduction2-2__title span { display: inline-block; color: #fff; background-color: #1f4693; font-size: 1.1rem; border-radius: 4em; padding: 0.55em 1.5em 0.35em 1.5em; }

.p-introduction3-1 { font-size: 1.2rem; text-align: center; }

.p-introduction3-2 { text-align: center; }

.p-introduction3-2 > *:not(:last-child) { margin-bottom: 1.2rem; }

@media screen and (max-width: 736px) { .p-introduction3-2 > *:not(:last-child) { margin-bottom: 0.9rem; } }

.p-introduction3-2__main { margin-left: auto; margin-right: auto; max-width: 637px; text-align: left; }

.p-introduction3-2__main dl:nth-child(even) { background-color: #f8f8f8; }

.p-introduction3-2__main dl:nth-child(odd) { background-color: #f3f3f3; }

.p-introduction3-2__main dl:first-child { background-color: #e6f4f9; }

.p-introduction3-2__main dl { display: flex; padding: 0.6em 1em; font-size: 120%; }

@media screen and (max-width: 736px) { .p-introduction3-2__main dl { font-size: 110%; } }

.p-introduction3-2__main dt { color: #1f4693; font-weight: bold; white-space: nowrap; }

.p-introduction3-2__main dd { padding-left: 0.2em; }

/******************************************************************
project - law
******************************************************************/
.p-law1-1 { font-size: 1.2rem; text-align: center; }

.p-law1-2 { margin-left: auto; margin-right: auto; max-width: 784px; }

.p-law1-2__title { font-size: 1rem; color: #fff; background-color: #1f4693; padding: 0.35em 0.8em; }

.p-law1-2__main { padding: 0.8em; background-color: #f4f4f4; }

.p-law1-2__main > *:not(:last-child) { margin-bottom: 0.6rem; }

@media screen and (max-width: 736px) { .p-law1-2__main > *:not(:last-child) { margin-bottom: 0.45rem; } }

.p-law1-2__block > *:not(:last-child) { margin-bottom: 0.1rem; }

@media screen and (max-width: 736px) { .p-law1-2__block > *:not(:last-child) { margin-bottom: 0.075rem; } }

.p-law1-2__item { background-color: #fff; padding: 0.3em 0.8em; font-size: 120%; }

@media print, screen and (min-width: 737px) { .p-law1-2__item { display: flex; } }

@media screen and (max-width: 736px) { .p-law1-2__item { font-size: 110%; } }

.p-law1-2__item dt { color: #1f4693; font-weight: bold; padding-right: 0.2em; white-space: nowrap; }

.p-law2-1 { font-size: 120%; background-color: #fbfbfb; }

@media screen and (max-width: 736px) { .p-law2-1 { font-size: 110%; } }

.p-law2-1 .c-list-notes__row:nth-child(even) { background-color: #f4f4f4; }

.p-law2-1 .c-list-notes__head { padding-left: 1em; padding-top: 0.6em; padding-bottom: 0.6em; }

.p-law2-1 .c-list-notes__body { padding-right: 1em; padding-top: 0.6em; padding-bottom: 0.6em; }

/******************************************************************
project - publication
******************************************************************/
.p-publication .c-section:nth-child(odd) { background-color: #f6f6f6; }

.p-publication .c-section:nth-child(even) { background-color: #fbfbfb; }

.p-publication .c-text-row2__head-left img { box-shadow: 0px 0px 28px 3px rgba(0, 0, 0, 0.07); }

.p-publication .c-text-row2__body-right { display: flex; flex-direction: column; width: calc(100% - 220px - 2rem); }

.p-publication1 { background-color: #1f4693; color: #fff; font-size: 1.1rem; padding: 0.2em 0.4em; }

.p-publication2 { box-sizing: border-box; background-color: #fff; border: 3px solid #f2f2f2; padding: 0.75rem 0.75rem 0.75rem 1rem; flex-grow: 1; }

.p-publication3 { font-size: 0.9rem; padding-left: 0.4em; }

/******************************************************************
project - membershiplist
******************************************************************/
.p-membershiplist + .p-membershiplist { border-bottom: 1px solid #d5d5d5; }

.p-membershiplist.first { border-top: 1px solid #d5d5d5; border-bottom: 1px solid #d5d5d5; }

.p-membershiplist.last { margin-bottom: 20px; }

.p-membershiplist__item { max-width: 980px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; padding-top: 1.5em; }

@media screen and (max-width: 736px) { .p-membershiplist__item { padding-right: 12px; padding-left: 12px; } }

@media print, screen and (min-width: 1001px) { .p-membershiplist__item { display: flex; flex-wrap: wrap; } }

.p-membershiplist__title { width: 100%; margin-bottom: 0.5em; font-size: 1.2rem; }

@media screen and (max-width: 736px) { .p-membershiplist__title { font-size: 1rem; } }

.p-membershiplist__title a { display: inline-block; position: relative; padding-left: 7px; padding-left: 0.9em; }

.p-membershiplist__title a::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: calc( 0.8em - 4px); left: 0px; height: 8px; border-color: #1f4693; border-style: solid; border-right-width: 0; border-left-width: 7px; border-top: 4px solid transparent; border-bottom: 4px solid transparent; }

.p-membershiplist__body { display: flex; margin-bottom: 1.5em; align-items: center; line-height: 1; }

@media print, screen and (min-width: 737px) { .p-membershiplist__body { margin-right: 3em; } }

@media screen and (max-width: 736px) { .p-membershiplist__body { font-size: 85%; } }

.p-membershiplist__body p { font-weight: bold; white-space: nowrap; padding: 0.4em 0; margin-right: 1em; }

@media screen and (max-width: 736px) { .p-membershiplist__body p { margin-right: 0.4em; } }

.p-membershiplist__body ul { display: flex; flex-wrap: wrap; margin-right: -1em; margin-bottom: -1em; }

@media screen and (max-width: 736px) { .p-membershiplist__body ul { margin-right: -0.5em; margin-bottom: -0.5em; } }

.p-membershiplist__body li { margin-right: 1em; margin-bottom: 1em; color: #fff; padding: 0.4em 0; text-align: center; min-width: 80px; }

@media screen and (max-width: 736px) { .p-membershiplist__body li { min-width: 65px; margin-right: 0.5em; margin-bottom: 0.5em; } }

.p-membershiplist__body li:nth-child(1) { background-color: #8db6cf; }

.p-membershiplist__body li:nth-child(2) { background-color: #9c9cc7; }

.p-membershiplist__body li:nth-child(3) { background-color: #9acb8a; }

.p-membershiplist__body li:nth-child(4) { background-color: #cabe7d; }

.p-membershiplist__body li:nth-child(5) { background-color: #d2948b; }

.p-membershiplist__body li:empty { background-color: inherit; }

@media screen and (max-width: 736px) { .p-membershiplist__body li:empty { display: none; } }

.p-membershiplist__body2 { display: flex; margin-bottom: 1.5em; align-items: center; line-height: 1; }

@media screen and (max-width: 736px) { .p-membershiplist__body2 { font-size: 85%; } }

.p-membershiplist__body2 p { font-weight: bold; white-space: nowrap; padding: 0.4em 0; margin-right: 1em; }

@media screen and (max-width: 736px) { .p-membershiplist__body2 p { margin-right: 0.4em; } }

.p-membershiplist__body2 ul { display: flex; flex-wrap: wrap; margin-right: -1em; margin-bottom: -1em; }

@media screen and (max-width: 736px) { .p-membershiplist__body2 ul { margin-right: -0.5em; margin-bottom: -0.5em; } }

.p-membershiplist__body2 li { margin-right: 1em; margin-bottom: 1em; color: #fff; padding: 0.4em 0; text-align: center; min-width: 80px; }

@media screen and (max-width: 736px) { .p-membershiplist__body2 li { min-width: 65px; margin-right: 0.5em; margin-bottom: 0.5em; } }

.p-membershiplist__body2 li:nth-child(1) { background-color: #333; }

.p-membershiplist__body2 li:nth-child(2) { background-color: red; }

.p-membershiplist__body2 li:empty { background-color: inherit; }

@media screen and (max-width: 736px) { .p-membershiplist__body2 li:empty { display: none; } }

/******************************************************************
project - inquiry
******************************************************************/
.p-inquiry1 { text-align: center; }

.p-inquiry1__inner { display: inline-block; border: 4px solid #f2f2f2; padding: 1.3rem; text-align: left; }

.p-inquiry1__inner > *:not(:last-child) { margin-bottom: 0.3rem; }

@media screen and (max-width: 736px) { .p-inquiry1__inner > *:not(:last-child) { margin-bottom: 0.225rem; } }

.p-inquiry1__inner h3 { font-size: 0.85rem; }

.p-inquiry1__contact { font-size: 130%; }

.p-inquiry2 { margin-left: auto; margin-right: auto; }

.p-inquiry2 th, .p-inquiry2 td { border: 1px solid #1f4693; padding: 0.4em 1em; font-size: 115%; }

@media screen and (max-width: 736px) { .p-inquiry2 th, .p-inquiry2 td { font-size: 105%; } }

.p-inquiry2 th { background-color: #1f4693; color: #fff; white-space: nowrap; }

.p-inquiry2 tr:first-child th { border-bottom: 1px solid #fff; }

/******************************************************************
utility - mediaQuery
******************************************************************/
.u-sp-media { display: none; }

@media screen and (max-width: 736px) { .u-pc-media { display: none; }
  .u-sp-media { display: block; }
  img.u-sp-media { display: inline-block; } }

/******************************************************************
utility - clearfix
******************************************************************/
.u-clearfix::after { content: ""; display: block; clear: both; }

@media screen and (max-width: 736px) { .u-sp-clearfix::after { content: ""; display: block; clear: both; } }

/******************************************************************
utility - display
******************************************************************/
.u-block { display: block; }

.u-none { display: none; }

.u-inline { display: inline; }

.u-inline-block { display: inline-block; }

.u-table { display: table; }

.u-table-row { display: table-row; }

.u-table-cell { display: table-cell; }

.u-flex { display: flex; }

.u-inline-flex { display: inline-flex; }

@media screen and (max-width: 736px) { .u-sp-block { display: block; }
  .u-sp-none { display: none; }
  .u-sp-inline { display: inline; }
  .u-sp-inline-block { display: inline-block; }
  .u-sp-table { display: table; }
  .u-sp-table-row { display: table-row; }
  .u-sp-table-cell { display: table-cell; }
  .u-sp-flex { display: flex; }
  .u-sp-inline-flex { display: inline-flex; } }

/******************************************************************
utility - display-off
******************************************************************/
.u-display-off { position: absolute; width: 1px; height: 1px; margin: -1px; border: 0; overflow: hidden; padding: 0; clip: rect(0, 0, 0, 0); }

@media screen and (max-width: 736px) { .u-sp-display-off { position: absolute; width: 1px; height: 1px; margin: -1px; border: 0; overflow: hidden; padding: 0; clip: rect(0, 0, 0, 0); } }

/******************************************************************
utility - text-align
******************************************************************/
.u-center { text-align: center; }

.u-right { text-align: right; }

.u-left { text-align: left; }

@media screen and (max-width: 736px) { .u-sp-center { text-align: center; }
  .u-sp-right { text-align: right; }
  .u-sp-left { text-align: left; } }

/******************************************************************
utility - font-size-percent
******************************************************************/
.u-font-size50per { font-size: 50%; }

.u-font-size55per { font-size: 55%; }

.u-font-size60per { font-size: 60%; }

.u-font-size65per { font-size: 65%; }

.u-font-size70per { font-size: 70%; }

.u-font-size75per { font-size: 75%; }

.u-font-size80per { font-size: 80%; }

.u-font-size85per { font-size: 85%; }

.u-font-size90per { font-size: 90%; }

.u-font-size95per { font-size: 95%; }

.u-font-size100per { font-size: 100%; }

.u-font-size110per { font-size: 110%; }

.u-font-size120per { font-size: 120%; }

.u-font-size130per { font-size: 130%; }

.u-font-size140per { font-size: 140%; }

.u-font-size150per { font-size: 150%; }

.u-font-size160per { font-size: 160%; }

.u-font-size170per { font-size: 170%; }

.u-font-size180per { font-size: 180%; }

.u-font-size190per { font-size: 190%; }

.u-font-size200per { font-size: 200%; }

.u-font-size210per { font-size: 210%; }

.u-font-size220per { font-size: 220%; }

.u-font-size230per { font-size: 230%; }

.u-font-size240per { font-size: 240%; }

.u-font-size250per { font-size: 250%; }

.u-font-size260per { font-size: 260%; }

.u-font-size270per { font-size: 270%; }

.u-font-size280per { font-size: 280%; }

.u-font-size290per { font-size: 290%; }

.u-font-size300per { font-size: 300%; }

@media screen and (max-width: 736px) { .u-sp-font-size50per { font-size: 50%; }
  .u-sp-font-size55per { font-size: 55%; }
  .u-sp-font-size60per { font-size: 60%; }
  .u-sp-font-size65per { font-size: 65%; }
  .u-sp-font-size70per { font-size: 70%; }
  .u-sp-font-size75per { font-size: 75%; }
  .u-sp-font-size80per { font-size: 80%; }
  .u-sp-font-size85per { font-size: 85%; }
  .u-sp-font-size90per { font-size: 90%; }
  .u-sp-font-size95per { font-size: 95%; }
  .u-sp-font-size100per { font-size: 100%; }
  .u-sp-font-size110per { font-size: 110%; }
  .u-sp-font-size120per { font-size: 120%; }
  .u-sp-font-size130per { font-size: 130%; }
  .u-sp-font-size140per { font-size: 140%; }
  .u-sp-font-size150per { font-size: 150%; }
  .u-sp-font-size160per { font-size: 160%; }
  .u-sp-font-size170per { font-size: 170%; }
  .u-sp-font-size180per { font-size: 180%; }
  .u-sp-font-size190per { font-size: 190%; }
  .u-sp-font-size200per { font-size: 200%; }
  .u-sp-font-size210per { font-size: 210%; }
  .u-sp-font-size220per { font-size: 220%; }
  .u-sp-font-size230per { font-size: 230%; }
  .u-sp-font-size240per { font-size: 240%; }
  .u-sp-font-size250per { font-size: 250%; }
  .u-sp-font-size260per { font-size: 260%; }
  .u-sp-font-size270per { font-size: 270%; }
  .u-sp-font-size280per { font-size: 280%; }
  .u-sp-font-size290per { font-size: 290%; }
  .u-sp-font-size300per { font-size: 300%; } }

/******************************************************************
utility - bg
******************************************************************/
.u-bg { background-color: #1f4693; }

/******************************************************************
utility - color
******************************************************************/
.u-color { color: #1f4693; }

/******************************************************************
utility - over-opacity
******************************************************************/
.u-over-opacity { transition-property: opacity; transition-duration: 0.3s; }

.u-over-opacity:hover { opacity: 0.7; }

a.u-text-anker { color: #1f4693; text-decoration: underline; }

a.u-text-anker:hover { text-decoration: none; }
