#special__opnion { font-family: 'Noto Sans JP', sans-serif; font-weight: 500; }

#special__opnion .fw .inner { padding: 0; }

section { background-color: #ffffff; }

section + section { padding: 1.2em 0; }

section .inner { width: 940px; margin: 0 auto; }

@media print, screen and (max-width: 1100px) { section .inner { width: auto; padding-right: 4vw; } }

@media screen and (max-width: 767px) { section .inner { width: auto; } }

section .column { display: flex; }

@media screen and (max-width: 767px) { section .column { display: block; } }

section .column + .txt { margin-top: 0; }

section .item { padding: 1.5em 0; line-height: 1.0; }

section .txt { color: #666666; line-height: 1.75; letter-spacing: 0; font-size: 16px; }

@media screen and (max-width: 767px) { section .txt { font-size: 3.2vw; } }

section .cap { display: inline-block; letter-spacing: 0; font-size: 12px; padding: .8em 0; }

@media screen and (max-width: 767px) { section .cap { font-size: 2.66667vw; } }

h3.ttl { font-family: "Noto Sans JP"; font-weight: 700; color: #24498d; font-size: 30px; line-height: 1.266; border-bottom: 1px solid #d6d6d6; text-align: center; padding: .8em 0; position: relative; letter-spacing: 0; }

@media screen and (max-width: 767px) { h3.ttl { font-size: 6.4vw; line-height: 1.3; letter-spacing: 0.06em; } }

h3.ttl::after { content: ''; display: inline-block; width: 200px; height: 1px; position: absolute; bottom: 0px; left: calc(50% - 100px); background-color: #24498d; }

.item.col4 h3.ttl { border-bottom: none; text-align: left; padding: 0; }

.item.col4 h3.ttl::after { content: none; }

h3.ttl + .column { margin-top: 30px; }

@media screen and (max-width: 767px) { h3.ttl + .column { margin-top: 0; } }

.special__opinion--fp2 .mainMV .inner { background-image: url("../images/fp2__heroimage.png"); }

@media screen and (max-width: 767px) { .special__opinion--fp2 .mainMV h1 { background-image: url("../images/fp2__heroimage.png"); } }

.special__opinion--fp2 .sec03 .ttl { font-size: 30px; }

.special__opinion--fp2 .sec04 .ttl { letter-spacing: -0.04em; font-size: 26px; }

.special__opinion--fp2 .sec04 .txt { margin: 0; }

@media screen and (max-width: 767px) { .special__opinion--fp2 .sec04 .txt { margin: 2em 4vw; } }

.special__opinion--fp2 .sec04 .column + .txt { margin-top: 1.5em; }

@media screen and (max-width: 767px) { .special__opinion--fp2 .sec04 .cap { margin-bottom: 0; } }

.mainMV { padding: 0; color: #666666; background-color: #e0e1e2; }

@media screen and (max-width: 767px) { .mainMV { height: auto; padding-bottom: 15px; background-image: none; } }

.mainMV .inner { width: 1193px; height: 415px; margin: 0 auto; padding: 2.5em 0 2.2em; background-image: url("../images/fp1__heroimage.png"); background-size: contain; background-repeat: no-repeat; background-position: right center; }

@media print, screen and (max-width: 1100px) { .mainMV .inner { width: auto; height: auto; padding: 0; } }

.mainMV h1 { font-family: "Noto Sans JP"; font-weight: 700; font-size: 28px; text-align: center; width: 539px; padding: 0 0 1em; letter-spacing: 0; }

@media print, screen and (max-width: 1100px) { .mainMV h1 { width: 520px; padding: 1.2em 0 1em; background-color: rgba(224, 225, 226, 0.9); } }

@media screen and (max-width: 767px) { .mainMV h1 { width: auto; padding: 1.8em 0 13.2em; font-size: 5.33333vw; background-image: url("../images/fp1__heroimage.png"); background-size: contain; background-repeat: no-repeat; background-position: center bottom; } }

.mainMV h2 { width: 539px; padding: 28px 0; background-color: rgba(18, 73, 140, 0.9); color: #ffffff; text-align: center; font-family: "Noto Sans JP"; font-weight: 700; }

@media screen and (max-width: 767px) { .mainMV h2 { position: relative; top: -1.2em; width: auto; margin: 0 2.93333vw; } }

.mainMV h2 .pre { font-size: 20px; line-height: 1.1; }

@media screen and (max-width: 767px) { .mainMV h2 .pre { font-size: 4.26667vw; } }

.mainMV h2 .pre .name { font-size: 28px; }

@media screen and (max-width: 767px) { .mainMV h2 .pre .name { font-size: 5.33333vw; } }

.mainMV h2 .ttl { margin-top: .33em; font-size: 34px; display: inline-block; line-height: 1.3; text-align: center; width: 100%; color: #ffffff; letter-spacing: 0.1em; }

@media screen and (max-width: 767px) { .mainMV h2 .ttl { font-size: 6.4vw; } }

.mainMV h3 { font-family: "Noto Sans JP"; font-weight: 700; width: 490px; margin-top: 25px; margin-bottom: 5px; font-size: 16px; text-align: left; color: #666666; }

@media print, screen and (max-width: 1100px) { .mainMV h3 { width: 520px; margin: 0; padding: 25px 2.66667vw 5px; background-color: rgba(224, 225, 226, 0.9); } }

@media screen and (max-width: 767px) { .mainMV h3 { width: auto; margin: .5em 0; padding: 0; font-size: 4.53333vw; text-align: center; background-color: transparent; } }

.mainMV .txt { font-size: 12px; line-height: 1.5; letter-spacing: 0; text-align: left; width: 492px; }

@media print, screen and (max-width: 1100px) { .mainMV .txt { width: 520px; margin: 0; padding: 2px 2.66667vw 2.6em; background-color: rgba(224, 225, 226, 0.9); } }

@media screen and (max-width: 767px) { .mainMV .txt { width: auto; margin: 0.6em 2.93333vw; padding: 0; font-size: 3.2vw; text-align: center; } }

.sec01 { padding: 4.5em 0 0; }

@media screen and (max-width: 767px) { .sec01 { padding: 32px 0; } }

@media print, screen and (max-width: 1100px) { .sec01 .inner { width: auto; padding: 0 4vw; } }

.sec01 .txt { color: #004991; font-size: 26px; line-height: 1.534; letter-spacing: 0; }

@media screen and (max-width: 767px) { .sec01 .txt { font-size: 4vw; line-height: 1.6; } }

.sec02 { padding: 4.5em 0 0; }

@media screen and (max-width: 767px) { .sec02 { padding: 0; } }

.sec02 .inner { width: 940px; }

@media print, screen and (max-width: 1100px) { .sec02 .inner { width: auto; } }

@media print, screen and (max-width: 1100px) { .sec02 .column { padding: 0 4vw; } }

@media screen and (max-width: 767px) { .sec02 .column { padding: 0; } }

.sec02 .item { padding: 0 1.3em 0 0; }

@media screen and (max-width: 767px) { .sec02 .item { padding: 0 4vw; } }

.sec02 .item + .item { width: 220px; }

@media print, screen and (max-width: 1100px) { .sec02 .item + .item { width: auto; margin-top: 1.5em; } }

@media all and (-ms-high-contrast: none) { .sec02 .item + .item { width: auto; } }

.sec02 .txt { font-size: 16px; letter-spacing: 0; }

@media screen and (max-width: 767px) { .sec02 .txt { font-size: 3.2vw; } }

.sec02 .txt + .txt { margin-top: 1.5em; }

.sec02 .image { text-align: center; width: 220px; }

@media screen and (max-width: 767px) { .sec02 .image { width: auto; } }

@media screen and (max-width: 767px) { .sec02 .image img { width: 50%; } }

.sec02 .cap { color: #666666; display: block; text-align: center; font-size: 12px; line-height: 1.5; }

@media screen and (max-width: 767px) { .sec02 .cap { font-size: 4vw; line-height: 1.4; } }

.sec03 { padding: 1.5em 0 0; }

@media screen and (max-width: 767px) { .sec03 { padding: 0; } }

.sec03 .ttl { font-size: 27px; }

.sec03 .column { flex-direction: row-reverse; padding-bottom: 1.5em; }

.sec03 .item { width: 437px; padding: 0 0 0 1.8em; }

@media screen and (max-width: 767px) { .sec03 .item { width: auto; padding: 0; } }

.sec03 .item + .item { width: 507px; padding: 0; }

@media screen and (max-width: 767px) { .sec03 .item + .item { width: auto; padding: 0; } }

@media screen and (max-width: 767px) { .sec03 .image { margin: 2em 4vw 0; } }

.sec03 .image.fill { margin: 2.5em 0; text-align: center; }

@media screen and (max-width: 767px) { .sec03 .image.fill { margin: 1.5em 4vw 0; } }

@media screen and (max-width: 767px) { .sec03 .cap { line-height: 1.75; margin: 0 4vw; } }

@media screen and (max-width: 767px) { .sec03 .txt { margin: 1.5em 4vw; } }

.sec04 .column { justify-content: space-between; }

@media screen and (max-width: 767px) { .sec04 .column { display: block; } }

.sec04 .item { width: 43%; padding: 0; }

@media screen and (max-width: 767px) { .sec04 .item { width: auto; } }

.sec04 .item + .item { width: 55%; }

@media screen and (max-width: 767px) { .sec04 .item + .item { width: auto; } }

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

@media screen and (max-width: 767px) { .sec04 .image { margin: 2em 4vw 0; } }

.sec04 .image.fill { width: 100%; margin: 2.5em auto; }

@media screen and (max-width: 767px) { .sec04 .image.fill { width: auto; margin: 2em 4vw 0; } }

@media screen and (max-width: 767px) { .sec04 .cap { margin: 0 4vw 1.5em; } }

.sec04 .txt { margin: 1.5em 0; }

@media screen and (max-width: 767px) { .sec04 .txt { margin: 2em 4vw; } }

.sec05 { padding: 1.5em 0 3em; text-align: center; }

@media screen and (max-width: 767px) { .sec05 .inner { margin: 0 4vw; padding: 0; width: 92vw; } }

.sec05 a { display: inline-block; }

@media screen and (max-width: 767px) { .sec05 a img { width: 92vw; } }

#specialimpression.fw { background-color: #ffffff; padding-bottom: 2em; }

@media screen and (max-width: 767px) { #specialimpression.fw { padding-top: 0; } }

#specialimpression.fw section.bannerSS { margin-top: 0; }

#vector4 { max-width: 1180px; margin: 0 auto; }

@media screen and (max-width: 767px) { #vector4 { width: auto; margin-top: 4vw; padding: 4vw; background-color: #e0e1e2; } }

#vector4 .item { padding: 0; }

#vector4 .item a { color: #003783; }

#vector4 .item a .caption .head .ttl { font-weight: normal; }

#vector4 .item a .caption .body .txt { font-size: 14px; color: #003783; font-family: NotoSansCJKjp-Regular; }

.fw .captionBox .item a .caption .head .ttl { font-weight: normal; }

.fw .captionBox .item .body a { font-size: 14px; color: #003783; }

.fw .pagetop { background-color: #ffffff; }
