@charset "utf-8";

/* normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

main {
    display: block
}

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
}

@media (max-width:960px) {
    .pc-only {
        display: none !important
    }
}

@media (min-width:961px) {
    .sp-only {
        display: none !important
    }
}

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

html {
    position: relative;
    font-family: sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
    display: block
}

body {
    margin: 0;
    font-family: "メイリオ", "Hiragino Kaku Gothic Pro", Meiryo, "ヒラギノ角ゴ Pro W3", "MS PGothic", "MS UI Gothic", Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: #000;
    text-align: left;
    background-color: #ffffff
}

a {
    color: #000000;
    text-decoration: none
}

a:hover {
    opacity: 0.8
}

p {
    margin: 2em 0
}

blockquote {
    position: relative;
    padding: 10px 15px 10px 60px;
    box-sizing: border-box;
    font-style: italic;
    background: #efefef;
    color: #555
}

blockquote:before {
    display: inline-block;
    position: absolute;
    top: 18px;
    left: 15px;
    content: "";
    font-family: FontAwesome;
    color: #cfcfcf;
    font-size: 30px;
    line-height: 1;
    font-weight: 900
}

blockquote p {
    padding: 0;
    margin: 10px 0;
    line-height: 1.7
}

blockquote cite {
    display: block;
    text-align: right;
    color: #888888;
    font-size: 0.9em
}

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

textarea {
    width: 100%
}

.red_button {
    display: inline-block;
    margin: 10px
}

.red_button a {
    display: block;
    padding: 10px 55px;
    background-color: #e70012;
    color: #fff;
    font-size: 1.1em
}

.red_button .tel_icon {
    width: 20px;
    position: relative;
    top: 4px;
    right: 13px
}

.red_button .mail_icon {
    width: 20px;
    position: relative;
    top: 4px;
    right: 13px
}

.tel_icon {
    transform: rotate(-45deg);
    width: 24px
}

.contact--button {
    margin: 40px 0 20px;
    display: block;
    padding: 20px 60px;
    background-color: #4489ca;
    color: #fff;
    font-size: 1.2em;
    border: none;
    font-weight: bold
}

.btn {
    text-align: center
}

.btn a {
    color: #009a44;
    background-color: #fff;
    padding: 13px 65px
}

.btn-green {
    text-align: center
}

.btn-green a {
    background-color: #009a44;
    padding: 13px 84px
}

.btn-blue {
    text-align: center
}

.btn-blue a {
    background-color: #4489ca;
    color: white;
    padding: 12px 84px;
    border-radius: 11px
}

.btn-insu {
    margin: 1rem 0.5rem;
    padding: 10px 1rem;
    background-color: #4489ca;
    color: white;
    pointer-events: none
}

.btn-insu__wrap {
    display: flex;
    justify-content: center;
    flex-wrap: wrap
}

body {
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif
}

.maru {
    font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "M PLUS Rounded 1c", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO"
}

h1 {
    font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "M PLUS Rounded 1c", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
    font-weight: lighter;
    letter-spacing: 2.5px
}

h2 {
    font-size: 1.8em;
    font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "M PLUS Rounded 1c", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
    font-weight: lighter;
    letter-spacing: 2.5px
}

h3 {
    font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "M PLUS Rounded 1c", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
    font-weight: lighter;
    letter-spacing: 2.5px
}

.heading {
    font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "M PLUS Rounded 1c", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO"
}

.heading h2 {
    text-align: center
}

.heading-blue {
    background-color: #4489ca;
    color: white;
    text-align: center;
    padding: 0.8rem 0;
    margin: 1rem 0;
    position: sticky;
    top: 155px;
    z-index: 4
}

.heading-blue h2 {
    margin: 0;
    font-weight: lighter
}

@media (max-width:960px) {
    .heading-blue {
        top: 55px
    }
}

.detail__message {
    font-size: 125%
}

.subheading {
    text-align: center
}

.subheading h3 {
    display: table;
    text-align: center;
    white-space: nowrap
}

.subheading h3:after,
.subheading h3:before {
    content: '';
    display: table-cell;
    width: 50%;
    background: linear-gradient(transparent 50%, currentColor 50%, currentColor calc(50% + 1px), transparent calc(50% + 1px));
    background-clip: padding
}

.subheading h3:after {
    border-left: 1em solid white
}

.subheading h3:before {
    border-right: 1em solid white
}

@media (-ms-high-contrast:none) {

    .subheading h3:after,
    .subheading h3:before {
        background: linear-gradient(transparent 96%, currentColor 50%, currentColor calc(50% + 1px), transparent calc(50% + 1px));
        position: relative;
        bottom: 13px
    }
}

.text-red {
    color: #e70012
}

.text-gray {
    color: #b4b4b4
}

.text-center {
    text-align: center
}

.bg-gray {
    background-color: #eee !important
}

.text-sm {
    font-size: 0.9rem;
    margin: 0 5px
}

@media (max-width:960px) {
    .sp_br::before {
        content: "\a";
        white-space: pre
    }
}

.indent {
    padding-left: 1em;
    text-indent: -1em
}

.pager {
    text-align: center;
    text-align: center;
    max-width: 500px;
    margin: auto
}

@media (max-width:960px) {
    .pager {
        margin: 1rem auto
    }
}

.pager__numbers {
    padding: 5px 10px;
    margin-right: 15px
}

.pager__numbers--active {
    background-color: #4489ca;
    color: #fff;
    padding: 5px 10px;
    margin-right: 15px
}

.t-center {
    text-align: center
}

.p-1 {
    padding: 1.2em !important
}

.p-2 {
    padding: 1.4em !important
}

.p-3 {
    padding: 2em !important
}

.p-4 {
    padding: 2.5em !important
}

.p-5 {
    padding: 3em !important
}

.py-1 {
    padding: 1.2em 0 !important
}

.py-2 {
    padding: 1.4em 0 !important
}

.py-3 {
    padding: 2em 0 !important
}

.py-4 {
    padding: 2.5em 0 !important
}

.py-5 {
    padding: 3em 0 !important
}

.px-1 {
    padding: 0 1.2em !important
}

.px-2 {
    padding: 0 1.4em !important
}

.px-3 {
    padding: 0 2em !important
}

.px-4 {
    padding: 0 2.5em !important
}

.px-5 {
    padding: 0 3em !important
}

.pt-1 {
    padding-top: 1.2em !important
}

.pt-2 {
    padding-top: 1.4em !important
}

.pt-3 {
    padding-top: 2em !important
}

.pt-4 {
    padding-top: 2.5em !important
}

.pt-5 {
    padding-top: 3em !important
}

.pr-1 {
    padding-right: 1.2em !important
}

.pr-2 {
    padding-right: 1.4em !important
}

.pr-3 {
    padding-right: 2em !important
}

.pr-4 {
    padding-right: 2.5em !important
}

.pr-5 {
    padding-right: 3em !important
}

.pb-1 {
    padding-bottom: 1.2em !important
}

.pb-2 {
    padding-bottom: 1.4em !important
}

.pb-3 {
    padding-bottom: 2em !important
}

.pb-4 {
    padding-bottom: 2.5em !important
}

.pb-5 {
    padding-bottom: 3em !important
}

.pl-1 {
    padding-left: 1.2em !important
}

.pl-2 {
    padding-left: 1.4em !important
}

.pl-3 {
    padding-left: 2em !important
}

.pl-4 {
    padding-left: 2.5em !important
}

.pl-5 {
    padding-left: 3em !important
}

.m-a {
    margin: auto
}

.mt-n70 {
    margin-top: -70px !important
}

@media (max-width:960px) {
    .mt-n70 {
        margin-top: 0 !important
    }
}

.m-0 {
    margin: 0 !important
}

.m-1 {
    margin: 1.2em !important
}

.m-2 {
    margin: 1.4em !important
}

.m-3 {
    margin: 2em !important
}

.m-4 {
    margin: 2.5em !important
}

.m-5 {
    margin: 3em !important
}

.my-1 {
    margin: 1.2em 0 !important
}

.my-2 {
    margin: 1.4em 0 !important
}

.my-3 {
    margin: 2em 0 !important
}

.my-4 {
    margin: 2.5em 0 !important
}

.my-5 {
    margin: 3em 0 !important
}

.mx-1 {
    margin: 0 1.2em !important
}

.mx-2 {
    margin: 0 1.4em !important
}

.mx-3 {
    margin: 0 2em !important
}

.mx-4 {
    margin: 0 2.5em !important
}

.mx-5 {
    margin: 0 3em !important
}

.mt-1 {
    margin-top: 1.2em !important
}

.mt-2 {
    margin-top: 1.4em !important
}

.mt-3 {
    margin-top: 2em !important
}

.mt-4 {
    margin-top: 2.5em !important
}

.mt-5 {
    margin-top: 3em !important
}

.mr-1 {
    margin-right: 1.2em !important
}

.mr-2 {
    margin-right: 1.4em !important
}

.mr-3 {
    margin-right: 2em !important
}

.mr-4 {
    margin-right: 2.5em !important
}

.mr-5 {
    margin-right: 3em !important
}

.mb-1 {
    margin-bottom: 1.2em !important
}

.mb-2 {
    margin-bottom: 1.4em !important
}

.mb-3 {
    margin-bottom: 2em !important
}

.mb-4 {
    margin-bottom: 2.5em !important
}

.mb-5 {
    margin-bottom: 3em !important
}

.ml-1 {
    margin-left: 1.2em !important
}

.ml-2 {
    margin-left: 1.4em !important
}

.ml-3 {
    margin-left: 2em !important
}

.ml-4 {
    margin-left: 2.5em !important
}

.ml-5 {
    margin-left: 3em !important
}

.slick-prev::before {
    position: relative;
    content: "";
    font-family: FontAwesome;
    opacity: 1;
    color: rgba(43, 113, 185, 0.7);
    font-size: 41px
}

.slick-next::before {
    position: relative;
    content: "";
    font-family: FontAwesome;
    opacity: 1;
    color: rgba(43, 113, 185, 0.7);
    font-size: 41px
}

.slick-prev {
    left: 25px;
    transform: translate(0, -50%);
    z-index: 10
}

.slick-next {
    right: 35px;
    transform: translate(0, -50%)
}

.slick-prev:hover:before {
    animation: arrow_prev 0.5s ease-out forwards
}

@keyframes arrow_prev {
    0% {
        right: 0px
    }

    50% {
        right: 5px
    }

    100% {
        right: 0
    }
}

.slick-next:hover:before {
    animation: arrow_next 0.5s ease-out forwards
}

@keyframes arrow_next {
    0% {
        left: 0px
    }

    50% {
        left: 5px
    }

    100% {
        left: 0
    }
}

@media screen and (max-width:480px) {
    .slick-prev {
        left: 30px
    }

    .slick-next {
        right: 30px
    }
}

@media (max-width:960px) {
    .detail-table {
        width: 97% !important;
        margin: auto !important
    }
}

@media (max-width:960px) {

    .detail-table th,
    .detail-table td {
        display: block !important;
        width: 100% !important;
        padding: 7px 1rem !important
    }
}

@media (max-width:960px) {
    .scroll-table {
        overflow: auto;
        white-space: nowrap
    }
}

.header {
    width: 100vw;
    position: relative;
    background-color: white
}

.header__fixed {
    width: 100vw;
    position: fixed;
    top: 0;
    background-color: white;
    z-index: 5
}

@media (max-width:960px) {
    .header__fixed {
        height: 55px
    }
}

.header__navi {
    max-width: 1200px;
    margin: auto;
    background-color: white
}

.header__navi--introduction {
    display: flex;
    justify-content: space-between
}

.header__contact {
    max-width: 250px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center
}

@media (max-width:960px) {
    .header__contact {
        display: none
    }
}

.header__contact .btn-contact {
    width: 250px;
    background-color: #fdf200;
    text-align: center;
    font-size: 1.8em;
    display: flex
}

.header__contact .btn-contact a {
    color: #4489ca;
    max-width: 250px;
    width: 100%;
    padding-top: 5px
}

.header__contact .btn-contact--tel {
    transform: rotate(-45deg);
    width: 20px
}

.header__button {
    max-width: 220px;
    width: 100%;
    margin-bottom: 5px
}

.header__button--wrap {
    display: flex;
    justify-content: space-around;
    position: relative;
    left: -7px
}

@media (max-width:960px) {
    .header__button--wrap {
        display: none
    }
}

.header__button--blue {
    display: block;
    text-align: center;
    color: white;
    background-color: #4489ca
}

.header__button--title {
    margin: 1rem 0 0 0;
    font-size: 1.3rem;
    font-weight: bold;
    text-align: center
}

.header__image {
    width: 100vw;
    height: 150px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: 156px;
    position: relative
}

@media (max-width:960px) {
    .header__image {
        margin-top: 55px;
        padding-top: 25.25%;
        height: initial
    }
}

.header__box {
    position: absolute;
    text-align: center;
    align-items: center;
    display: flex;
    justify-content: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.header__box--heading {
    margin: 0;
    font-size: 2.1em;
    letter-spacing: 3px
}

@media (max-width:960px) {
    .header__box--heading {
        font-size: 1.4em
    }
}

.header__box--subtitle {
    margin: 0
}

@media (max-width:960px) {
    .header__box--subtitle {
        font-size: 0.9em
    }
}

.header__logo {
    display: flex;
    align-items: center;
    width: 60%;
    position: relative;
    top: 5px;
    left: 5px
}

.footer {
    background-color: #fffcdb;
    color: #000;
    padding: 1rem;
    line-height: 2
}

.footer__wrap {
    max-width: 1200px;
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: space-between
}

.footer__company {
    width: 50%
}

@media (max-width:960px) {
    .footer__company {
        width: 100%;
        text-align: center
    }
}

.footer__links {
    width: 50%
}

@media (max-width:960px) {
    .footer__links {
        display: none
    }
}

.footer__links--wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 60%;
    list-style: none;
    padding: 0
}

.footer__links--item {
    width: 50%
}

.footer__logo {
    width: 80%;
    margin: auto
}

.footer .copyright {
    text-align: right;
    max-width: 1200px;
    width: 100%;
    margin: auto
}

@media (max-width:960px) {
    .footer .copyright {
        text-align: center
    }
}

.footer .copyright p {
    margin: auto;
    font-size: 0.7em;
    padding: 5px 0
}

body {
    overflow-x: hidden
}

.w1200 {
    max-width: 1200px;
    width: 100%;
    margin: auto
}

@media (max-width:960px) {
    .w1200 {
        padding: 0 1rem
    }
}

.contact {
    display: flex;
    justify-content: flex-end
}

.contact h1 {
    text-align: center
}

.contact h2 {
    text-align: center
}

@media (max-width:960px) {
    .contact {
        display: initial;
        justify-content: initial
    }
}

.contact .add {
    transform: skewX(-21.35deg) translate3d(0, 0, 0);
    background-color: #eee;
    width: 50%;
    margin-right: -70px
}

@media (max-width:960px) {
    .contact .add {
        position: relative;
        transform: initial;
        background-color: initial;
        width: initial;
        margin-right: initial
    }
}

.contact--wrap {
    background-color: #eee;
    width: 15%;
    min-height: 210px
}

@media (max-width:960px) {
    .contact--wrap {
        background-color: initial;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 57vh 100vw;
        border-color: transparent transparent #eee transparent;
        z-index: -500;
        position: absolute;
        top: 0px;
        right: 0
    }
}

.contact--message {
    padding-left: 80px;
    max-width: 700px;
    transform: skewX(21.35deg) translate3d(0, 0, 0)
}

@media (max-width:960px) {
    .contact--message {
        padding: 20px;
        max-width: 700px;
        transform: initial
    }
}

.contact--message a {
    padding: 10px 30px
}

.breadcrumb {
    display: flex;
    padding: 3px;
    width: 100vw;
    background-color: #eee
}

@media (max-width:960px) {
    .breadcrumb {
        padding: 5px 3px
    }
}

.breadcrumb__wrap {
    max-width: 1200px;
    width: 100%;
    margin: auto;
    padding: 0;
    list-style: none
}

@media (max-width:960px) {
    .breadcrumb__wrap {
        font-size: 0.8em
    }
}

.breadcrumb__item {
    display: inline-block
}

#nav-drawer {
    position: relative
}

#nav-drawer .humburger-logo {
    height: 48.72px;
    width: 50%;
    margin: auto
}

#nav-drawer .humburger-logo img {
    height: 48.72px
}

#nav-drawer .humburger-wrap {
    display: flex;
    position: fixed;
    top: -2px;
    right: -5px;
    z-index: 1000
}

.nav-unshown {
    display: none
}

#nav-open {
    display: inline-block;
    width: 30px;
    height: 22px;
    vertical-align: middle;
    position: relative;
    bottom: -10px
}

#nav-open span,
#nav-open span:after,
#nav-open span:before {
    position: absolute;
    height: 4px;
    width: 35px;
    background: #4489ca;
    display: block;
    content: '';
    cursor: pointer;
    z-index: 100;
    right: 13px;
    bottom: 13px
}

#nav-open span:before {
    bottom: -11px;
    right: 0
}

#nav-open span:after {
    bottom: -21px;
    right: 0
}

#nav-close {
    display: none;
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    transition: 0.3s ease-in-out
}

#nav-content {
    overflow: auto;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9999;
    width: 90%;
    max-width: 70vw;
    height: 100%;
    background: #2E2E2E;
    color: #fff;
    transition: 0.3s ease-in-out;
    -webkit-transform: translateX(105%);
    transform: translateX(105%)
}

@media only screen and (min-width:500px) and (max-width:1024px) {
    #nav-content {
        max-width: 40vw
    }
}

#nav-input:checked~#nav-close {
    display: block;
    opacity: 0.5
}

#nav-input:checked~#nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    box-shadow: 6px 0 25px rgba(0, 0, 0, 0.15)
}

.nav-content--contact .red_button a {
    padding: 10px 18px;
    margin: 10px 0
}

.nav-content--title ul {
    list-style: none;
    padding: 0;
    color: #000;
    border-top: 1px solid #ccc;
    margin: 0
}

.nav-content--title li {
    border-bottom: 1px solid #ccc;
    padding: 10px 30px
}

.nav-content--title li a {
    color: #000;
    display: block;
    position: static
}

.nav-content__company {
    background-color: rgba(255, 255, 255, 0.5);
    padding: 40px 0;
    margin: 40px 0
}

.nav-content__img {
    width: 100%;
    background-color: white;
    padding: 10px 20px
}

.nav-content__about {
    text-align: center;
    color: #000
}

.nav-content__about a {
    color: #000;
    position: static
}

.floating-btn {
    position: fixed;
    bottom: 2em;
    right: 2em;
    z-index: 5
}

@media (max-width:960px) {
    .floating-btn {
        right: 1em;
        bottom: 1em
    }
}

.front__topimage {
    max-width: 1200px;
    width: 100%;
    height: 350px;
    padding-top: 17.5%;
    margin: 155px auto 0 auto;
    background-size: cover;
    background-position: center;
    position: relative
}

@media (max-width:960px) {
    .front__topimage {
        margin-top: 55px;
        padding-top: 81.25%;
        height: initial;
        background-repeat: no-repeat;
        background-position: center 8px;
        background-color: #d6e1f3
    }
}

.front__topimage--message {
    font-size: 2.15em;
    display: flex;
    padding-left: 2rem;
    text-shadow: white 1px 1px 10px, white -1px 1px 10px, white 1px -1px 10px, white -1px -1px 10px;
    position: absolute;
    top: 2rem
}

@media (max-width:960px) {
    .front__topimage--message {
        font-size: 1em;
        top: 1rem;
        left: 50%;
        transform: translate(-50%, 0);
        width: 80vw;
        padding: initial
    }
}

.front__topimage--merit {
    color: white;
    background-color: #fca41c;
    max-width: 450px;
    width: 100%;
    margin: auto;
    padding: 1rem 1.5rem;
    border-radius: 12px;
    position: absolute;
    right: -185px;
    bottom: 2rem;
    transform: translate(-50%, 0);
    text-align: center
}

@media (max-width:960px) {
    .front__topimage--merit {
        color: white;
        background-color: #fca41c;
        width: 90%;
        margin: auto;
        padding: 0.5rem;
        border-radius: 12px;
        font-size: 0.8em;
        position: absolute;
        left: 50%;
        right: initial;
        bottom: 15px;
        transform: translate(-50%, 0);
        text-align: center
    }
}

.front__topimage--merit span {
    font-size: 1.5em;
    margin: 0.5em 0
}

@media (max-width:960px) {
    .front__topimage--merit span {
        font-size: 1.2em
    }
}

.front .front-topics {
    background-color: #fffcdb;
    padding: 3rem 0
}

@media (max-width:960px) {
    .front .front-topics {
        padding: 1rem 0
    }
}

.front .front-topics__wrap {
    max-width: 1000px;
    width: 100%;
    margin: auto;
    list-style: none
}

@media (max-width:960px) {
    .front .front-topics__wrap {
        padding: 0 5px
    }
}

.front .front-topics__item {
    display: flex;
    justify-content: space-around;
    border-bottom: 1px solid black;
    margin-bottom: 15px;
    padding-bottom: 15px
}

@media (max-width:960px) {
    .front .front-topics__item {
        flex-wrap: wrap
    }
}

.front .front-topics__item--time {
    width: 10%
}

@media (max-width:960px) {
    .front .front-topics__item--time {
        width: 100%
    }
}

.front .front-topics__item--title {
    width: 70%;
    font-weight: bold;
    margin: 0
}

@media (max-width:960px) {
    .front .front-topics__item--title {
        width: 100%
    }
}

.front .front-topics__more {
    max-width: 1000px;
    width: 100%;
    margin: auto;
    text-align: right
}

.front .front-topics .heading {
    text-align: center
}

.front .front-topics .heading h2 {
    margin-top: 0
}

.front .front-topics__more {
    display: flex;
    justify-content: flex-end
}

.front .front-topics__more a {
    color: #0267b9;
    padding-bottom: 1px;
    border-bottom: 1px solid #0267b9
}

.front .front-topics .cat_box {
    color: white;
    margin-right: 10px;
    padding: 1px 5px
}

.service {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 6rem 0
}

@media (max-width:960px) {
    .service {
        padding: 3rem 1rem
    }
}

.service__heading {
    font-size: 1.7em;
    margin: 1rem 0 0.5rem 0
}

@media (max-width:960px) {
    .service__heading {
        margin: 0
    }
}

.service__wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 1200px;
    width: 100%;
    margin: auto
}

@media (max-width:960px) {
    .service__wrap {
        justify-content: center
    }
}

.service__box {
    background-color: rgba(255, 252, 219, 0.8);
    max-width: 570px;
    width: 100%;
    padding: 3rem 2rem;
    text-align: center
}

@media (max-width:960px) {
    .service__box {
        padding: 1rem;
        margin-bottom: 2rem
    }
}

.service__box img {
    width: 48px
}

.service__box:nth-child(1) {
    margin-bottom: 2rem
}

.service__box:nth-child(2) {
    margin-bottom: 2rem
}

.service__detail {
    text-align: left;
    line-height: 2
}

@media (max-width:960px) {
    .service__detail {
        padding: 5px 0;
        margin: 0
    }
}

@media (max-width:960px) {
    .service .btn-blue {
        padding: 1rem 0
    }
}

.service .btn-blue a {
    border-radius: 0
}

.links {
    max-width: 1200px;
    width: 100%;
    margin: 5rem auto
}

.links__wrap {
    margin-bottom: 5rem;
    text-align: center
}

@media (max-width:960px) {
    .links__wrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: center
    }
}

.links__wrap--image {
    height: 65px;
    margin-bottom: 10px
}

.links a {
    margin: 0 0.5rem
}

@media (max-width:960px) {
    .links a {
        width: 40%;
        margin: 0.5rem 1rem
    }
}

@media screen and (max-width:959px) and (min-width:500px) {
    .front__topimage--message {
        top: 3rem;
        left: 50%;
        transform: translate(-50%, 0);
        font-size: 2em;
        width: fit-content
    }
}

.privacy {
    max-width: 1200px;
    width: 100%;
    margin: auto
}

.privacy__heading {
    font-family: 'Noto Serif JP', sans-serif;
    text-align: center
}

.privacy__table {
    width: 80%;
    padding: 0 20px;
    margin: 90px auto
}

@media (max-width:960px) {
    .privacy__table {
        width: 100%
    }
}

.privacy__table table {
    border-bottom: 1px solid #000;
    border-collapse: collapse;
    width: stretch;
    width: -webkit-fill-available;
    width: -moz-available
}

.privacy__table td,
.privacy__table th {
    border: 1px solid #000;
    border-right: none;
    border-left: none;
    padding: 20px
}

.privacy__table th {
    text-align: right;
    padding-right: 40px
}

@media (max-width:960px) {
    .privacy__table th {
        text-align: left
    }
}

@media (max-width:960px) {
    .privacy table {
        border-bottom: none
    }

    .privacy td,
    .privacy th {
        display: block
    }

    .privacy td {
        border-top: none;
        border-bottom: 1px solid #000;
        padding: 5px 15px 15px
    }

    .privacy th {
        border: none;
        padding: 15px 15px 0
    }
}

.staff {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 5rem 0
}

.staff__heading {
    margin-top: 0;
    text-align: center;
    font-family: 'Noto Serif JP', sans-serif
}

.staff__list {
    max-width: 1250px;
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: space-around
}

@media (max-width:960px) {
    .staff__list {
        flex-wrap: wrap
    }
}

.staff__list--person {
    position: relative;
    height: 450px
}

.staff__image {
    width: 380px;
    height: 380px
}

@media (max-width:960px) {
    .staff__image {
        width: 90vw;
        background-position: center;
        background-repeat: no-repeat
    }
}

.staff__box {
    text-align: center;
    padding: 1rem;
    position: absolute;
    bottom: 0px;
    left: 15px;
    width: 350px;
    background-color: white;
    filter: drop-shadow(2px 0px 2px rgba(100, 100, 100, 0.8))
}

@media (max-width:960px) {
    .staff__box {
        position: static;
        width: 42%;
        min-width: 300px;
        margin: auto;
        margin-top: -66px
    }
}

.staff__box h3 {
    margin: 0;
    font-size: 1.5em
}

.contact-form {
    max-width: 1200px;
    margin: auto
}

.contact-form--head {
    margin-top: 100px;
    text-align: center
}

@media (max-width:960px) {
    .contact-form--head {
        padding: 0 20px;
        margin-top: 30px;
        text-align: left
    }
}

.contact-form--attention {
    text-align: center
}

@media (max-width:960px) {
    .contact-form--attention {
        padding: 0 20px
    }
}

.contact-form__btn-wrap {
    margin-bottom: 100px
}

@media (max-width:960px) {
    .contact-form__btn-wrap {
        margin-bottom: 0
    }
}

.contact-form__tel-icon {
    transform: rotate(-45deg);
    width: 31px;
    margin-right: 5px
}

.contact-form__address {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 1000px;
    width: 100%;
    margin: auto;
    background-color: #fff100;
    color: black
}

@media (max-width:960px) {
    .contact-form__address {
        flex-wrap: wrap;
        padding: 30px 0
    }
}

.contact-form__address--tell {
    margin: 5px 20px;
    font-weight: bold;
    display: flex;
    align-items: center
}

@media (max-width:960px) {
    .contact-form__address--tell {
        margin: 0
    }
}

.contact-form__address--number {
    font-size: 2.5em;
    font-weight: bold;
    margin: 5px 20px
}

.contact-form__address--number a {
    color: #4489ca
}

@media (max-width:960px) {
    .contact-form__address--number {
        font-size: 2em
    }
}

.contact-form__address--time {
    margin: 5px 20px;
    font-weight: bold
}

@media (max-width:960px) {
    .contact-form__address--time {
        margin: 0
    }
}

.contact-form__wrap {
    margin-bottom: 80px
}

@media (max-width:960px) {
    .contact-form__wrap {
        margin-bottom: 10px;
        margin-top: -40px
    }
}

.contact-form__uses {
    max-width: 1200px;
    margin: -30px auto 0
}

@media (max-width:960px) {
    .contact-form__uses {
        padding: 0 15px 0 40px
    }
}

.contact-form__table {
    max-width: 1200px;
    margin: auto
}

.contact-form__table table {
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    border-collapse: collapse;
    width: 100%
}

@media (max-width:960px) {
    .contact-form__table table {
        border-bottom: 0
    }
}

.contact-form__table th {
    text-align: left;
    width: 20%
}

@media (max-width:960px) {
    .contact-form__table th {
        width: 100%;
        text-align: left
    }
}

.contact-form__table td,
.contact-form__table th {
    border: 1px solid #000;
    border-right: none;
    border-left: none;
    padding: 20px
}

.contact-form__table input[type="text"],
.contact-form__table input[type="tel"] {
    width: 50%
}

.contact-form__table input[type="email"] {
    width: 100%
}

.contact-form__table input[type="text"],
.contact-form__table input[type="tel"],
.contact-form__table input[type="email"],
.contact-form__table input[type="date"],
.contact-form__table textarea {
    background-color: #eee;
    color: #000;
    padding: 15px 10px;
    border: none;
    font-weight: 500
}

.contact-form__table .zip {
    width: 61.5% !important;
    margin: 0 0 15px 10px
}

.contact-form__table .address {
    width: 100% !important
}

@media (max-width:960px) {

    .contact-form__table input[type="text"],
    .contact-form__table input[type="tel"] {
        width: 100%
    }

    .contact-form__table td,
    .contact-form__table th {
        display: block
    }

    .contact-form__table td {
        border-top: none;
        border-bottom: 1px solid #000
    }

    .contact-form__table th {
        border: none;
        padding-bottom: 0
    }
}

.contact__parking {
    display: block;
    margin: auto;
    padding: 2rem 14px 1rem 1rem;
    border: 2px solid gray
}

@media (max-width:960px) {
    .contact__parking {
        width: 95%
    }
}

.contact__map {
    padding: 2rem 0 3rem 0
}

.contact__map--iframe {
    width: 100%;
    height: 300px
}

.single {
    max-width: 1200px;
    margin: auto;
    padding-bottom: 50px
}

.single__title {
    margin-top: 50px;
    background-color: #fff
}

@media (max-width:960px) {
    .single {
        padding: 10px
    }
}

.single__container--wrap {
    display: flex;
    max-width: 1200px;
    margin: auto
}

@media (max-width:960px) {
    .single__container--wrap {
        flex-wrap: wrap
    }
}

.single__container {
    width: 100%;
    margin: 50px 0
}

@media (max-width:960px) {
    .single__container {
        width: 100%;
        margin: 0 0 50px
    }
}

.single__content {
    width: 100%
}

.single__content iframe {
    width: 100% !important
}

.single .google-form {
    margin-top: 3rem;
    padding-top: 3rem;
    background-color: #fff0d9
}

.topics {
    max-width: 1200px;
    margin: auto auto 90px
}

.topics__archive--title h1 {
    margin: 40px 20px -50px 50px
}

.topics__container {
    display: flex
}

@media (max-width:960px) {
    .topics__container {
        display: flex;
        flex-wrap: wrap
    }
}

@media (max-width:960px) {
    .topics__list {
        padding: 0 15px
    }
}

.topics__list--wrap {
    width: 62.5%;
    max-width: 62.5%
}

@media (max-width:960px) {
    .topics__list--wrap {
        max-width: 100%;
        width: 100%
    }
}

@media (max-width:960px) {
    .topics__list--wrap ul {
        margin: 0;
        padding: 0
    }
}

.topics__item {
    display: flex;
    border-bottom: 1px solid #ccc;
    padding: 10px
}

@media (max-width:960px) {
    .topics__item:last-child {
        border: none
    }
}

@media (max-width:960px) {
    .topics__item {
        flex-wrap: wrap
    }
}

.topics__item-meta {
    padding: 25px
}

.topics__item-thum {
    height: 150px;
    width: 150px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat
}

.topics__item-date {
    color: #9c9c9c
}

.topics__item-title {
    margin: 10px 0
}

.topics-archives {
    width: 37.5%
}

.topics-archives--heading {
    font-size: 1.7em;
    padding-left: 35px;
    color: #4489ca
}

@media (max-width:960px) {
    .topics-archives--heading {
        padding: 0 15px
    }
}

.topics-archives--heading h3 {
    border-bottom: solid 1px #4489ca
}

@media (max-width:960px) {
    .topics-archives {
        width: 100%;
        margin-bottom: 45px;
        margin-top: -45px
    }
}

.topics-archives__category--list {
    margin-top: -15px
}

.topics-archives__category--list ul {
    list-style: none;
    margin-top: 0
}

@media (max-width:960px) {
    .topics-archives__category--list ul {
        padding: 0 30px
    }
}

.topics-archives__category--item {
    padding: 10px 30px;
    border-bottom: 1px solid #000
}

.topics-archives--monthly__select {
    margin-top: -15px;
    padding: 0 60px;
    text-align: left
}

.topics-archives--monthly__select select {
    background-color: #fff100;
    padding: 15px 10px;
    width: 100%;
    border: none
}

.topics-archives .topics__item-thum {
    width: 100px;
    height: 100px
}

.topics-archives .topics__item-meta {
    padding: 11px
}

.topics-archives .topics__item-title {
    font-size: 1.1em
}

.overview__map {
    margin-top: 2rem;
    width: 100vw;
    min-height: 350px
}

.overview__officers--wrap {
    display: flex
}

.overview__officers--title {
    min-width: 80px
}

.overview__officers--title::after {
    content: '：'
}

.overview__officers--name {
    width: 100%
}

.overview .director {
    max-width: 1300px;
    width: 100%;
    margin: auto;
    padding: 2rem 0
}

.overview .director__wrap {
    display: flex;
    justify-content: center
}

@media (max-width:960px) {
    .overview .director__wrap {
        flex-wrap: wrap;
        flex-direction: column-reverse
    }
}

.overview .director__message {
    position: relative;
    width: 67%
}

@media (max-width:960px) {
    .overview .director__message {
        width: 100%
    }
}

.overview .director__message--main {
    margin: 0;
    padding: 0 1rem;
    line-height: 2
}

.overview .director__message--sub {
    position: absolute;
    right: 0;
    bottom: 0;
    margin: 0
}

@media (max-width:960px) {
    .overview .director__message--sub {
        position: static;
        text-align: right
    }
}

.overview .director__message--sub img {
    position: relative;
    top: 3px
}

.overview .director__image {
    width: 33%;
    text-align: center
}

@media (max-width:960px) {
    .overview .director__image {
        width: 56%;
        margin: auto
    }
}

.overview .goal {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    height: 450px;
    padding-top: 20.833%;
    margin: 3rem 0
}

@media (max-width:960px) {
    .overview .goal {
        height: initial;
        margin: 2rem 0;
        padding: 20px 10px
    }
}

.overview .goal__box {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(255, 255, 255, 0.85);
    border-radius: 7px;
    padding: 0.5rem 3rem 1rem 3rem;
    width: 52%
}

@media (max-width:960px) {
    .overview .goal__box {
        position: static;
        transform: initial;
        width: 100%
    }
}

.overview .goal__title {
    margin-bottom: 0.5rem;
    text-align: center
}

@media (max-width:960px) {
    .overview .goal__title {
        margin: 10px 0
    }
}

.overview .goal__list {
    margin: 0;
    font-size: 1.2em;
    line-height: 2.3;
    font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "M PLUS Rounded 1c", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO"
}

@media (max-width:960px) {
    .overview .goal__list {
        line-height: initial
    }
}

.overview .detail {
    padding-bottom: 3rem
}

@media (max-width:960px) {
    .overview .detail {
        padding-bottom: 0
    }
}

.overview .detail-table {
    max-width: 960px;
    width: 100%;
    margin: 2rem auto;
    border-collapse: collapse
}

@media (max-width:960px) {
    .overview .detail-table {
        width: 97%
    }
}

.overview .detail-table table,
.overview .detail-table th,
.overview .detail-table td {
    border: 1px solid black
}

.overview .detail-table th,
.overview .detail-table td {
    padding: 15px 1rem
}

@media (max-width:960px) {

    .overview .detail-table th,
    .overview .detail-table td {
        display: block;
        padding: 7px 1rem
    }
}

.overview .detail-table th {
    background-color: #fffcdb;
    width: 15%
}

@media (max-width:960px) {
    .overview .detail-table th {
        width: 100%
    }
}

.overview .add__members {
    display: flex;
    justify-content: center
}

@media (max-width:960px) {
    .overview .add__members {
        flex-wrap: wrap
    }
}

.overview .add__members--title {
    text-align: center
}

.overview .add__members .detail-table {
    max-width: 600px;
    margin: 1rem 2rem
}

@media (max-width:960px) {
    .overview .add__members .detail-table {
        margin: 0 auto
    }
}

.overview .add__members .detail-table th {
    width: 30%
}

@media (max-width:960px) {
    .overview .add__members .detail-table th {
        width: 100%
    }
}

.overview .add__group {
    text-align: center;
    padding-bottom: 3rem
}

@media (max-width:960px) {
    .overview .add__group {
        padding: 0 5px
    }
}

.overview .privacy {
    max-width: initial
}

.overview .privacy__date {
    text-align: right;
    margin: 0
}

.overview .privacy__message {
    margin-top: 5px
}

@media (max-width:960px) {
    .overview .privacy__message {
        padding: 0 0 0 5px
    }
}

.overview .privacy__message:first-child {
    margin-top: 0
}

.overview .privacy__policy {
    max-width: 1200px;
    width: 100%;
    margin: auto;
    padding: 2rem 0
}

.overview .privacy__contact {
    text-align: center;
    padding-bottom: 4rem
}

@media (max-width:960px) {
    .overview .privacy__contact {
        padding-bottom: 0
    }
}

.overview .privacy__contact--information {
    margin: 0
}

.overview .privacy__contact .subheading {
    margin-bottom: 5px
}

.overview .privacy h4 {
    margin: 0;
    font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "M PLUS Rounded 1c", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
    font-weight: normal
}

.buy .detail-table {
    max-width: 960px;
    width: 100%;
    margin: 2rem auto;
    border-collapse: collapse
}

.buy .detail-table table,
.buy .detail-table th,
.buy .detail-table td {
    border: 1px solid black
}

.buy .detail-table th,
.buy .detail-table td {
    padding: 15px 1rem
}

.buy .detail-table th {
    background-color: #fffcdb
}

.buy .detail-table td {
    background-color: white
}

.buy .detail-table2 {
    max-width: 960px;
    width: 100%;
    margin: 2rem auto;
    border-collapse: collapse;
    table-layout: fixed
}

@media (max-width:960px) {
    .buy .detail-table2 {
        table-layout: initial
    }
}

.buy .detail-table2 table,
.buy .detail-table2 th,
.buy .detail-table2 td {
    border: 1px solid black
}

.buy .detail-table2 th,
.buy .detail-table2 td {
    padding: 15px 1rem
}

.buy .detail-table2 th {
    background-color: #fffcdb
}

.buy .detail-table2 td {
    background-color: white
}

.buy__book {
    max-width: 1200px;
    width: 100%;
    margin: auto;
    padding: 2rem 0
}

.buy__book--title {
    text-align: center;
    padding: 1rem
}

.buy__table-book {
    display: flex;
    justify-content: center;
    max-width: 960px;
    margin: auto
}

@media (max-width:960px) {
    .buy__table-book {
        flex-wrap: wrap;
        flex-direction: column-reverse
    }
}

.buy__table-book .detail-table {
    width: 65%;
    margin: 0
}

@media (max-width:960px) {
    .buy__table-book .detail-table {
        width: 100%
    }
}

.buy__table-book .detail-table th {
    width: 15%
}

.buy__table-book--zasshi {
    width: 35%;
    padding: 0 0 0 2rem
}

@media (max-width:960px) {
    .buy__table-book--zasshi {
        width: 65%;
        margin: 0 auto
    }
}

.buy__assen {
    max-width: 1200px;
    width: 100%;
    margin: auto
}

.buy__assen--message {
    padding: 0 1rem
}

.buy__bnr--wrap {
    display: inline
}

@media (max-width:960px) {
    .buy__bnr--wrap {
        display: block;
        margin: 1rem auto;
        text-align: center
    }
}

.buy__assen>section {
    padding: 0.5rem 0
}

@media (max-width:960px) {
    .buy__assen>section {
        padding: initial
    }
}

.assen__catalog,
.assen__jdcard,
.assen__aoyama,
.assen__volvo,
.assen__satei,
.assen__denki,
.assen__trip {
    background-repeat: no-repeat;
    background-position: left top;
    position: relative;
    height: 747px;
    margin: 2rem 0
}

.assen__catalog {
    height: 700px;
}

@media (max-width:960px) {

    .assen__catalog,
    .assen__jdcard,
    .assen__aoyama,
    .assen__volvo,
    .assen__satei,
    .assen__denki,
    .assen__trip {
        height: initial;
        margin: 0;
        padding: 1rem;
        background-image: initial !important
    }
}

.assen__catalog--detail,
.assen__jdcard--detail,
.assen__aoyama--detail,
.assen__volvo--detail,
.assen__satei--detail,
.assen__denki--detail,
.assen__trip--detail {
    position: absolute;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 1rem;
    max-width: 580px;
    width: 100%;
    right: 0;
    top: 2rem
}

@media (max-width:960px) {

    .assen__catalog--detail,
    .assen__jdcard--detail,
    .assen__aoyama--detail,
    .assen__volvo--detail,
    .assen__satei--detail,
    .assen__denki--detail,
    .assen__trip--detail {
        position: static;
        padding: 0;
        max-width: initial
    }
}

@media (max-width:960px) {

    .assen__catalog--detail img,
    .assen__jdcard--detail img,
    .assen__aoyama--detail img,
    .assen__volvo--detail img,
    .assen__satei--detail img,
    .assen__denki--detail img,
    .assen__trip--detail img {
        display: block;
        margin: auto
    }
}

.assen__catalog--image,
.assen__jdcard--image,
.assen__aoyama--image,
.assen__volvo--image,
.assen__satei--image,
.assen__denki--image,
.assen__trip--image {
    display: block;
    margin: 1rem auto
}

.assen__catalog--subheading {
    text-align: center
}

.assen__catalog--joshin {
    margin-top: 3rem
}

@media (max-width:960px) {
    .assen__catalog--joshin {
        margin-bottom: 2rem
    }
}

.assen__jdcard {
    background-position: right top;
    height: 1080px
}

@media (max-width:960px) {
    .assen__jdcard {
        height: initial;
        padding: 1rem
    }
}

.assen__jdcard--detail {
    right: initial;
    left: 0
}

.assen__jdcard--subheading {
    text-align: center
}

.assen__jdcard .detail-table th {
    width: 35%
}

.assen__aoyama {
    background-position: left top;
    height: 450px
}

@media (max-width:960px) {
    .assen__aoyama {
        height: initial;
        padding: 1rem
    }
}

.assen__volvo {
    background-position: right top;
    height: 840px
}

@media (max-width:960px) {
    .assen__volvo {
        height: initial;
        padding: 1rem
    }
}

.assen__volvo--detail {
    right: initial;
    left: 0
}

.assen__volvo--subtext {
    font-size: 0.8em;
    text-align: right
}

.assen__satei {
    background-position: left top;
    height: 500px
}

@media (max-width:960px) {
    .assen__satei {
        height: initial;
        padding: 1rem
    }
}

.assen__denki {
    background-position: left top;
    height: 500px
}

@media (max-width:960px) {
    .assen__denki {
        padding: 1rem;
        height: initial
    }
}

.assen__denki h4 {
    text-align: center
}

@media (max-width:960px) {
    .assen__denki--item {
        font-size: 0.8em
    }
}

.assen__trip {
    background-position: right top;
    height: 500px
}

@media (max-width:960px) {
    .assen__trip {
        height: initial;
        padding: 1rem
    }
}

.assen__trip--detail {
    right: initial;
    left: 0
}

.assen__trip--message {
    position: absolute;
    bottom: 0;
    right: 0
}

@media (max-width:960px) {
    .assen__trip--message {
        right: 50%;
        transform: translate(50%, 0);
        margin: 0 0 1rem 0
    }
}

.assen__fudousan {
    padding: 0 1rem
}

.insurance .floor-box {
    display: flex;
    justify-content: center;
    align-items: flex-end
}

@media (max-width:960px) {
    .insurance .floor-box {
        flex-wrap: wrap
    }
}

.insurance .floor-box__img {
    margin: 1rem 1rem 0 1rem
}

@media (max-width:960px) {
    .insurance .floor-box__img {
        margin: 1rem
    }
}

.insurance .btn-blue {
    margin-bottom: 0.5em
}

.insurance .btn-blue a {
    padding: 0.8rem 3.5rem;
    border-radius: 0
}

.insurance .w1200 {
    padding: 2rem 0
}

@media (max-width:960px) {
    .insurance .w1200 {
        padding: 1rem
    }
}

.insurance .subtitle {
    text-align: center
}

@media (max-width:960px) {
    .insurance__top-message {
        text-align: left !important
    }
}

.insurance__dl {
    padding: 0 1rem
}

.insurance__dt {
    color: #4489ca;
    font-weight: bold;
    font-size: 110%
}

.insurance__dt--cancell {
    color: black;
    font-weight: normal;
    font-size: 100%
}

.insurance__dt--sub {
    color: red;
    font-weight: normal;
    margin-left: 1rem
}

@media (max-width:960px) {
    .insurance__dt--sub {
        display: block;
        margin-left: 0;
        margin-bottom: 0.5rem
    }
}

.insurance__dt--blue {
    color: #4489ca;
    font-weight: normal;
    margin-left: 1rem;
    font-size: 90%
}

.insurance__dt--h4 {
    color: black
}

.insurance__dd {
    margin-left: 1rem
}

.insurance__dd--blue {
    font-weight: bold;
    font-size: 110%;
    color: #4489ca
}

.insurance__dd--wrap {
    line-height: 2;
    margin-bottom: 1em
}

.insurance__message {
    font-size: 110%
}

@media (max-width:960px) {
    .insurance__message {
        text-align: left
    }
}

.insurance__hoken-wrap {
    display: flex
}

@media (max-width:960px) {
    .insurance__hoken-wrap {
        text-align: center;
        flex-wrap: wrap;
        justify-content: center
    }
}

.insurance__hoken-wrap a {
    padding: 1px;
    margin-right: 10px
}

.insurance__hoken-wrap img {
    border: 1px solid #ccc;
    margin-right: 5px
}

.insurance .life .insurance__dt--h4 {
    margin-bottom: 1rem
}

.insurance .life .kyosai {
    margin-top: 2rem
}

.insurance .sheet__pdf {
    margin: 1rem 1rem 0 1rem
}

.insurance .organizations .insurance__dt--h4 {
    margin-bottom: 0.5em 1rem
}

.insurance .organizations .bnr-wrap {
    text-align: center
}

.insurance .organizations .bnr-wrap img {
    margin: 0 1em
}

@media (max-width:960px) {
    .insurance .organizations .bnr-wrap img {
        margin: 0.5rem auto;
        width: 83%
    }
}

.insurance .manage-service .insurance__message {
    text-align: center
}

.insurance .manage-service__wrap {
    display: flex;
    position: relative
}

@media (max-width:960px) {
    .insurance .manage-service__wrap {
        flex-wrap: wrap
    }
}

.insurance .manage-service__message p {
    margin: 0
}

.insurance .manage-service__sheet {
    display: flex;
    justify-content: space-around;
    align-items: flex-end;
    width: 68%
}

@media (max-width:960px) {
    .insurance .manage-service__sheet {
        width: 100%;
        flex-wrap: wrap
    }
}

.information a {
    text-decoration: underline;
    color: #4489ca
}

.information .benefits__table {
    border: 1px solid black;
    border-collapse: collapse;
    width: 100%;
    text-align: center
}

.information .benefits__table th,
.information .benefits__table td {
    border: 1px solid black;
    padding: 15px 2rem
}

.information .benefits__table .bg-yellow {
    background-color: #fffcdb
}

.information .benefits__message--laforet {
    margin-bottom: 1rem
}

.information dd {
    margin-left: 1rem
}