.sp {
  display: none
}

@media only screen and (max-width: 600px) {
  .sp {
    display: block
  }
  .pc {
    display: none
  }
}


/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%
}

body {
  margin: 0
}

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

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible
}

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

a {
  background-color: transparent
}

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

b, strong {
  font-weight: bolder
}

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

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;
  font-size: 100%;
  line-height: 1.15;
  margin: 0
}

button, input {
  overflow: visible
}

button, select {
  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;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal
}

progress {
  vertical-align: baseline
}

textarea {
  overflow: auto
}

[type="checkbox"], [type="radio"] {
  box-sizing: border-box;
  padding: 0
}

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

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

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

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

details {
  display: block
}

summary {
  display: list-item
}

template {
  display: none
}

[hidden] {
  display: none
}

html {
  font-size: 16px
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #08303A;
  font-family: "M PLUS 1p", -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-size: 1em;
  line-height: 1.8;
  margin: 0;
  text-rendering: optimizeLegibility
}

button, input, select, optgroup, textarea {
  color: #08303A;
  font-family: "M PLUS 1p", -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  line-height: 1.8;
  text-rendering: optimizeLegibility
}

p {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

dfn, cite, em, i {
  font-style: italic
}

blockquote cite {
  font-size: .83333em;
  font-style: normal;
  font-family: "M PLUS 1p", -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

pre {
  font-size: .87719em;
  font-family: "Courier 10 Pitch", Courier, monospace;
  line-height: 1.8;
  overflow: auto
}

code, kbd, tt, var {
  font-size: .87719em;
  font-family: Menlo, monaco, Consolas, Lucida Console, monospace
}

abbr, acronym {
  border-bottom: 1px dotted #666;
  cursor: help
}

mark, ins {
  background: #fff9c0;
  text-decoration: none
}

big {
  font-size: 125%
}

a {
  text-decoration: none
}

a:hover {
  text-decoration: none
}

a:focus {
  text-decoration: underline
}

html {
  box-sizing: border-box
}

::-moz-selection {
  background-color: #cbd9ed
}

::selection {
  background-color: #cbd9ed
}

*, *:before, *:after {
  box-sizing: inherit
}

body {
  background-color: #fff
}

a {
  transition: color 110ms ease-in-out;
  color: #2D68B5
}

a:hover, a:active {
  color: #23518c;
  outline: 0;
  text-decoration: none
}

a:focus {
  outline: thin;
  outline-style: dotted;
  text-decoration: underline
}

h1, h2, h3, h4, h5, h6 {
  clear: both;
  margin: 2rem 0;
  font-weight: normal
}

.kern {
  margin-left: 1em
}

.sp {
  display: none
}

.entry-header {
  margin-top: 80px
}

.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
  line-height: 1;
  font-weight: bold
}

.entry-content h1 {
  font-size: 1.76em;
  margin: 2.85em 0 2.14em
}

.entry-content h2 {
  font-size: 1.5em;
  margin: 2.5em 0 2.08em;
  padding-bottom: .6em;
  border-bottom: 2px solid #707070
}

.entry-content h3 {
  font-size: 1.2em;
  margin: 2.08em 0 2.22em
}

.entry-content h4, .entry-content h5, .entry-content h6, .entry-content p {
  font-size: 1.125em;
  margin: 2.22em 0
}

.entry-content ul {
  margin-bottom: 2em;
  font-size: 1.125em
}

.entry-content ul li {
  margin-bottom: 1em
}

.entry-content dl {
  font-size: 1.125em
}

.entry-content figcaption {
  font-size: .87719em
}

.entry-content video, .entry-content iframe {
  width: 100%;
  margin-bottom: 3em
}

.entry-content .video-tag {
  margin-bottom: 3em
}

.entry-content .video-tag video, .entry-content .video-tag iframe {
  margin-bottom: 0
}

.entry-content .video-tag figcaption {
  text-align: center
}

.entry-content table {
  margin-bottom: 3em
}

.entry-content .section, .entry-content .contents-section {
  margin-bottom: 2em;
  content: "";
  display: table;
  table-layout: fixed
}

.entry-content .section h1, .entry-content .section h2, .entry-content .section h3, .entry-content .section h4, .entry-content .section h5, .entry-content .section h6, .entry-content .contents-section h1, .entry-content .contents-section h2, .entry-content .contents-section h3, .entry-content .contents-section h4, .entry-content .contents-section h5, .entry-content .contents-section h6 {
  clear: none;
  text-align: left;
  margin-bottom: .5em;
  font-weight: normal
}

.entry-content .section figure figcaption, .entry-content .contents-section figure figcaption {
  font-size: .83333em
}

.entry-content .section.img-left figure, .entry-content .contents-section.img-left figure {
  float: left;
  margin-right: 30px;
  margin-bottom: 2em
}

.entry-content .section.img-right figure, .entry-content .contents-section.img-right figure {
  float: right;
  margin-left: 30px;
  margin-bottom: 2em
}

.entry-content .section.img-center figure, .entry-content .contents-section.img-center figure {
  margin-bottom: 1em
}

.entry-content .section.img-center figure figcaption, .entry-content .contents-section.img-center figure figcaption {
  display: block;
  text-align: center
}

.link-arrow, .link-external {
  display: inline-block;
  padding-right: 30px;
  position: relative;
  margin-left: 10px
}

.link-arrow:after, .link-external:after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 0;
  content: ""
}

.link-arrow:after {
  top: 8px;
  width: 12px;
  height: 12px;
  background: url(../../source/svg/link-normal.svg) no-repeat center center;
  background-size: contain
}

.link-external:after {
  top: 4px;
  width: 23px;
  height: 20px;
  background: url(../../source/svg/link-external.svg) no-repeat center center;
  background-size: contain
}

hr {
  background-color: #929292;
  border: 0;
  height: 2px
}

ul, ol {
  padding-left: 2rem
}

ul {
  list-style: disc
}

ul ul {
  list-style-type: circle
}

ol {
  list-style: decimal
}

li {
  line-height: 1.8
}

li>ul, li>ol {
  padding-left: 4rem
}

dt {
  font-weight: bold
}

dd {
  margin: 0 2rem 2rem
}

img {
  height: auto;
  max-width: 100%;
  position: relative
}

figure {
  margin: 0
}

blockquote {
  border-left: 2px solid #2D68B5;
  margin-left: 0;
  padding: 0 0 0 2rem
}

blockquote>p {
  margin: 0 0 2rem
}

blockquote cite {
  color: #929292
}

table {
  margin: 0 0 2rem;
  border-collapse: collapse;
  width: 100%;
  font-family: "M PLUS 1p", -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

table td, table th {
  padding: 0.5em;
  border: 1px solid #B7C3C6;
  word-break: break-all;
  font-weight: normal;
  text-align: left
}

table th {
  background: #F0F4F9
}

.contents-section {
  padding: 80px 0;
  margin-bottom: 2em
}

.contents-section h2, .contents-section h3, .contents-section h4 {
  text-align: center;
  margin-bottom: 54px;
  margin-top: 0;
  font-weight: normal
}

.contents-section h2 {
  font-size: 1.76em
}

.contents-section h3 {
  font-size: 1.4em
}

.contents-section h4 {
  font-size: 1.4em
}

.contents-section.pickup {
  background-color: #F0F4F9
}

#section-contact.contents-section h3 {
  text-align: center;
  margin-bottom: 3em
}

.links-container {
  text-align: center
}

.btn-banner-link {
  display: inline-block;
  width: 460px;
  margin: 15px;
  border: 4px solid #2D68B5;
  border-radius: 4px;
  position: relative;
  vertical-align: bottom;
  background-color: #fff
}

/*20211111 ADD START*/
.btn-banner-link2 {
  display: inline-block;
  width: 460px;
  margin: 15px;
  border: 4px solid #FF5050;
  border-radius: 4px;
  position: relative;
  vertical-align: bottom;
  background-color:#fff
}

.btn-banner-link2.full p{
  color: #FF5050;
}
/*20211111 ADD END*/

.btn-banner-link img, .btn-banner-link2 img {	/*20211111 CHG .btn-banner-link img {*/
  float: left;
  margin-right: 10px
}

.btn-banner-link p, .btn-banner-link2 p {	/*20211111 CHG .btn-banner-link p {*/
  text-align: left;
  display: table-cell;
  vertical-align: middle;
  height: 160px;
  width: 280px;
  margin: 0;
  font-size: 1.2em
}

.btn-banner-link:hover {
  background-color: #F0F4F9;
  color: brightness(#08303A, -15%);
  transition: all .3s ease-in-out;
  cursor: pointer
}

/*20211111 ADD START*/
.btn-banner-link2:hover {
  background-color: #FFF7FF;
  color: brightness(#FF5050, -15%);
  transition: all .3s ease-in-out;
  cursor: pointer
}
/*20211111 ADD END*/

.btn-banner-link:after {
  content: "";
  width: 40px;
  height: 40px;
  background: url(../../source/svg/btn-banner-link-arrow.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -20px
}

/*20211111 ADD SRART */
.btn-banner-link2:after {
  content: "";
  width: 40px;
  height: 40px;
  background: url(../../source/svg/btn-banner-link-arrow2.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -20px
}
/*20211111 ADD SRART*/

.btn-banner-link.full, .btn-banner-link2.full {	/*20211111 CHG .btn-banner-link.full {	*/
  width: 100%
}

.btn-link {
  display: inline-block;
  line-height: 70px;
  background: #2d68b5;
  background: -moz-linear-gradient(45deg, #2d68b5 55%, #59ACDB 100%);
  background: -webkit-linear-gradient(45deg, #2d68b5 55%, #59ACDB 100%);
  background: linear-gradient(45deg, #2d68b5 55%, #59ACDB 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2d68b5', endColorstr='#59ACDB', GradientType=1);
  margin: 15px;
  border-radius: 4px;
  position: relative;
  color: #fff;
  width: 300px;
  text-align: center;
  transition: all .3s ease-in-out
}

/*20211109 ADD Start*/
.btn-link2 {
  display: inline-block;
  line-height: 70px;
  background: #FF5050;
  background: -moz-linear-gradient(45deg, #FF5050 55%, #FF9476 100%);
  background: -webkit-linear-gradient(45deg, #FF5050 55%, #FF9476 100%);
  background: linear-gradient(45deg, #FF5050 55%, #FF9476 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FF5050', endColorstr='#FF9476', GradientType=1);
  margin: 15px;
  border-radius: 4px;
  position: relative;
  color: #fff;
  width: 300px;
  text-align: center;
  transition: all .3s ease-in-out
}
/*20211109 ADD End*/

.btn-link p, .btn-link2 p {	/*20211109CHG .btn-link p {*/
  margin: 0;
  font-size: 1.2em
}

.btn-link a, .btn-link a:visited, .btn-link2 a, .btn-link2 a:visited {	/*20211109CHG .btn-link a, .btn-link a:visited*/
  color: #fff;
  font-size: 1.2em
}

.btn-link:after, .btn-link2:after {	/*20211109CHG .btn-link:after {*/
  content: "";
  width: 9px;
  height: 13px;
  background: url(../../source/svg/btn-link-arrow.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  right: 30px;
  top: 50%;
  margin-top: -6px
}

.btn-link:hover {
  cursor: pointer;
  color: brightness(#fff, -15%);
  transition: all .3s ease-in-out;
  background: #266799;
  background: -moz-linear-gradient(45deg, #266799 0%, #2f9dd8 100%);
  background: -webkit-linear-gradient(45deg, #266799 0%, #2f9dd8 100%);
  background: linear-gradient(45deg, #266799 0%, #2f9dd8 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#266799', endColorstr='#2f9dd8', GradientType=1)
}

/*20211109 ADD Start*/
.btn-link2:hover {
  cursor: pointer;
  color: brightness(#fff, -15%);
  transition: all .3s ease-in-out;
  background: #266799;
  background: -moz-linear-gradient(45deg, #F84F34 0%, #FF8573 100%);
  background: -webkit-linear-gradient(45deg, #F84F34 0%, #FF8573 100%);
  background: linear-gradient(45deg, #F84F34 0%, #FF8573 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#F84F34', endColorstr='#FF8573', GradientType=1)
}
/*20211109 ADD End*/

.btn-link.download, .btn-link2.download {	/*20211109CHG .btn-link.download {*/
  width: 240px
}

.btn-link.download:after, .btn-link2.download:after {	/*20211109CHG .btn-link.download:after*/
  content: "";
  width: 16px;
  height: 18px;
  background: url(../../source/svg/btn-download-icon.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  right: 30px;
  top: 50%;
  margin-top: -8px
}

.bg-color-blue .btn-link:hover {
  background-color: #F0F4F9;
  transition: all .3s ease-in-out;
  cursor: pointer;
  color: brightness(#fff, -15%)
}

.bg-color-blue .btn-link:after {
  background: url(../../source/svg/link-normal-b.svg) no-repeat center center
}

.bg-color-blue .btn-link:after {
  background: url(../../source/svg/btn-download-icon-b.svg) no-repeat center center
}

.text-link {
  color: #2D68B5;
  text-decoration: underline
}

.text-link:after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 10px;
  background: url(../../source/svg/baseline-arrow_forward.svg) no-repeat center center;
  background-size: contain
}

@media only screen and (max-width: 1070px) {
  .contents-section {
    padding: 3em 0;
    margin-bottom: 2em
  }
  .contents-section h2, .contents-section h3, .contents-section h4 {
    margin-bottom: 1.5em;
    margin-top: 0
  }
}

@media only screen and (max-width: 600px) {
  .pc {
    display: none
  }
  .sp {
    display: block
  }
  .contents-section {
    padding: 2em 0;
    margin-bottom: 2em
  }
  .contents-section h2, .contents-section h3, .contents-section h4 {
    margin-bottom: 1.5em;
    margin-top: 0
  }
  .contents-section h2 {
    font-size: 1.125em
  }
  .contents-section h3 {
    font-size: 1.125em
  }
  .contents-section h4 {
    font-size: 1.125em
  }
  .btn-banner-link {
    width: auto;
    margin: 0 calc(7%);
    margin-bottom: 30px
  }
  .btn-banner-link img, .btn-banner-link p {
    height: 110px
  }
  .btn-banner-link p {
    font-size: 1em
  }
  .btn-banner-link:after {
    width: 24px;
    height: 24px
  }
  .entry-header {
    margin-top: 40px
  }
  .entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
    line-height: 1
  }
  .entry-content h1 {
    font-size: 1.4em;
    margin: 2.85em 0 2.14em
  }
  .entry-content h2 {
    font-size: 1.125em;
    margin: 2.5em 0 2.08em
  }
  .entry-content h3 {
    font-size: 1.125em;
    margin: 2.08em 0 2.22em
  }
  .entry-content h4, .entry-content h5, .entry-content h6, .entry-content p {
    font-size: .93em;
    margin: 2.22em 0;
    line-height: 1.5
  }
  .entry-content ul {
    margin-bottom: 2em
  }
  .entry-content ul li {
    margin-bottom: 1em
  }
  .entry-content ul, .entry-content dl {
    font-size: .93em
  }
  .entry-content figcaption {
    font-size: .83333em
  }
  .entry-content .section figure figcaption, .entry-content .contents-section figure figcaption {
    font-size: .83333em
  }
  .entry-content .section.img-left figure, .entry-content .section.img-right figure, .entry-content .contents-section.img-left figure, .entry-content .contents-section.img-right figure {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 2em
  }
  .entry-content .section.img-left figure img, .entry-content .section.img-right figure img, .entry-content .contents-section.img-left figure img, .entry-content .contents-section.img-right figure img {
    width: 100%
  }
}

.button, button, input[type="button"], input[type="reset"], input[type="submit"] {
  transition: background 150ms ease-in-out;
  background: #2D68B5;
  border: none;
  border-radius: 5px;
  box-sizing: border-box;
  color: #fff;
  font-family: "M PLUS 1p", -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: .87719em;
  font-weight: 700;
  line-height: 1.2;
  outline: none;
  padding: 1.2rem 2rem;
  text-decoration: none;
  vertical-align: bottom
}

.button:hover, button:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover {
  background: #2D68B5;
  cursor: pointer
}

.button:visited, button:visited, input[type="button"]:visited, input[type="reset"]:visited, input[type="submit"]:visited {
  color: #fff;
  text-decoration: none
}

.button:focus, button:focus, input[type="button"]:focus, input[type="reset"]:focus, input[type="submit"]:focus {
  background: #2D68B5;
  outline: thin dotted;
  outline-offset: -4px
}

input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea {
  -webkit-backface-visibility: hidden;
  background: #fff;
  border: solid 1px #2D68B5;
  box-sizing: border-box;
  outline: none;
  padding: .72rem 1.32rem;
  -webkit-appearance: none;
  outline-offset: 0;
  border-radius: 0;
  width: 100%
}

input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="number"]:focus, input[type="tel"]:focus, input[type="range"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="color"]:focus, textarea:focus {
  border-color: #2D68B5;
  outline: thin solid rgba(45, 104, 181, 0.15);
  outline-offset: -4px
}

input[type="search"]::-webkit-search-decoration {
  display: none
}

textarea {
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: 100%;
  resize: vertical
}

form p {
  margin: 2rem 0
}

.wpcf7-list-item {
  padding: 0 20px 0 0
}

a {
  transition: color 110ms ease-in-out;
  color: #2D68B5
}

a:visited {
  color: #2D68B5
}

a:hover, a:active {
  color: #23518c;
  outline: 0;
  text-decoration: none
}

a:focus {
  outline: thin dotted;
  text-decoration: underline
}

.footer-navigation .footer-menu {
  padding-left: 0;
  list-style-type: none
}

.footer-navigation .footer-menu li a {
  color: #08303A
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #08303A;
  display: block;
  font-size: 14px;
  font-size: .875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000
}

#content[tabindex="-1"]:focus {
  outline: 0
}

.alignleft {
  float: left;
  margin-right: 2rem
}

@media only screen and (max-width: 1070px) {
  .alignleft {
    margin-right: calc(2 * 2rem)
  }
}

.alignright {
  float: right;
  margin-left: 2rem
}

@media only screen and (max-width: 1070px) {
  .alignright {
    margin-left: calc(2 * 2rem)
  }
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto
}

.clear:before, .clear:after, .entry-content:before, .entry-content:after, .comment-content:before, .comment-content:after, .site-header:before, .site-header:after, .site-content:before, .site-content:after, .site-footer:before, .site-footer:after {
  content: "";
  display: table;
  table-layout: fixed
}

.clear:after, .entry-content:after, .comment-content:after, .site-header:after, .site-content:after, .site-footer:after {
  clear: both
}

#page {
  width: 100%
}

.site-content {
  overflow: hidden
}

#page #main .entry-content>*, #page .entry-header {
  width: 750px;
  margin-right: auto;
  margin-left: auto
}

.entry-header {
  margin-top: 0
}

#page .entry-title {
  display: inline-block;
  width: auto;
  font-size: 1.5em;
  padding-bottom: .6em;
  border-bottom: 2px solid #707070;
  font-weight: bold
}

#page .intro {
  margin-top: 1em
}

#page #main .entry-content>.contents-section.bg-img, #page #main .entry-content>.contents-section.bg-color-blue, #page #main .entry-content>.contents-section.bg-color-light {
  width: 100%
}

#page #main .entry-content>.contents-section.bg-img>div, #page #main .entry-content>.contents-section.bg-color-blue>div, #page #main .entry-content>.contents-section.bg-color-light>div {
  width: 750px;
  margin-right: auto;
  margin-left: auto
}

#page #main .entry-content>.contents-section.bg-color-blue {
  background-color: #2D68B5
}

#page #main .entry-content>.contents-section.bg-color-blue .btn-link {
  background: #fff;
  color: #2D68B5;
  transition: all .3s ease-in-out
}

#page #main .entry-content>.contents-section.bg-color-blue .btn-link:hover {
  cursor: pointer;
  background-color: #ccd9ea
}

#page #main .entry-content>.contents-section.bg-color-blue .btn-link:after {
  background: url(../../source/svg/link-normal-b.svg) no-repeat center center;
  background-size: contain
}

#page #main .entry-content>.contents-section.bg-color-blue .btn-link.download:after {
  background: url(../../source/svg/btn-download-icon-b.svg) no-repeat center center
}

#page #main .entry-content>.contents-section.bg-color-light {
  background-color: #F0F4F9
}

.page-template-default #section-guide {
  padding-top: 0;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 0
}

.page-template-default #section-guide ul {
  margin: 80px -105px 0
}

#breadcrumbs {
  background: #F0F4F9
}

#breadcrumbs ul {
  padding: 0;
  list-style-type: none;
  margin: 0 auto;
  max-width: 1170px
}

#breadcrumbs ul li {
  display: inline;
  line-height: 50px
}

#breadcrumbs ul li:after {
  content: ">";
  color: #929292
}

#breadcrumbs ul li:last-child:after {
  content: ""
}

#breadcrumbs ul li a {
  padding: 0 10px;
  color: #929292
}

.home .contents-section {
  margin-bottom: 0
}

#page #main .entry-content>.contents-section {
  padding-top: 0
}

.page #page #section-guide ul li .guide-text span {
  font-size: 1em
}

@media only screen and (max-width: 1070px) {
  .page-template-default #section-guide ul {
    margin: 20px 0 0
  }
  .page-template-default #section-guide ul li {
    margin-bottom: 0
  }
  .page-template-default #section-guide ul li a img {
    margin-top: 1em
  }
  .page-template-default #section-guide>p {
    margin-left: 20px;
    margin-right: 20px
  }
  #page #main .entry-content .contents-section .btn-banner-link {
    margin: 0
  }
}

@media only screen and (max-width: 600px) {
  #breadcrumbs ul li {
    line-height: 2.85em;
    font-size: .87719em
  }
  #page #main .entry-content>*, #page .entry-header {
    width: auto;
    margin-left: calc(7%);
    margin-right: calc(7%)
  }
  #page #main .entry-content>.contents-section.bg-img, #page #main .entry-content>.contents-section.bg-color-blue, #page #main .entry-content>.contents-section.bg-color-light {
    width: 100%;
    margin-left: 0;
    margin-right: 0
  }
  #page #main .entry-content>.contents-section.bg-img>div, #page #main .entry-content>.contents-section.bg-color-blue>div, #page #main .entry-content>.contents-section.bg-color-light>div {
    width: auto;
    margin-left: calc(7%);
    margin-right: calc(7%)
  }
  #page #main .entry-content .contents-section .btn-banner-link p {
    padding-right: 44px
  }
  .page-template-default #main .entry-content>#section-guide {
    width: 100%;
    margin-left: 0;
    margin-right: 0
  }
  .page-template-default #main .entry-content>#section-guide ul li a {
    padding-top: 10%
  }
  .page-template-default #main .entry-content>#section-guide ul li a img {
    margin-top: 1em
  }
}

#masthead {
  position: relative;
  background: #2D68B5;
  color: white;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100
}

#content {
  margin-top: 80px
}

.site-branding-container {
  margin: 0 auto;
  max-width: 1280px;	/*20211114CHG max-width: 1170px; /1280*/
  padding-top: 5px;
  padding-bottom: 5px;
  position: relative;
  min-height: 84px
}

.site-branding-container .site-branding {
  display: flex;
  justify-content: space-between;
  position: relative
}

.site-branding-container .site-branding img {
  vertical-align: bottom
}

.site-branding-container .site-branding .site-title {
  margin: 0 0 .4em 0;
  padding-left: 10px;
  max-width: 30%;
  position: absolute;
  left: 0;
  top: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: nowrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex-direction: column
}

.site-branding-container .site-branding .site-title a {
  vertical-align: middle
}

.site-branding-container .site-branding #nav-content {
  position: absolute;
  width: 77%;	/*202111 CHG width: 70%; */
  top: 50%;
  right: 20px
}

.nav-menus {
  width: 100%;
}

.nav-menus #menu-global-menu, .nav-menus #menu-sub-menu {
  list-style-type: none;
  display: flex;
  justify-content: space-between;
  padding-left: 0;
  margin: 0
}

.nav-menus #menu-global-menu li, .nav-menus #menu-sub-menu li {
  padding: 0 6px;
  color: #fff
}

.nav-menus #menu-global-menu li a, .nav-menus #menu-sub-menu li a {
  color: #08303A;
  font-weight: normal
}

.nav-menus #menu-global-menu {
  padding-left: 5%
}

.nav-menus #menu-global-menu li {
  padding: 0 3px
}

.nav-menus #menu-global-menu li a {
  font-weight: bold;
  display: inline-block;
  line-height: 76px;
  color: white;
  font-size: .87719em
}

.nav-menus #menu-sub-menu {
  justify-content: flex-end;
  margin-bottom: 12px
}

.nav-menus #menu-sub-menu li a {
  font-size: .83333em;
  font-weight: normal;
  display: inline-block;
  padding: 5px 12px;
  font-weight: normal;
  color: #fff;
  background: #2d68b5;
  background: -moz-linear-gradient(45deg, #2d68b5 55%, #59ACDB 100%);
  background: -webkit-linear-gradient(45deg, #2d68b5 55%, #59ACDB 100%);
  background: linear-gradient(45deg, #2d68b5 55%, #59ACDB 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2d68b5', endColorstr='#59ACDB', GradientType=1);
  border-radius: 3px
}

.nav-unshown {
  display: none
}

@media only screen and (max-width: 1280px) { /*202111 @media only screen and (max-width: 1070px) { */
  #content {
    margin-top: 68px
  }
  .site-branding-container {
    margin: 0;
    padding: 0;
    min-height: 60px
  }
  .site-branding-container .site-branding {
    display: block
  }
  .site-branding-container .site-branding img {
    vertical-align: middle
  }
  .site-branding-container .site-branding #nav-drawer {
    width: auto
  }
  .site-branding-container .site-branding .site-title {
    margin: 0;
    width: 100%;
    max-width: 100%;
    padding: 5px 10px 5px 20px;
    z-index: 10000;
    position: fixed;
    flex-direction: row;
    justify-content: flex-start;
    top: 0;
    left: 0;
    vertical-align: middle
  }
  .site-branding-container .site-branding .site-title img {
    width: 180px
  }
  #masthead {
    min-height: 70px;
    background: #2D68B5;
    color: white
  }
  #nav-open, #nav-close {
    display: inline-block;
    width: 30px;
    height: 22px;
    vertical-align: middle;
    top: 24px;
    right: 28px;
    position: fixed;
    z-index: 10001
  }
  #nav-open span, #nav-open span:before, #nav-open span:after, #nav-close span, #nav-close span:before, #nav-close span:after {
    position: absolute;
    height: 3px;
    width: 28px;
    border-radius: 3px;
    background: #fff;
    display: block;
    content: '';
    cursor: pointer
  }
  #nav-close {
    opacity: 0
  }
  #nav-open span:before, #nav-close span:before {
    bottom: -8px
  }
  #nav-open span:after, #nav-close span:after {
    bottom: -16px
  }
  #nav-close span:before {
    bottom: -6px
  }
  .site-branding-container .site-branding #nav-content {
    overflow: auto;
    position: fixed;
    top: 68px;
    left: 0;
    z-index: 99999;
    width: 100%;
    height: 100%;
    background: #2D68B5;
    transition: .25s ease-in-out;
    -webkit-transform: translateY(-111%);
    -ms-transform: translateY(-111%);
    transform: translateY(-111%)
  }
  #nav-input:checked~#nav-close {
    display: block;
    opacity: 1;
    z-index: 10000;
    transition: .3s ease-in-out
  }
  #nav-input:checked~#nav-close span:before {
    opacity: 1;
    -webkit-animation: active-menu-bar02 .75s forwards;
    animation: active-menu-bar02 .75s forwards
  }
  #nav-input:checked~#nav-close span {
    -webkit-animation: active-menu-bar01 .75s forwards;
    animation: active-menu-bar01 .75s forwards
  }
  #nav-input~#nav-close span:before {
    opacity: 1;
    -webkit-animation: active-menu-close02 .75s forwards;
    animation: active-menu-close02 .75s forwards
  }
  #nav-input~#nav-close span {
    -webkit-animation: active-menu-close01 .75s forwards;
    animation: active-menu-close01 .75s forwards
  }
  #nav-input:checked~#nav-close span:after {
    opacity: 0;
    transition: .3s ease-in-out
  }
  #nav-input:checked~#nav-open {
    opacity: 0;
    transition: .3s ease-in-out
  }
  @-webkit-keyframes active-menu-bar01 {
    0% {
      -webkit-transform: translateY(0) rotate(0)
    }
    50% {
      -webkit-transform: translateY(10px) rotate(0)
    }
    100% {
      -webkit-transform: translateY(10px) rotate(45deg)
    }
  }
  @keyframes active-menu-bar01 {
    0% {
      transform: translateY(0) rotate(0)
    }
    50% {
      transform: translateY(10px) rotate(0)
    }
    100% {
      transform: translateY(10px) rotate(45deg)
    }
  }
  @-webkit-keyframes active-menu-bar02 {
    0% {
      -webkit-transform: translateY(0) rotate(0)
    }
    50% {
      -webkit-transform: translateY(-6px) rotate(0)
    }
    100% {
      -webkit-transform: translateY(-6px) rotate(-90deg)
    }
  }
  @keyframes active-menu-bar02 {
    0% {
      transform: translateY(0) rotate(0)
    }
    50% {
      transform: translateY(-6px) rotate(0)
    }
    100% {
      transform: translateY(-6px) rotate(-90deg)
    }
  }
  @-webkit-keyframes active-menu-close01 {
    100% {
      -webkit-transform: translateY(0) rotate(0)
    }
    50% {
      -webkit-transform: translateY(8px) rotate(0)
    }
    0% {
      -webkit-transform: translateY(8px) rotate(45deg)
    }
  }
  @keyframes active-menu-close01 {
    0% {
      transform: translateY(0) rotate(0)
    }
    50% {
      transform: translateY(8px) rotate(0)
    }
    100% {
      transform: translateY(8px) rotate(45deg)
    }
  }
  @-webkit-keyframes active-menu-close02 {
    100% {
      -webkit-transform: translateY(0) rotate(0)
    }
    50% {
      -webkit-transform: translateY(-8px) rotate(0)
    }
    0% {
      -webkit-transform: translateY(-8px) rotate(-90deg)
    }
  }
  @keyframes active-menu-close02 {
    100% {
      transform: translateY(0) rotate(0)
    }
    50% {
      transform: translateY(-8px) rotate(0)
    }
    0% {
      transform: translateY(-8px) rotate(-90deg)
    }
  }
  #nav-input:checked~#nav-content {
    -webkit-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%)
  }
  .nav-menus {
    padding-top: 5%
  }
  .nav-menus #menu-global-menu, .nav-menus #menu-sub-menu {
    display: block
  }
  .nav-menus #menu-global-menu li, .nav-menus #menu-sub-menu li {
    width: 100%;
    text-align: center
  }
  .nav-menus #menu-global-menu li a, .nav-menus #menu-sub-menu li a {
    color: #fff;
    display: block;
    line-height: 3.4em
  }
  .nav-menus #menu-global-menu {
    padding-left: 0
  }
  .nav-menus #menu-sub-menu {
    justify-content: flex-end;
    margin-top: 20px;
    margin-bottom: 20px
  }
  .nav-menus #menu-sub-menu li a {
    font-size: .93em;
    background: none
  }
  .nav-menus #sub-navigation {
    position: absolute;
    top: 23em;
    width: 100%
  }
}

@media only screen and (max-width: 600px) {
  .site-branding-container .site-branding .site-title {
    width: auto;
    width: 100%;
    padding-top: 17px;
    padding-bottom: 17px;
    vertical-align: middle;
    max-width: 100%;
    background: #2D68B5
  }
  .site-branding-container .site-branding .site-title img {
    width: 180px
  }
  #nav-content {
    -webkit-transform: translateY(-112%);
    transform: translateY(-112%)
  }
}

@media screen and (max-width: 780px) and (orientation: landscape) {
  .site-branding-container .site-branding #nav-content {
    transform: translateY(-140%);
    padding-bottom: 20%
  }
}

#colophon #footer-navigation {
  width: 100%;
  padding: 1em 0;
  border-top: 1px solid #ccc
}

#colophon #footer-navigation .footer-menu {
  margin: 0 auto;
  max-width: 1170px
}

#colophon #footer-navigation .footer-menu li {
  display: inline;
  padding: 0 30px 0;	/*2021109 CHG padding: 0 30px 0 0;*/
  font-weight: bold
}

#colophon #footer-sitemap {
  background: #F0F4F9;
  display: flex;
  justify-content: space-between;
  padding: 1em 0 1.5em
}

#colophon #footer-sitemap h4 {
  font-weight: bold;
  font-size: .87719em
}

#colophon #footer-sitemap>div {
  margin: 0 auto;
  max-width: 1170px;
  width: 100%;
  display: flex
}

#colophon #footer-sitemap>div section {
  width: calc(33.3% - 10px);
  margin: 0 5px
}

#colophon #footer-sitemap ul {
  padding: 0;
  list-style-type: none
}

#colophon #footer-sitemap ul li {
  font-size: .75019em;
  margin-bottom: .8em
}

#colophon #footer-sitemap ul li a {
  color: #08303A
}

.site-info {
  background: #2D68B5;
  color: #fff;
  padding: 2em 0;
  overflow: hidden
}

.site-info>div {
  max-width: 1170px;
  margin: 0 auto
}

.site-info>div>div {
  margin: 0 auto;
  max-width: 1170px;
  width: 25%;
  float: left;
  font-size: .83333em
}

.site-info h4 {
  margin-bottom: .3em;
  font-weight: normal;
  width: 100%;
  margin: 0;
  line-height: 2
}

.site-info address {
  font-style: normal;
  line-height: 1.4
}

.site-info a {
  color: #fff
}

.site-info .copyright {
  margin: 3em 0 0 0;
  width: 100%;
  float: left;
  text-align: center;
  font-size: .75019em
}

@media only screen and (max-width: 1070px) {
  #colophon #footer-navigation .footer-menu {
    margin: 0 calc(7%)
  }
  #colophon #footer-sitemap>div {
    margin: 0 calc(7%)
  }
  .site-info>div {
    margin: 0 calc(7%)
  }
  .site-info>div>div {
    width: 50%
  }
  .site-info>div address {
    margin-bottom: 1em
  }
}

@media only screen and (max-width: 600px) {
  #colophon #footer-navigation {
    padding: 0
  }
  #colophon #footer-navigation .footer-menu {
    margin: 0
  }
  #colophon #footer-navigation .footer-menu li {
    display: block;
    border-bottom: 1px solid #ccc;
    margin: 0;
    line-height: 68px;
    padding-right: 0;
    text-align: center
  }
  #colophon #footer-sitemap {
    padding: 0
  }
  #colophon #footer-sitemap>div {
    margin: 0;
    display: block
  }
  #colophon #footer-sitemap>div section {
    width: 100%;
    margin: 0
  }
  #colophon #footer-sitemap>div section h4 {
    line-height: 68px;
    text-align: center;
    margin: 0;
    width: 100%;
    position: relative;
    border-bottom: 1px solid #fff
  }
  #colophon #footer-sitemap>div section h4:after {
    content: "";
    position: relative;
    display: inline-block;
    top: 2px;
    margin-left: 10px;
    width: 14px;
    height: 14px;
    background: url(../../source/svg/arrow-accordion.svg) no-repeat center center;
    background-size: contain
  }
  #colophon #footer-sitemap>div section>div {
    display: none;
    transition: all .5s ease-in-out
  }
  #colophon #footer-sitemap>div section>div.on {
    display: block;
    transition: all .5s ease-in-out
  }
  #colophon #footer-sitemap>div section>div.on:target {
    transform: scaleY(1)
  }
  #colophon #footer-sitemap>div section>div ul {
    margin: 0 calc(7%);
    padding: 1em 0
  }
  .site-info>div {
    margin: 0 calc(7%)
  }
  .site-info>div>div {
    width: 100%
  }
}

#slide-item {
  position: relative
}

#slide-item .main-visual {
  position: relative;
  overflow: hidden
}

#slide-item .main-visual img {
  z-index: 0;
  vertical-align: bottom;
  width: 100%;
  min-width: 100%
}

#slide-item .main-visual h2 {
  position: absolute;
  top: 35%;
  width: 100%;
  text-align: center;
  margin-right: 20px;
  margin-left: 20px;
  margin-top: -43px;
  color: #fff
}

#slide-item h2 {
  font-size: 3.75em;
  font-weight: normal;
  margin-bottom: .5em
}

#slide-item p {
  font-size: 1.2em;
  margin: 0
}

#slide-item h2, #slide-item p {
  z-index: 2
}

#slide-item .text-contents {
  position: absolute;
  width: 100%;
  text-align: center;
  top: 65%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #fff
}

@media only screen and (max-width: 1070px) {
  #slide-item h2 {
    font-size: 1.5em;
    margin-top: 0;
    margin-bottom: 1em
  }
  #slide-item p {
    font-size: .93em;
    margin-bottom: 2em;
    color: #08303A;
    margin-top: 100px;
    font-size: .93em
  }
  #slide-item .text-contents {
    top: 0;
    position: relative;
    -webkit-transform: translate(0%, 0%);
    -moz-transform: translate(0%, 0%);
    -ms-transform: translate(0%, 0%);
    transform: translate(0%, 0%);
    left: auto
  }
  #slide-item .text-contents h2, #slide-item .text-contents p {
    text-align: left;
    margin-right: 20px;
    margin-left: 20px
  }
  #slide-item .text-contents p {
    margin-top: 20px
  }
  #slide-item .main-visual {
    margin-bottom: 0;
    position: relative
  }
  #slide-item .main-visual h2 {
    position: absolute;
    top: 50%;
    margin-top: -43px;
    color: #fff;
    margin-left: 0;
    margin-right: 0
  }
  #slide-item .main-visual:before {
    width: 240px;
    height: 180px;
    top: -40px;
    left: -2px
  }
  #slide-item .main-visual:after {
    width: 306px;
    height: 207px;
    bottom: -40px;
    right: -20px;
    background: url(../../source/svg/slide-elm-bottom-sp.svg) no-repeat bottom right;
    background-size: contain
  }
}

@media only screen and (max-width: 600px) {
  #slide-item h2 {
    font-size: 1.5em
  }
  #slide-item p {
    color: #08303A;
    margin-top: 100px;
    font-size: .93em;
    margin-bottom: 2em
  }
  #slide-item .text-contents {
    position: relative
  }
  #slide-item .main-visual:before {
    width: 90px;
    height: 95px;
    top: -20px;
    left: -2px
  }
  #slide-item .main-visual:after {
    width: 206px;
    height: 177px;
    bottom: -38px;
    right: -20px;
    background: url(../../source/svg/slide-elm-bottom-sp.svg) no-repeat bottom right;
    background-size: contain
  }
}

.page-content .wp-smiley, .entry-content .wp-smiley, .comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0
}

embed, iframe, object {
  max-width: 100%
}

.custom-logo-link {
  display: inline-block
}

.avatar {
  border-radius: 100%;
  display: block;
  height: calc(2.25 * 2rem);
  min-height: inherit;
  width: calc(2.25 * 2rem)
}

svg {
  transition: fill 120ms ease-in-out;
  fill: currentColor
}

.wp-caption {
  margin-bottom: calc(1.5 * 2rem)
}

@media only screen and (max-width: 1070px) {
  .wp-caption.aligncenter {
    position: relative;
    left: calc( calc(8 * (100vw / 12) - 28px) / 2);
    transform: translateX(-50%)
  }
}

@media only screen and (max-width: 1170px) {
  .wp-caption.aligncenter {
    left: calc( calc(6 * (100vw / 12) - 28px) / 2)
  }
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto
}

.wp-caption-text {
  color: #929292;
  font-size: .83333em;
  font-family: "M PLUS 1p", -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.6;
  margin: 0;
  padding: 1rem;
  text-align: center
}

.gallery {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  margin-bottom: calc(1.5 * 2rem)
}

.gallery-item {
  display: inline-block;
  margin-right: 16px;
  margin-bottom: 16px;
  text-align: center;
  vertical-align: top;
  width: 100%
}

.gallery-columns-2 .gallery-item {
  max-width: calc((100% - 16px * 1) / 2)
}

.gallery-columns-2 .gallery-item:nth-of-type(2n+2) {
  margin-right: 0
}

.gallery-columns-3 .gallery-item {
  max-width: calc((100% - 16px * 2) / 3)
}

.gallery-columns-3 .gallery-item:nth-of-type(3n+3) {
  margin-right: 0
}

.gallery-columns-4 .gallery-item {
  max-width: calc((100% - 16px * 3) / 4)
}

.gallery-columns-4 .gallery-item:nth-of-type(4n+4) {
  margin-right: 0
}

.gallery-columns-5 .gallery-item {
  max-width: calc((100% - 16px * 4) / 5)
}

.gallery-columns-5 .gallery-item:nth-of-type(5n+5) {
  margin-right: 0
}

.gallery-columns-6 .gallery-item {
  max-width: calc((100% - 16px * 5) / 6)
}

.gallery-columns-6 .gallery-item:nth-of-type(6n+6) {
  margin-right: 0
}

.gallery-columns-7 .gallery-item {
  max-width: calc((100% - 16px * 6) / 7)
}

.gallery-columns-7 .gallery-item:nth-of-type(7n+7) {
  margin-right: 0
}

.gallery-columns-8 .gallery-item {
  max-width: calc((100% - 16px * 7) / 8)
}

.gallery-columns-8 .gallery-item:nth-of-type(8n+8) {
  margin-right: 0
}

.gallery-columns-9 .gallery-item {
  max-width: calc((100% - 16px * 8) / 9)
}

.gallery-columns-9 .gallery-item:nth-of-type(9n+9) {
  margin-right: 0
}

.gallery-item:last-of-type {
  padding-right: 0
}

.gallery-caption {
  display: block;
  font-size: .83333em;
  font-family: "M PLUS 1p", -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.6;
  margin: 0;
  padding: 1rem
}

.gallery-item>div>a {
  display: block;
  line-height: 0;
  box-shadow: 0 0 0 0 transparent
}

.gallery-item>div>a:focus {
  box-shadow: 0 0 0 2px #2d68b5
}

#section-guide ul {
  list-style-type: none;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 960px;
  margin: 0 auto;
  padding: 0
}

#section-guide ul a {
  color: #08303A
}

#section-guide ul a:hover {
  color: #2D68B5
}

#section-guide ul li {
  text-align: center;
  position: relative;
  width: calc(25% - 1px);
  padding-bottom: 50px;
  min-height: 260px;
  margin-bottom: 30px;
  border-right: 1px solid #cecece
}

#section-guide ul li:last-child, #section-guide ul li:nth-of-type(4n) {
  border-right: none
}

#section-guide ul li .guide-text {
  display: block;
  text-align: center;
  font-size: 1.125em;
  line-height: 1.5;
  padding: 0 20px;
  position: absolute;
  top: 165px;
  width: 100%
}

#section-guide ul li .guide-text span {
  font-size: 1.2em;
  font-weight: bold
}

#section-guide ul li .guide-text span span {
  font-size: .75019em;
  line-height: 1.6
}

#section-guide ul li .guide-text:after {
  content: "";
  position: relative;
  display: inline-block;
  top: 2px;
  margin-left: 10px;
  width: 15px;
  height: 15px;
  background: url(../../source/svg/arrow-guide.svg) no-repeat center center;
  background-size: contain
}

#section-guide.top ul {
  width: 1140px
}

#section-guide.top ul li {
  width: calc(20% - 1px)
}

#section-guide.top ul li:nth-of-type(4n) {
  border-right: 1px solid #cecece
}

#section-guide.narrow-column ul li {
  width: calc(20% - 1px)
}

#section-guide.narrow-column ul li:nth-of-type(4n) {
  border-right: 1px solid #cecece
}

#section-guide.narrow-column ul li .guide-text {
  font-size: 1.125em
}

#section-about {
  background: url(../../source/images/bg-section-about.jpg?201905) no-repeat center center;
  background-size: cover;
  padding-bottom: 70px
}

#section-about>div {
  width: 940px;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden
}

@media only screen and (max-width: 600px) {
  #section-about>div {
    width: auto;
    margin-left: 20px;
    margin-right: 20px
  }
}

#section-about>div h2 {
  margin-bottom: 1.2em
}

#section-about>div h3 {
  margin-bottom: 1.8em
}

#section-about>div .links-container {
  width: 750px;
  margin-left: auto;
  margin-right: auto;
  text-align: left
}

@media only screen and (max-width: 600px) {
  #section-about>div .links-container {
    width: auto;
    margin-left: 20px;
    margin-right: 20px
  }
}

#section-about>div .see-more {
  float: right;
  text-decoration: underline;
  margin-top: 60px
}

#section-news>div {
  width: 940px;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden
}

@media only screen and (max-width: 600px) {
  #section-news>div {
    width: auto;
    margin-left: 20px;
    margin-right: 20px
  }
}

#section-news>div ul {
  list-style-type: none;
  padding-left: 0
}

#section-news>div ul li {
  border-bottom: 1px solid #B7C3C6;
  padding: 10px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: nowrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row
}

#section-news>div ul li time {
  display: inline-block;
  width: 20%
}

#section-news>div ul li .title {
  display: inline-block;
  width: 80%;
  color: #2D68B5
}

#section-news>div .see-more {
  float: right;
  text-decoration: underline
}

#section-internet-bank {
  background: url(../../source/images/bg-section-internet-bank.jpg) no-repeat center left;
  background-size: auto 100%; /*202111CHG background-size: auto auto;*/
  background-position: top 1em left; /*202111ADD*/
  overflow: hidden;
  padding-top: 1em; /*202111CHG padding-top: 0;*/
  padding-bottom: 0
}

#section-internet-bank>div {
  background-color: #F6F6F6;
  width: 70%; /*202111CHG width: 50%;*/
  padding: 60px 200px 60px 60px;
  float: right
}

#section-internet-bank>div h3 {
  margin-bottom: 0em /*202111 CHG margin-bottom: 2em*/
}

#section-internet-bank>div .btn-link, .btn-link2 {	/*202111CHG #section-internet-bank>div .btn-link {*/
  margin-left: 0
}

#section-internet-bank>div .text-link-contain {
  width: 100%
}

#section-internet-bank>div h3 {
  text-align: left
}

@media only screen and (max-width: 1070px) {
  #section-guide>p {
    padding-left: 20px;
    padding-right: 20px
  }
  #section-guide ul {
    display: block;
    width: 100%;
    border-top: 1px solid #cecece;
    overflow: hidden
  }
  #section-guide ul li {
    width: calc(50% - 1px);
    padding-bottom: 80px;
    min-height: 200px;
    padding-top: 16px;
    border-right: 1px solid #cecece;
    border-bottom: 1px solid #cecece;
    float: left;
    margin-bottom: 0
  }
  #section-guide ul li:last-child {
    border-right: 1px solid #cecece
  }
  #section-guide ul li:nth-child(2n) {
    border-right: none !important
  }
  #section-guide ul li img {
    width: auto;
    max-height: 60px;
    height: auto
  }
  #section-guide ul li .guide-text {
    bottom: auto;
    top: 110px;
    font-size: .87719em;
/*
    padding-left: 5px;
    padding-right: 5px
*/
    padding-left: 4px;
    padding-right: 4px
  }
  #section-guide ul li .guide-text span {
    font-size: 1em;
    line-height: 1.3
  }
  #section-guide ul li .guide-text span span {
    display: inline-block
  }
  #section-guide ul li .guide-text:after {
    width: 13px;
    height: 13px
  }
  #section-guide.top ul {
    width: 100%
  }
  #section-guide.top ul li {
    width: calc(50% - 1px);
    padding-bottom: 60px;
    min-height: 160px;
    margin-bottom: 0
  }
  #section-guide.top ul li:last-child {
    border-right: 1px solid #cecece
  }
  #section-guide.top ul li:nth-of-type(4n) {
    border-right: none
  }
  #section-guide.top ul li .guide-text {
    top: 100px
  }
  #section-guide.narrow-column ul li {
    width: calc(50% - 1px)
  }
  #section-guide.narrow-column ul li:nth-of-type(4n) {
    border-right: 1px solid #cecece
  }
  #section-about {
    background: url(../../source/images/bg-section-about-sp.jpg) no-repeat center center
  }
  #section-about>div {
    width: auto
  }
  #section-about>div .links-container {
    width: auto;
    margin-left: 60px;
    margin-right: 60px
  }
  #section-news>div {
    text-align: center;
    width: auto
  }
  #section-news>div ul {
    width: auto;
    margin-left: 60px;
    margin-right: 60px
  }
  #section-news>div ul li {
    display: block;
    text-align: left
  }
  #section-news>div ul li time, #section-news>div ul li .title {
    display: block;
    width: 100%;
    text-align: left
  }
  #section-news>div .text-link {
    margin: 0 auto;
    float: none
  }
  #section-internet-bank {
    background: url(../../source/images/bg-section-internet-bank-sp.jpg) no-repeat center top;
    background-size: 130% auto
  }
  #section-internet-bank>div {
    margin-top: 200px;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    text-align: center;
    padding-top: 20px
  }
  #section-internet-bank>div h3 {
    margin-bottom: 1em
  }
  #section-internet-bank>div p, #section-internet-bank>div h3 {
    text-align: left
  }
  #section-internet-bank>div .btn-link p {
    text-align: center
  }
  #section-internet-bank>div .text-link-contain {
    text-align: center
  }
  #section-contact h3 {
    line-height: 1.5;
    margin-bottom: 1.2em
  }
  #section-contact .btn-link p {
    margin: 0
  }
}

@media only screen and (max-width: 600px) {
  #section-news>div, #section-about>div {
    margin-left: 20px;
    margin-right: 20px
  }
  #section-news>div .links-container, #section-news>div .latest-news, #section-news>div ul, #section-about>div .links-container, #section-about>div .latest-news, #section-about>div ul {
    margin-left: 0;
    margin-right: 0
  }
}

.fancybox-toolbar .fancybox-button.fancybox-button--zoom {
  display: none !important
}

#news #main {
  width: 750px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3em
}

@media only screen and (max-width: 600px) {
  #news #main {
    width: auto;
    margin-left: 20px;
    margin-right: 20px
  }
}

#news #main h2 {
  width: 750px;
  margin-left: auto;
  margin-right: auto
}

@media only screen and (max-width: 600px) {
  #news #main h2 {
    width: auto;
    margin-left: 20px;
    margin-right: 20px
  }
}

#news article.post {
  border-bottom: 1px solid #B7C3C6
}

#news article.post .entry-title {
  font-size: 1.125em;
  color: #2D68B5;
  width: 100%;
  margin-bottom: 0;
  display: block;
  border-bottom: none;
  padding-bottom: 0
}

#news article.post p {
  margin-top: .5em;
  font-size: 14px
}

#news article.post:last-child {
  border-bottom: none
}

#news .pagination {
  margin-top: 1em;
  text-align: right
}

#news .pagination .page_num {
  display: inline-block;
  float: left
}

#news .pagination .pager {
  padding: 0 6px
}

#news .pagination .next {
  padding-left: 6px
}

.error-404 {
  width: 750px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4em
}

@media only screen and (max-width: 600px) {
  .error-404 {
    width: auto;
    margin-left: 20px;
    margin-right: 20px
  }
}

.error-404 input[type="submit"].search-submit {
  padding: 1.2rem 3rem
}