.media-sliders,
.flow-sliders {
    position: relative;
}
.particles-js-canvas-el {
    position: absolute;
    top: 0;
    left: 0;
}
.slider-button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    z-index: 1;
}
.swiper-btn-prev,
.swiper-btn-next {
    height: 80px;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 80px;
    z-index: 1;
}
.swiper-btn-prev {
    left: 0;
}
.swiper-btn-next {
    right: 0;
}
.swiper-button-disabled {
    opacity: 0;
}
.swiper-pagination-archives {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 25px 0 0;
}
.swiper-pagination-archives .swiper-pagination-bullet {
    background: #fff;
    opacity: 1;
}
.swiper-pagination-archives .swiper-pagination-bullet-active {
    background: #274CAD;
    opacity: 1;
}
.swiper-pagination-flow {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 25px 0 0;
}
.swiper-pagination-flow.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
    background: #fff;
    border-radius: 0;
    height: 5px;
    margin: 0;
    opacity: 1;
    width: 200px;
}
.swiper-pagination-flow.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet-active {
    background: #274CAD;
    opacity: 1;
}
@media screen and (max-width: 768px) {
    .swiper-btn-prev,
    .swiper-btn-next {
        height: 40px;
        width: 40px;
    }
}
/* mv */
.mv {
    background: #D8E6EF;
    background-image: url(../images/mv-symbol1.png), url(../images/mv-symbol2.png);
    background-position: left top, right bottom;
    background-size: 30%, 30%;
    background-repeat: no-repeat, no-repeat;
    overflow: hidden;
    padding: 100px 0 0;
    position: relative;
}
.mv-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 0 auto;
    position: relative;
    width: 92%;
    max-width: 1280px;
    z-index: 1;
}
.mv-text {
    width: 440px;
}
.mv-tag {
    margin: 0 auto;
    width: 100%;
    max-width: 400px;
}
.mv-text h1 {
    color: var(--main-theme-color);
    font-size: 44px;
    font-weight: bold;
}
.mv-text p {
    color: var(--main-theme-color);
    font-size: 20px;
    font-weight: bold;
    line-height: 1.8em;
}
.mv-text .dl-link {
    margin: 15px 0 0;
}
.mv-image {
    width: calc(100% - 480px);
    margin-bottom: -5px;
}
@media screen and (max-width: 1268px) {
    .mv-text h1 {
        font-size: 52px;
    }
    .mv-text p {
        font-size: 18px;
    }
}
@media screen and (max-width: 968px) {
    .mv {
        padding-top: 50px;
        background-image: url(../images/mv-sp-bg.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center bottom;
    }
    .mv-text {
        margin: 0 0 25px;
        width: 100%;
    }
    .mv-tag {
        margin: 0 auto;
        width: 90%;
        max-width: none;
    }
    .mv-text h1 {
        font-size: 92px;
    }
    .mv-text p {
        font-size: 32px;
    }
    .mv-image {
        width: 100%;
    }
}
@media screen and (max-width: 768px) {
    .mv-text h1 {
        font-size: 52px;
    }
    .mv-text p {
        font-size: 18px;
    }
}
@media screen and (max-width: 468px) {
    .mv-text h1 {
        font-size: 40px;
    }
    .mv-text p {
        font-size: 16px;
    }
}

/* movie */
.movie {
    background: var(--main-theme-color);
    padding: 50px 0;
}
.movie-contents {
    margin: 0 auto;
    width: 92%;
    max-width: 800px;
}

.movie-contents iframe{
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
}

/* assignment */
.assignment {
    background: #CBCBCB;
    filter: drop-shadow(2px 5px 16px rgb(0 0 0 / 16%));
    padding: 65px 0;
    position: relative;
    z-index: 1;
}
.assignment::after {
    border-style: solid;
    border-width: 51px 26px 0 26px;
    border-color: #CBCBCB transparent transparent transparent;
    content: "";
    display: inline-block;
    height: 0;
    margin: auto;
    position: absolute;
    left: 0;
    right: -52px;
    bottom: -51px;
    width: 0;
    z-index: 1;
}
.assignment-inner {
    margin: 0 auto;
    width: 92%;
    max-width: 900px;
}
.assignment-head {
    margin: 0 0 45px;
    text-align: center;
}
.assignment-head h2 {
    font-size: 38px;
    font-weight: bold;
}
.assignment-head h2 span {
    font-size: 48px;
    font-weight: 900;
    position: relative;
}
.assignment-head h2 span::before {
    background: var(--main-theme-color);
    border-radius: 50%;
    content: "";
    display: inline-block;
    height: 6px;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 6px;
}
.assignment-body {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.assignment-text,
.assignment-image {
    width: 48%;
}
.assignment-text p {
    background: #fff;
    border-radius: 5px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 24px;
    font-weight: 400;
    padding: 8px 10px 8px 44px;
    position: relative;
    width: 100%;
}
.assignment-text p:not(:last-child) {
    margin: 0 0 10px;
}
.assignment-text p::before {
    background: url(../images/check.svg) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    height: 18px;
    margin: auto;
    position: absolute;
    left: 10px;
    top: 0;
    bottom: 0;
    width: 24px;
}
.assignment-text p span {
    font-weight: 900;
}
@media screen and (max-width: 968px) {
    .assignment {
        padding: 35px 0;
        z-index: 88;
    }
    .assignment::after {
        border-style: solid;
        border-width: 25px 12px 0 12px;
        right: -24px;
        bottom: -25px;
    }
    .assignment-head {
        margin: 0 0 25px;
    }
    .assignment-head h2 {
        font-size: 28px;
    }
    .assignment-head h2 span {
        font-size: 38px;
    }
    .assignment-text,
    .assignment-image {
        width: 100%;
    }
    .assignment-image {
        position: absolute;
        bottom: -5%;
        right: 0;
        width: 40%;
    }
    .assignment-text p {
        font-size: 20px;
        padding: 8px 10px 8px 40px;
    }
    .assignment-text p::before {
        height: 16px;
        left: 10px;
        width: 20px;
    }
}
@media screen and (max-width: 768px) {
    .assignment-head h2 {
        font-size: 21px;
    }
    .assignment-head h2 span {
        font-size: 28px;
    }
    .assignment-image {
        bottom: -8%;
        width: 40%;
    }
    .assignment-text p {
        font-size: 16px;
        padding: 8px 10px 8px 35px;
    }
    .assignment-text p::before {
        height: 14px;
        left: 10px;
        width: 18px;
    }
}

/* about */
.about {
    background: #fff;
    overflow: hidden;
    padding: 145px 0 65px;
    position: relative;
}
.about-inner {
    margin: 0 auto;
    position: relative;
    width: 92%;
    max-width: 1280px;
    z-index: 1;
}
.about-head {
    margin: 0 auto;
    position: relative;
    width: 100%;
    max-width: 880px;
}
.about-head::before {
    background: #FFEFBF;
    border-radius: 50%;
    content: "";
    display: inline-block;
    height: 954px;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -50%;
    width: 954px;
    z-index: 0;
}
.about-head__image {
    position: relative;
    z-index: 1;
}
.about-body {
    background: var(--main-theme-color);
    margin: -20% 0 0;
    padding: 15% 0 65px;
    position: relative;
    z-index: 0;
}
.about-body__in {
    margin: 0 auto;
    width: 92%;
    max-width: 1000px;
}
.about-ttl {
    margin: 0 0 35px;
}
.about-ttl__txt {
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    line-height: 1.5em;
    text-align: center;
}
.about-ttl__txt span {
    color: #FFDE48;
}
.about-ttl__icon{
    display: inline-block;
    width: 32.82px;
    aspect-ratio: 1/1;
}
.about-ttl p {
    border-top: 2px solid #fff;
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8em;
    margin: 25px 0 0;
    padding: 25px 0 0;
    text-align: center;
}
.about-image {
    background: #fff;
    margin: 0 0 45px;
    padding: 35px 20px;
    text-align: center;
}
.about-image h3 {
    color: var(--main-theme-color);
    font-size: 32px;
    font-weight: bold;
}
.about-image p {
    color: #363636;
    font-size: 18px;
    font-weight: 400;
    margin: 8px 0 0;
}
.about-image picture {
    display: block;
    margin: 35px auto 0;
    width: 100%;
    max-width: 685px;
}
.about-cards {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 20px;
    row-gap: 25px;
    margin: 25px 0 35px;
}
.about-card {
    background: #fff;
    border-radius: 5px;
    padding: 25px 12px;
    width: calc((100% / 3) - 20px);
}
.about-card__ttl {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0 0 10px;
}
.about-card__eyecatch {
    margin-right: 10px;
    width: 40px;
}
.about-card__ttl p {
    color: var(--main-theme-color);
    font-size: 23px;
    font-weight: bold;
    width: calc(100% - 50px);
}
.about-card__text {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.8em;
}
.about .dl-link {
    margin: 0 auto;
    width: 100%;
    max-width: 519px;
}
@media screen and (max-width: 1268px) {
    .about-head::before {
        height: 75vw;
        bottom: -40%;
        width: 75vw;
    }
}
@media screen and (max-width: 968px) {
    .about {
        padding: 70px 0 45px;
    }
    .about-head::before {
        height: 65vw;
        bottom: 0%;
        width: 72vw;
    }
    .about-body {
        margin: -30% 0 0;
        padding: 25% 0 35px;
    }
    .about-ttl {
        margin: 0 0 35px;
    }
    .about-ttl__txt {
        font-size: 21px;
    }
    .about-ttl__txt span {
        font-size: 32px;
    }
    .about-ttl__icon{
        width: 21.96px;
    }
    .about-ttl p {
        font-size: 14px;
        margin: 20px 0 0;
        padding: 20px 0 0;
    }
    .about-image {
        margin: 0 0 35px;
        padding: 35px 20px;
    }
    .about-image h3 {
        font-size: 26px;
    }
    .about-image p {
        font-size: 16px;
    }
    .about-image picture {
        margin: 25px auto 0;
    }
    .about-cards {
        row-gap: 15px;
    }
    .about-card {
        padding: 20px 10px;
        width: 100%;
    }
    .about-card__eyecatch {
        width: 30px;
    }
    .about-card__ttl p {
        font-size: 20px;
        width: calc(100% - 40px);
    }
    .about-card__text {
        font-size: 15px;
    }
}
@media screen and (max-width: 768px) {
    .about-head::before {
        height: 85vw;
        bottom: -10%;
        width: 85vw;
    }
    .about-body {
        margin: -30% 0 0;
        padding: 25% 0 35px;
    }
    .about-ttl__txt {
        font-size: 18px;
    }
    .about-ttl__txt span {
        font-size: 24px;
    }
    .about-ttl__icon{
        width: 18px;
    }
    .about-image h3 {
        font-size: 21px;
    }
    .about-image p {
        font-size: 14px;
    }
    .about-card__ttl p {
        font-size: 18px;
    }
    .about-card__text {
        font-size: 14px;
    }
}

/* selection */
.selection {
    background: #D8E6EF;
    padding: 0 0 65px;
    z-index: 1;
}
.selection-head {
    background: #274CAD;
    padding: 25px 0;
    position: relative;
    text-align: center;
}
.selection-head::after {
    border-style: solid;
    border-width: 51px 26px 0 26px;
    border-color: #274CAD transparent transparent transparent;
    content: "";
    display: inline-block;
    height: 0;
    margin: auto;
    position: absolute;
    left: 0;
    right: -52px;
    bottom: -51px;
    width: 0;
    z-index: 1;
}
.selection-head h2 {
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    line-height: 1.6em;
}
.selection-head h2 span {
    color: #FFDE48;
}
.selection-body {
    counter-reset: number 0;
    margin: 0 auto;
    padding: 100px 0 0;
    width: 92%;
    max-width: 900px;
}
.selection-card {
    background: #fff;
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    filter: drop-shadow(3px 5px 10px rgb(0 0 0 / 16%));
    padding: 85px 45px 45px;
    position: relative;
}
.selection-card:not(:last-child) {
    margin: 0 0 45px;
}
.selection-card::before {
    color: #E3E3E3;
    counter-increment: number 1;
    content: "0"counter(number);
    font-family:"din-2014-narrow";
    font-size: 120px;
    font-weight: bold;
    position: absolute;
    left: 25px;
    top: 0;
    z-index: 0;
}
.selection-card__text {
    position: relative;
    width: 52%;
    z-index: 1;
}
.selection-card__image {
    position: relative;
    width: 45%;
    z-index: 1;
}
.selection-card__ttl {
    font-size: 34px;
    font-weight: bold;
    margin: 0 0 25px;
}
.selection-card__ttl span {
    border-bottom: 7px solid #FF8D34;
}
.selection-card__txt {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6em;
}
@media screen and (max-width: 968px) {
    .selection {
        padding: 0 0 45px;
    }
    .selection-head {
        padding: 15px 0;
    }
    .selection-head::after {
        border-style: solid;
        border-width: 25px 12px 0 12px;
        border-color: #274CAD transparent transparent transparent;
        right: -24px;
        bottom: -25px;
    }
    .selection-head h2 {
        font-size: 28px;
    }
    .selection-body {
        padding: 60px 0 0;
    }
    .selection-card {
        padding: 75px 25px 35px;
    }
    .selection-card:not(:last-child) {
        margin: 0 0 35px;
    }
    .selection-card::before {
        font-size: 100px;
        left: 25px;
    }
    .selection-card__text {
        margin: 0 0 15px;
        width: 100%;
    }
    .selection-card__image {
        width: 100%;
    }
    .selection-card__ttl {
        font-size: 28px;
        margin: 0 0 20px;
    }
    .selection-card__ttl span {
        border-bottom: 5px solid #FF8D34;
    }
    .selection-card__txt {
        font-size: 16px;
    }
}
@media screen and (max-width: 768px) {
    .selection-head h2 {
        font-size: 23px;
    }
    .selection-card {
        padding: 65px 20px 30px;
    }
    .selection-card::before {
        font-size: 80px;
        left: 20px;
    }
    .selection-card__ttl {
        font-size: 24px;
    }
    .selection-card__txt {
        font-size: 14px;
    }
}

/* media */
.media {
    background: #fff;
    padding: 65px 0;
}
.media-inner {
    margin: 0 auto;
    width: 95%;
}
.media-head {
    margin: 0 0 35px;
}
.media-head__fukidashi {
    display: flex;
    justify-content: center;
    align-items: center;
}
.media-head__fukidashi::before,
.media-head__fukidashi::after {
    background: #363636;
    content: "";
    display: inline-block;
    height: 35px;
    width: 1px;
}
.media-head__fukidashi::before {
    transform: rotate(-35deg);
}
.media-head__fukidashi::after {
    transform: rotate(35deg);
}
.media-head h2 {
    display: inline-block;
    font-size: 32px;
    font-weight: bold;
    margin: 0 45px;
}
.media-slider__wrapper.swiper-wrapper {
    transition-timing-function: linear;
}
@media screen and (max-width: 968px) {
    .media {
        padding: 45px 0;
    }
    .media-head {
        margin: 0 0 25px;
    }
    .media-head__fukidashi::before,
    .media-head__fukidashi::after {
        height: 65px;
    }
    .media-head__fukidashi::before {
        transform: rotate(-25deg);
    }
    .media-head__fukidashi::after {
        transform: rotate(25deg);
    }
    .media-head h2 {
        font-size: 26px;
        margin: 0 35px;
        text-align: center;
    }
}
@media screen and (max-width: 768px) {
    .media-head__fukidashi::before,
    .media-head__fukidashi::after {
        height: 45px;
    }
    .media-head h2 {
        font-size: 18px;
        margin: 0 25px;
    }
}

/* archives */
.archives {
    background: var(--main-theme-color);
    padding: 45px 0;
}
.archives-inner {
    margin: 0 auto;
    width: 92%;
}
.archives-head {
    display: flex;
    align-items: center;
    margin: 0 auto 45px;
    text-align: center;
    width: 100%;
    max-width: 840px;
}
.archives-head::before,
.archives-head::after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #fff;
}
.archives-head::before {
    margin-right: 1rem;
}
.archives-head::after {
    margin-left: 1rem;
}
.archives-head h2 {
    color: #fff;
    font-size: 40px;
    font-weight: bold;
}
.archives-sliders {
    margin: 0 auto;
    position: relative;
    width: 100%;
    max-width: 1100px;
}
.archives-slider {
    margin: 0 auto;
    overflow: hidden;
    width: 100%;
    max-width: 840px;
}
.archives-slide {
    background: #fff;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.archives-slide__image {
    background: url(../images/archives.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    width: 35%;
}
.archives-slide__image.-second{
    background: url(../images/archives2.jpg) no-repeat;
    background-position: center;
    background-size: cover;
}
.archives-slide__image.-third{
    background: url(../images/archives3.jpg) no-repeat;
    background-position: center;
    background-size: cover;
}
.archives-slide__text {
    padding: 35px 25px;
    width: 65%;
}
.archives-slide__ttl {
    color: var(--main-theme-color);
    font-size: 24px;
    font-weight: bold;
    margin: 0 0 15px;
}
.archives-slide__txt {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6em;
}
@media screen and (max-width: 968px) {
    .archives-head {
        margin: 0 auto 35px;
    }
    .archives-head h2 {
        font-size: 32px;
    }
    .archives-slide__image {
        height: 200px;
        width: 100%;
    }
    .archives-slide__text {
        padding: 25px 20px;
        width: 100%;
    }
    .archives-slide__ttl {
        font-size: 21px;
    }
    .archives-slide__txt {
        font-size: 16px;
    }
    .archives-sliders .slider-button {
        margin: 15px 0 0;
    }
    .archives-sliders .swiper-btn-prev,
    .archives-sliders .swiper-btn-next {
        top: inherit;
    }
    .archives-sliders .swiper-pagination-archives {
        margin: 45px 0 0;
    }
}
@media screen and (max-width: 768px) {
    .archives-head h2 {
        font-size: 23px;
    }
    .archives-slide__ttl {
        font-size: 18px;
    }
    .archives-slide__txt {
        font-size: 14px;
    }
}

/* flow */
.flow {
    background: #D9E5EF;
    padding: 65px 0;
}
.flow-inner {
    margin: 0 auto;
    width: 92%;
    max-width: 1000px;
}
.flow-sliders {
    position: relative;
}
.flow-slider {
    align-items: stretch;
}
.flow-slide {
    position: relative;
    background: #fff;
    border-radius: 5px;
    filter: drop-shadow(2px 5px 10px rgb(0 0 0 / 16%));
    height: auto;
    padding: 35px 25px;
}
.flow-slide__num{
    position: absolute;
    content: '';
    color: #FF8D35;
    font-family: "din-2014";
    font-size: 36px;
    font-weight: 700;
    line-height: 1
    ;
    top: 35px;
    left: 25px;
}
.flow-slide__image {
    line-height: 0;
    margin: 0 auto 15px;
    width: 100px;
}
.flow-slide__ttl {
    color: var(--main-theme-color);
    font-size: 24px;
    font-weight: bold;
    margin: 0 0 20px;
}
.flow-slide__txt {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6em;
}
@media screen and (max-width: 968px) {
    .flow-slide__image {
        width: 90px;
    }
    .flow-slide__ttl {
        font-size: 21px;
    }
    .flow-slide__txt {
        font-size: 16px;
    }
}
@media screen and (max-width: 768px) {
    .flow-slide__image {
        width: 80px;
    }
    .flow-slide__ttl {
        font-size: 18px;
    }
    .flow-slide__txt {
        font-size: 14px;
    }
}

/* faq */
.faq {
    background: #fff;
    padding: 65px 0;
}
.faq-inner {
    margin: 0 auto;
    width: 92%;
    max-width: 1000px;
}
.faq-list__item {
    padding: 0 25px;
}
.faq-list__item:not(:last-child) {
    border-bottom: 1px solid #BEBEBE;
    margin: 0 0 25px;
    padding: 0 25px 25px;
}
.faq-list__item dt {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    padding: 0 25px 0 0;
    position: relative;
}
.faq-list__item dt::before {
    background: url(../images/icon-arrow-d.svg) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 24px;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 15px;
}
.faq-list__item dt.active::before {
    transform: rotate(-180deg);
}
.faq-list__item dd {
    padding: 20px 0 0 70px;
}
.faq-item__num {
    color: #274CAD;
    font-family: "din-2014";
    font-size: 40px;
    font-weight: bold;
    margin-right: 15px;
}
.faq-item__ttl {
    font-size: 20px;
    font-weight: bold;
}
.faq-item__txt {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6em;
}
@media screen and (max-width: 968px) {
    .faq-list__item {
        padding: 0 20px;
    }
    .faq-list__item:not(:last-child) {
        padding: 0 20px 25px;
    }
    .faq-list__item dd {
        padding: 15px 0 0 65px;
    }
    .faq-item__num {
        font-size: 32px;
    }
    .faq-item__ttl {
        font-size: 18px;
    }
}
@media screen and (max-width: 768px) {
    .faq-list__item dd {
        padding: 15px 0 0 60px;
    }
    .faq-item__ttl {
        font-size: 16px;
    }
    .faq-item__txt {
        font-size: 14px;
    }
}

/* contact */
.contact {
    background: var(--main-theme-color);
    padding: 45px 0 65px;
}
.contact-inner {
    margin: 0 auto;
    width: 92%;
    max-width: 1000px;
}
.contact-line {
    margin: 0 0 35px;
}
.contact-content {
    background: #F2F2F2;
    filter: drop-shadow(3px 5px 10px rgba(0 0 0 / 16%));
    padding: 55px 20px;
}
.contact-head {
    margin: 0 0 35px;
    text-align: center;
}
.contact-head h2 {
    color: var(--main-theme-color);
    font-size: 32px;
    font-weight: bold;
}
.contact-list {
    margin: 0 auto;
    width: 100%;
    max-width: 520px;
}
.contact-list__item:not(:last-child) {
    margin: 0 0 35px;
}
.contact-list__item dt {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0 0 15px;
}
.contact-list__item.required dt::after {
    background: #FD594D;
    border-radius: 50px;
    content: "必須";
    color: #fff;
    display: inline-block;
    font-size: 10px;
    font-weight: 400;
    margin-left: 10px;
    padding: 3px 12px;
    width: 100%;
    max-width: max-content;
}
.contact-list__item dt label,
.contact-list__item dt p {
    font-size: 16px;
    font-weight: bold;
}
.contact-list__item dd input,
.contact-list__item dd textarea {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background: #fff;
    border: 1px solid #B9C9C8;
    border-radius: 5px;
    display: block;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6em;
    outline: none;
    padding: 10px;
    width: 100%;
}
.contact-list__item dd input[type="radio"],
.contact-list__item dd input[type="checkbox"] {
    display: none;
}
.policy {
    background: #fff;
    border: 1px solid #B9C9C8;
    border-radius: 5px;
    overflow-y: auto;
    height: 150px;
    padding: 10px 15px;
}
.policy h3 {
    font-size: 14px;
    font-weight: bold;
    margin: 0 0 5px;
}
.policy p {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6em;
}
.submit-item {
    margin: 45px 0 0;
}
.submit-item .submit {
    background: #23418F;
    border: 0;
    border-radius: 5px;
    color: #fff;
    cursor: pointer;
    display: block;
    font-size: 24px;
    font-weight: bold;
    filter: drop-shadow(0 3px 6px rgba(0 0 0 / 16%));
    margin: 0 auto;
    padding: 20px 10px;
    text-align: center;
    width: 100%;
    max-width: 280px;
}
@media screen and (max-width: 968px) {
    .contact-head h2 {
        font-size: 26px;
    }
}
@media screen and (max-width: 768px) {
    .contact-head h2 {
        font-size: 23px;
    }
    .submit-item .submit {
        font-size: 21px;
    }
}

/* block head */
.block-head {
    margin: 0 0 35px;
    text-align: center;
}
.block-head h2 {
    color: var(--main-theme-color);
    font-size: 40px;
    font-weight: bold;
}
@media screen and (max-width: 968px) {
    .block-head h2 {
        font-size: 28px;
    }
}
@media screen and (max-width: 768px) {
    .block-head h2 {
        font-size: 23px;
    }
}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}


.wpcf7-list-item {
    display: block;
    margin: 0;
}
.wpcf7-list-item:not(:last-child) {
    margin: 0 0 10px;
}
.wpcf7-list-item-label {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    font-size: 14px;
    font-weight: bold;
    margin-right: 10px;
    padding-left: 28px;
    position: relative;
}
.wpcf7-list-item-label::before {
    border: 1px solid var(--main-theme-color);
    content: "";
    display: inline-block;
    height: 18px;
    margin-right: 10px;
    position: absolute;
    left: 0;
    top: 0;
    width: 18px;
}
input[type="radio"]~.wpcf7-list-item-label::before {
    border-radius: 50%;
}
input[type="checkbox"]:checked~.wpcf7-list-item-label::after,
input[type="radio"]:checked~.wpcf7-list-item-label::after {
    background: url(../images/check.svg) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: inline-block;
    height: 10px;
    margin: 0 auto;
    position: absolute;
    left: 3px;
    top: 5px;
    bottom: 0;
    width: 15px;
}
input[type="radio"]:checked~.wpcf7-list-item-label::after {
    background: var(--main-theme-color);
    border-radius: 50%;
    height: 12px;
    top: 4px;
    left: 4px;
    width: 12px;
}
.policy + p {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px 0 0;
    text-align: center;
}

.sp{
    display: none;
}
@media screen and (max-width:768px){
    .sp{
        display: block;
    }
}