html, body {
    color: #333;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 18px;
    font-weight: 400;
    position: relative;
    margin: 0;
    padding: 0;
    width: 100%;
    animation: fadeIn 1.5s ease 0s 1 normal;
    -webkit-animation: fadeIn 1.5s ease 0s 1 normal
}
* { min-height: 0vw; }
.hidden { display: none; }
.grecaptcha-badge { visibility: hidden; }
/*--- 画面全体をフェードイン(animation設定) ---*/
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
h2, h3, h4, h5, h6,
.sizeh1, .sizeh2, .sizeh3, .sizeh4, .sizeh5, .sizeh6 {
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.05em;
    margin-bottom: 1em;
}
h1, .sizeh1 { font-size: 52px; }
h2, .sizeh2 { font-size: 47px; }
h3, .sizeh3 { font-size: 25px; }
h4, .sizeh4 { font-size: 22px; }
*[lang="en"] {
    font-family: "prometo", sans-serif;
    font-weight: 500;
    font-style: italic;
    letter-spacing: 0.1em;
}
*[lang="ja"] {
    font-family: 'Noto Sans JP', sans-serif;
    font-style: normal;
    letter-spacing: 0.05em;
}
.tit-center { text-align: center; }
.titsub {
    font-size: 1rem;
    letter-spacing: 0.2em;
    margin-left: 0.5em;
}
.txt-block { display: block; }

.tit-icon {
    line-height: 1.3;
    position: relative;
    margin-bottom: 3rem;
    margin-left: 48px;
}
.tit-icon::before {
    content: '';
    display: block;
    width: 110px;
    height: 55px;
    position: relative;
    top: 0;
    left: -48px;
    z-index: -1;
    margin-bottom: -43px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.tit-icon-bl::before { background-image: url(../img/tit-icon.png); }
.tit-icon-wh::before { background-image: url(../img/tit-icon02.png); }
.tit-icon.tit-center { margin-left: 0; }
.tit-icon.tit-center::before {
    position: relative;
    left: auto;
    margin-left: auto;
    margin-right: auto;
}
.tit-icon.tit-center .titsub { margin-left: 0; }

.tit-bg {
    color: #fff;
    display: block;
    margin-bottom: 14px;
    padding: 7px 22px 7px 17px;
    position: relative;
    z-index: 10;
}
.tit-bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    clip-path: polygon(0.5rem 0, 100% 0%, calc(100% - 0.5rem) 100%, 0% 100%);
}
.tit-bg.bg-bl::before { background-color: #006EBA; }
.tit-bg.bg-gr::before { background-color: #10C886; }

/*--- aタグ ---*/
a, a:hover, a:focus { text-decoration: none; outline: none; }
a {
    color: #127aca;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    -webkit-transform: translateZ(0);
    -webkit-perspective: 1000;
    -webkit-backface-visibility: hidden;
}
a:hover, a:focus { color: #00028A; }

/*--- imgタグ ---*/
img {
    width: auto;
    max-width: 100%;
    height: auto;
}

/*--- svgタグ ---*/
.icon-box {
    display: block;
    width: 32px;
    height: 32px;
    border: 1px solid currentColor;
    border-radius: 100%;
}
.icon-tel { padding: 5px 7px; margin-right: 7px; }
.icon-mail { padding: 8px 6px; margin-bottom: 5px; }
.icon-box svg {
    display: block;
    width: 100%;
    height: 100%;
}

/*--- マウスカーソルで選択したテキストの色と背景色 ---*/
::selection {
    /*color: #fff;*/
    background-color: rgba(18, 122, 202, 0.15);
}

/*--- 文字共通 ---*/
p {
    margin: 0 auto 1.5em;
	padding: 0;
    line-height: 2;
    letter-spacing: 0.02em;
}
.cp-txt { font-size: 14px; }
.color-red { color: #E53C34; }
.color-gr { color: #559FBF; }
.color-bl { color: #006EBA; }
.color-bk { color: #333; }
.color-wh { color: #fff; }

/*--- background ---*/
.bg-wh { background-color: #fff; }
.bg-gray { background-color: #F6F6F6; }
.bg-grade01 { background: linear-gradient(168deg, rgba(0,110,186,1) 62%, rgba(16,200,134,1) 100%); }
.bg-grade02 { background: linear-gradient(65deg, rgba(16,200,134,1) 0%, rgba(0,110,186,1) 60%); }
.bg-none { background-color: transparent; }

/* --- flex-box --- */
.flex-box {
    display: flex;
    justify-content: center;
    align-items: center;
}
.flex-wrap {
    display: flex;
    justify-content: flex-end;
    flex-flow: column;
}
.flex2 > div { flex: 1; }

/*--- grid-box ---*/
.grid-box {
    display: grid;
    grid-gap: 30px;
}
.grid2 { grid-template-columns: repeat(2, 1fr) }
.grid3 { grid-template-columns: repeat(3, 1fr) }
.grid4 { grid-template-columns: repeat(4, 1fr) }
.grid5 { grid-template-columns: repeat(5, 1fr) }
.grid-gap0 { grid-gap: 0!important; }

/*--- table ---*/
table {
    width: 100%;
    margin: 0 auto;
    border-collapse: collapse;
}
table .hidden_row { display: none; }
table tr { background-color: #fff; }
table tbody tr:nth-child(2n-1) { background-color: #EFF8FF; }
table tr th, table tr td {
    line-height: 1.5;
    letter-spacing: 0.02em;
    padding: 0.4em 1em;
    vertical-align: top;
    border: 3px solid #fff;
}
.bg-gray table tr th, .bg-gray table tr td { border: 3px solid #F6F6F6; }
table tr:last-of-type th, table tr:last-of-type td { border-bottom: none; }
table thead tr td:first-of-type,
table tr td:empty { width: 9em; font-weight: bold; text-align: center; }
table tr th:first-of-type { width: 9em; }
table  tr th {
    color: #fff;
    text-align: center;
    background-color: #77B7E3;
}
table thead { cursor: pointer; }
table thead tr td { position: relative; }
table thead tr td:last-of-type {
    color: #006EBA;
    font-weight: 500;
    text-align: center;
}
table thead tr td:last-of-type::before {
    content: "";
    display: block;
    width: 22px;
    height: 22px;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    z-index: 10;
    background-image: url(../img/arrow-toggle.svg);
    background-color: transparent;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/*--- .full-img ---*/
.full-img {
    position: relative;
    height: 380px;
    overflow: hidden;
}
.full-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

/*--- .full-map ---*/
.full-map {
    line-height: 0;
    width: 100%;
    height: 400px;
    overflow: hidden;
}
.full-map iframe {
    width: 100%;
    height: 700px;
    margin-top: -140px;
}

/* --------------------------------------------
    Content
-------------------------------------------- */
.main-content { margin-top: 80px; }
section {
    position: relative;
    z-index: 5;
    padding: 6rem 0;
}
.sec-wrap05 { padding-top: 4rem!important; padding-bottom: 4rem!important; }
.sec-wrap0 { padding-top: 0!important; padding-bottom: 0!important; }
.sec-wrapt0 { padding-top: 0!important; }
.sec-inline { padding-inline: calc((100vw - 1004px) / 2); }
.sec-inline-start { padding-inline-start: calc((100vw - 1004px) / 2); }
.sec-inline-end { padding-inline-end: calc((100vw - 1004px) / 2); }
section > * { position: relative; z-index: 10; }

/*---------- sec00 ----------*/
.sec00-img {
    position: relative;
    z-index: 10;
}
.sec00-img::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 50%;
    background: rgb(0,110,186);
    background: linear-gradient(0deg, rgba(0,110,186,1) 0%, rgba(0,110,186,0.65) 30%, rgba(0,110,186,0) 100%);
}
.sec00-img img {
    width: 100%;
    height: auto;
}
.sec00-txt {
    position: absolute;
    bottom: 5%;
    right: 4%;
    z-index: 50;
    display: block;
    width: 790px;
}

/*---------- sec01 ----------*/
.sec01-wrap { align-items: flex-start; gap: 50px; }
.sec01-wrap > div { flex: 1; }
.sec01-wrap .item-txt { padding-top: 50px; }
.sec01-wrap .item-img {
    position: relative;
    padding-right: 50px;
    white-space: nowrap;
    filter: drop-shadow(20px 20px 50px #005195);
    -webkit-filter: drop-shadow(20px 20px 50px #005195);
    -ms-filter: drop-shadow(20px 20px 50px #005195);
}
.sec01-img {
    clip-path: polygon(0 0, 100% 0%, calc(100% - 3rem) 100%, 0% 100%);
}
.sec01-cp {
    font-weight: bold;
    display: flex;
    flex-flow: column;
    align-items: baseline;
    gap: 5px;
    position: absolute;
    top: 50px;
    right: 0;
    z-index: 10;
}
.line-wh {
    display: inline-flex;
    padding: 7px 22px 7px 17px;
    position: relative;
    z-index: 10;
}
.line-wh::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-color: #fff;
    clip-path: polygon(0 0, 100% 0%, calc(100% - 0.5rem) 100%, 0% 100%);
}

/*---------- sec02 ----------*/
.sec02-box { grid-gap: 106px; }
.sec02-box .sec02-item {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
}
.sec02-img {
    width: 100%;
    max-width: 257px;
    margin: 0 auto 10px;
}
.sec02-hd p {
    line-height: 1.6;
}
.icon-list-box { grid-gap: 30px 10px; }
.icon-list-box .item-icon .icon-img {
    width: 100%;
    max-width: 124px;
    margin: 0 auto 6px;
}
.icon-list-box .item-icon .icon-txt {
    font-size: 15px;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0;
    text-align: center;
}

.box-point {
    margin-top: 4rem;
    padding: 26px 40px;
    background-color: #F6F6F6;
    border-radius: 10px;
}
.box-point .box-wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 30px;
}
.box-point .point-tit {
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.1em;
    margin: auto;
    padding: 6px 30px 8px;
    background-color: #006EBA;
    white-space: nowrap;
}
.box-point .point-txt { flex: auto; }
.box-point .point-txt span { display: inline-block; }

/*---------- sec03 ----------*/
.sec03 { padding-bottom: calc(6rem + 70px); }
.work-slider { position: relative; margin-bottom: 50px; }
/* 矢印 */
.swiper-arrow {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 10;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 42px;
}
.swiper-button-next, .swiper-button-prev {
    position: relative;
    top: 0;
    left: 0;
    cursor: pointer;
    display: block;
    width: 42px;
    height: 42px;
    margin-top: 0;

    background-image: url(../img/arrow-slider.svg);
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
}
.swiper-button-prev { margin-left: 1rem; }
.swiper-button-next { margin-right: 1rem; transform: scale(-1, 1); }

/*---------- sec04 ----------*/
.sec04-hd {
    position: relative;
    z-index: 50;
    height: 25vw;
    margin-bottom: calc(50px + 5rem);
    background: linear-gradient(0deg, #fff 100px, #F6F6F6 100px);
}
.sec04-hd > .tit-box { width: 560px; height: 100%; }
.sec04-hd > .sec04-hd-img { width: max(calc(100vw - 400px), 60vw); height: 100%; }
.tit-box {
    position: relative;
    z-index: 10;
    filter: drop-shadow(20px 20px 50px #005195);
    -webkit-filter: drop-shadow(20px 20px 50px #005195);
    -ms-filter: drop-shadow(20px 20px 50px #005195);
}
.tit-box .box-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding-right: 4vw;
    background: linear-gradient(168deg, rgba(0, 110, 186, 1) 62%, rgba(16, 200, 134, 1) 100%);
    clip-path: polygon(0 0, 100% 0%, calc(100% - 3rem) 100%, 0% 100%);
}
.sec04-hd-img {
    position: absolute;
    top: 50px;
    right: 0;
    z-index: 0;
    overflow: hidden;
    clip-path: polygon(3rem 0, 100% 0%, 100% 100%, 0% 100%);
}
.sec04-hd-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*---------- sec05 ----------*/
.sec05 { overflow: hidden; }
.history-slider { margin-top: clamp(3.5rem, 1.969rem + 6.531vw, 8.5rem); }
.history-slider .swiper-slide { width: clamp(18.25rem, 16.566rem + 7.184vw, 23.75rem); }
.history-slider .swiper-slide dl { width: 85%; }
.history-slider .sec05-date {
    font-weight: bold;
    margin-bottom: 20px;
}
.history-slider .sec05-deco {
    position: relative;
    height: 24px;
    margin-bottom: 14px;
}
.history-slider .sec05-deco span {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 24px;
    height: 24px;
    background-color: #335FA8;
    border: 6px solid #fff;
    border-radius: 100%;
    z-index: 2;
}
.history-slider .sec05-deco::before {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(-100% + 1.375rem);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: calc(100% - 1.375rem);
    height: 1px;
    background-color: #ddd;
    z-index: -1;
}
.history-slider .sec05-deco::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 1.375rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: calc(100% - 1.375rem);
    height: 1px;
    background-color: #ddd;
    z-index: -1;
}
.history-slider .sec05-title { margin-bottom: 10px; }
.bar-cp { margin-top: 10px; }
.scrollbar-wrapper {
    width: 100%;
    /*max-width: 27.5rem;*/
    margin: clamp(2.5rem, 1.352rem + 4.898vw, 6.25rem) auto 0;
}
.scrollbar-wrapper .bar-hd {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
    padding: 0 15px;
}
.scrollbar-wrapper .bar-hd > div {
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.1em;
}
.scrollbar-wrapper .bar {
    width: 100%;
    height: 26px;
    margin: 0 auto;
    background-color: rgba(255, 255, 255, 0.15);
    border-radius: 9999px;
    cursor: pointer;
}
.scrollbar-wrapper .swiper-scrollbar-drag {
    width: 53px;
    height: 100%;
    background-image: url(../img/scrolldrug.svg);
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
}
@media screen and (max-width: 767px) {
    .scrollbar-wrapper .bar-hd > div { font-size: 13px; }
}

/*---------- sec06 ----------*/
.sec06-box {
    width: 100%;
    max-width: 800px;
    margin: 0 auto 3.5rem;
}

/*---------- sec08 ----------*/
.contact-hd {
    margin-bottom: 1.5rem;
}
.btn-list-box {
    width: 100%;
    max-width: 720px;
    margin: 0 auto 1.5rem;
    grid-gap: 20px;
}
.btn-list-box .btn00 {
    color: #fff;
    font-size: 25px;
    font-weight: bold;
    display: flex;
    gap: 16px;
    padding: 10px;
    background-color: #006EBA;
    border-radius: 50px;
}
.btn-list-box .btn-tel { background-color: #006EBA; }
.btn-list-box .btn-fax { background-color: #10C886; }
.btn-list-box .btn00 span { line-height: 44px; }
.contact-icon {
    display: block;
    width: 44px;
    height: auto;
}

/* --------------------------------------------
    Page Top
-------------------------------------------- */
.topbtn {
    display: block;
    width: 60px;
    height: 60px;
    position: absolute;
    top: 30px;
    right: calc((100vw - 1000px) / 2);
}

/* --------------------------------------------
    footer
-------------------------------------------- */
#ft01 {
    color: #fff;
    font-size: 15px;
    position: relative;
    z-index: 5;
    background-color: #0B4475;
}
#ft01 a,
#ft01 p {
    position: relative;
    z-index: 1;
    color: #fff;
    line-height: 1.6;
    letter-spacing: 0.02em;
    margin-bottom: 0;
}
.ft-wrap {
    position: relative;
    margin: 0 auto;
    padding-top: 3em;
    padding-bottom: 1em;
}
.ft-hd { margin-bottom: 15px; }
.ft-logo { width: 340px; }
.ft-box {
    width: 96%;
    margin: 0 auto;
    justify-content: space-between;
    gap: 4em;
}
.list-dl {
    list-style: none;
    position: relative;
    margin: 0;
    padding: 0;
    vertical-align: top;
}
.list-dl dd {
    position: relative;
    display: inline-block;
    margin: 0 auto 1em;
    padding: 0 1em;
    font-weight: bold;
    line-height: 1;
}
.list-dl dd:first-child {
    padding-left: 0!important;
}
.list-dl dd:not(:last-child)::after {
    content: '';
    width: 1px;
    height: 1em;
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
    background-color: currentColor;
}
.list-dl dd a::after {
    position: absolute;
    bottom: -5px;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: currentColor;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
}
.list-dl dd a:hover::after {
    transform-origin: left top;
    transform: scale(1, 1);
}

.ft-cp {
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.02em;
    text-align: right;
    padding: 15px 0;
}


/* --------------------------------------------
    Responsive
-------------------------------------------- */
@media screen and (min-width: 1281px) {
    .sec-inline { padding-inline: calc((100vw - 1160px) / 2); }
    .sec-inline-start { padding-inline-start: calc((100vw - 1160px) / 2); }
    .sec-inline-end { padding-inline-end: calc((100vw - 1160px) / 2); }
    .topbtn { right: calc((100vw - 1160px) / 2); }
}
@media screen and (max-width: 1101px) {
    .sec-inline { padding-inline: calc((100vw - 920px) / 2); }
    .sec-inline-start { padding-inline-start: calc((100vw - 920px) / 2); }
    .sec-inline-end { padding-inline-end: calc((100vw - 920px) / 2); }
    section { padding-top: 6rem; padding-bottom: 6rem; }
}
@media screen and (max-width: 991px) {
    html, body { font-size: 16px; }
    h1, .sizeh1 { font-size: 46px; }
    h2, .sizeh2 { font-size: 40px; }
    h3, .sizeh3 { font-size: 20px; }
    h4, .sizeh4 { font-size: 18px; }
    .tit-icon { margin-left: 0; }
    .tit-icon::before { width: 92px; height: 48px; left: -36px; margin-bottom: -38px; }
    .btn-list-box { grid-template-columns: 1fr; max-width: 340px; }
    .full-img { height: 34vw; }
    .main-content { margin-top: 0; }
    .sec-inline { padding-inline: initial; padding-left: 6%; padding-right: 6%; }
    .sec-inline-start { padding-inline: initial; padding-left: 6%; }
    .sec-inline-end { padding-inline: initial; padding-right: 6%; }
    .sec00-txt { width: 70vw; max-width: 640px; }
    .sec01 { padding-top: 4rem !important; }
    .sec01-wrap { gap: 36px; }
    .sec02-box { grid-gap: 40px; }
    .sec02-img { max-width: 230px; }
    .icon-list-box { grid-gap: 30px 0; }
    .icon-list-box .item-icon .icon-img { width: 92%; max-width: 116px; }
    .tit-box {
        filter: drop-shadow(10px 10px 20px rgba(0, 81, 149, 0.6));
        -webkit-filter: drop-shadow(10px 10px 20px rgba(0, 81, 149, 0.6));
        -ms-filter: drop-shadow(10px 10px 20px rgba(0, 81, 149, 0.6));
    }
    .sec04-hd { height: 240px; }
    .sec04-hd > .tit-box { width: 460px; }
    .sec04-hd > .sec04-hd-img { width: max(calc(100vw - 300px), 60vw); }
    .tit-box .box-wrap { clip-path: polygon(0 0, 100% 0%, calc(100% - 2.6rem) 100%, 0% 100%); padding-right: 30px; }
    .sec04-hd-img { clip-path: polygon(2.6rem 0, 100% 0%, 100% 100%, 0% 100%); }
    .topbtn { right: 8%; }
    #ft01 a { font-size: 14px; }
    .ft-logo { width: 330px; }
}
@media screen and (max-width: 767px) {
    h1, .sizeh1 { font-size: 40px; }
    h2, .sizeh2 { font-size: 36px; }
    h3, .sizeh3 { font-size: 19px; }
    h4, .sizeh4 { font-size: 17px; }
    .titsub { font-size: 14px; }
    section { padding-top: 5rem; padding-bottom: 5rem; }
    .sec-inline { padding-left: 7.5%; padding-right: 7.5%; }
    .sec-inline-start { padding-left: 7.5%; }
    .sec-inline-end { padding-right: 7.5%; }
    .sec01-wrap { flex-flow: column; }
    .sec01-wrap .item-img {
        width: 100%;
        height: auto;
    }
    .sec01-img {
        position: relative;
        width: 100%;
        height: 300px;
    }
    .sec01-img img {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .sec01-wrap .item-txt {
        padding-top: 0;
        padding-left: 7.5%;
    }
    .sec02-box { grid-template-columns: 1fr; }
    .sec03 { padding-bottom: 5rem; }
    .sec04-hd {
        height: auto;
        margin-bottom: 4rem;
        background: linear-gradient(0deg, #fff 170px, #F6F6F6 170px);
    }
    .sec04-hd > .tit-box { width: 400px; height: 160px; }
    .sec04-hd > .sec04-hd-img { width: 86vw; height: 200px; }
    .sec04-hd-img {
        position: relative;
        top: 0;
        margin-top: -35px;
        margin-left: auto;
    }
    .sec04-hd .tit-icon { margin-bottom: 15px; }


    .topbtn { bottom: auto; top: 20px; right: 7.5%; }

    .ft-hd { grid-template-columns: repeat(1, 1fr); grid-template-rows: repeat(1, 1fr); }
    .ft-hd > .ft-logo { grid-area: auto; }
    .ft-hd > .ft-address { grid-area: auto; }
    .ft-hd > .ft-iso { grid-area: auto; }
}
@media screen and (max-width: 575px) {
    .titsub { display: block; margin-left: 0; }
    table tr th, table tr td { display: block; }
    table tr th:first-of-type, table thead tr td:first-of-type { width: 100%; }
    table tr td:empty, table thead tr td:last-of-type { display: none; }
    table thead tr td:first-of-type::before {
        content: "";
        display: block;
        width: 22px;
        height: 22px;
        position: absolute;
        top: 50%;
        right: 15px;
        transform: translateY(-50%);
        z-index: 10;
        background-image: url(../img/arrow-toggle.svg);
        background-color: transparent;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }
    .full-img { height: 50vw; }
    
    .btn-list-box.grid-box{ display: block; max-width: 290px; }
    .btn-list-box .btn00{ font-size: 18px; }
    .btn-list-box .btn00:first-child{ margin-bottom: 1.5rem;}

    .sec00-img { height: 100vh; max-height: 560px; }
    .sec00-img img { height: 100%; object-fit: cover; }
    .sec00-txt {
        width: 92%;
        max-width: 380px;
        bottom: auto;
        right: auto;
        top: 55%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    .sec01-img { height: 250px; }
    .icon-list-box { grid-template-columns: repeat(2, 1fr); }
    .box-point .box-wrap { flex-flow: column; gap: 16px; }
    .sec04-hd > .tit-box { width: 280px; height: 150px; }
    .sec04-hd > .sec04-hd-img { width: 94vw; height: 200px; margin-top: -60px; }
    #ft01 { font-size: 14px; }
    .ft-box { flex-flow: column; gap: 2em; }
    .ft-logo { width: auto; margin-bottom: 20px; }
    .ft-wrap { padding-top: 80px; padding-bottom: 1em; }
    .ft-hd { margin-right: 0; }
    .ft-cp { font-size: 10px; text-align: center; }
    .list-dl dd{ padding: 0 0.5em;}
}

/* --------------------------------------------
    MAIL FORM PRO
-------------------------------------------- */
.form-box {
    background-color: #FFF;
    width: 100%;
    margin: 0 auto 2rem;
    padding: 1.5rem;
}
.form-box .sec10-txt p { color: #434343!important; }
.form-box .sec10-txt p .subtxt {
    display: block;
    font-size: 0.65em;
    font-weight: normal;
    letter-spacing: 0.05em;
    padding-top: 1.171875vw;
}
.form-box .sec10-cp { color: #E25B5A; }
#mailformpro .must {
    color: #fff;
    font-size: 12px;
    letter-spacing: 0.1em;
    float: none;
    display: inline-block;
    margin: 0px auto;
    margin-left: 8px;
    padding-left: max(5px, 0.0390625vw);
    padding: 1px 8px 2px;
    background-color: #E25B5A;
    border: none;
    border-radius: 5px;
    box-shadow: 0px 0px 0px transparent;
    text-shadow: 0px 0px 0px transparent;
    background-image: none !important;
}
#mailformpro dt.mfp, #mailformpro dd.mfp {
    font-size: 1em;
    border-top: none;
    margin: 0 auto;
    text-align: left;
    background-color: transparent!important;
}
#mailformpro dt.mfp {
    font-size: 16px;
    width: 100%;
    letter-spacing: 0.05em;
    padding: 0 10px 6px;
}
#mailformpro dd.mfp {
    letter-spacing: 0.05em;
    padding: 0 0 30px;
}
#mailformpro dd.mfp:last-of-type {
    padding: 0 10px 6px;
}
#mailformpro input:not([type="radio"]) {
    font-weight: 500;
    display: block;
    width: 100%!important;
    max-width: 100%;
    border: none;
    border-radius: 10px;
    background-color: #F6F6F6!important;
    padding: 10px 15px;
    box-shadow: 0px 0px 0px transparent;
}
#mailformpro input[type="hidden"] { display: none!important; }
#mailformpro input[type="checkbox"] {
    display: inline-block!important;
    width: auto!important;
}
#mailformpro textarea {
    display: block!important;
    height: 15em!important;
    width: 100%!important;
    max-width: 100%;
    padding: 6px;
    outline: none;
    border: solid max(1px, 0.078125vw) #000;
    box-shadow: 0px 0px 0px transparent;
}
form#mailformpro label.mfp_not_checked { border: none!important; }
#mailformpro #mfp_hidden input { display: none!important; }

::placeholder {
  color: #B2B2B2;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.form-box .policy-box {
    width: 100%;
    height: 15em;
    overflow-y: scroll;
    background-color: #fff;
    -webkit-writing-mode: horizontal-tb !important;
    text-rendering: auto;
    color: -internal-light-dark(black, white);
    letter-spacing: normal;
    word-spacing: normal;
    text-transform: none;
    text-indent: 0px;
    text-shadow: none;
    display: inline-block;
    text-align: start;
    appearance: textarea;
    background-color: -internal-light-dark(rgb(255, 255, 255), rgb(59, 59, 59));
    -webkit-rtl-ordering: logical;
    flex-direction: column;
    resize: auto;
    cursor: text;
    white-space: pre-wrap;
    overflow-wrap: break-word;
    margin: 0em;
    font: 0.8em Arial;
    border-width: 0.078125vw;
    border-style: solid;
    border-color: -internal-light-dark(rgb(118, 118, 118), rgb(133, 133, 133));
    border-image: initial;
    padding: 2px;
}
.form-box .policy-box p { margin: 0 auto; padding: 0 1.5vw; }
form#mailformpro label.mfp_checked {
    border: none;
    background-color: transparent;
    box-shadow: 0px 0px 0px transparent;
}
#mfp_overlay_inner {
    font-size: 1em;
    padding: 30.0390625vw 20.0390625vw;
}
.mfp_element_submit, .mfp_element_reset, .mfp_element_button, button.mfp_next, button.mfp_prev {
    text-shadow: none !important;
}
.mfp_buttons button {
    color: #fff;
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: 0.2em;
    background: #006EBA;
    padding: 16px 60px;
    border: none;
    border-radius: 50px;
}
@media screen and (max-width: 575px) {
    #mailformpro dd.mfp:last-of-type {
        padding: 0 0 30px;
    }
}