main {
    font-family: "Noto Sans JP";
    color: #000;
}
#footer_contact {
    margin-top: 0;
}
.imgr {
    float: right;
}
.imgl {
    float: left;
}
.textc {
    text-align: center;
}
main .inner {
    margin: 0 auto;
    width: 86%;
    max-width: 1200px;
}

.top_area {
    position: relative;
    padding-top: 80px;
    color: #404040;
}
.top_area .t_text {
    font-weight: 700;
    position: absolute;
    top:15px;
    left: 55px;
    line-height: 1;
    font-size: clamp(3rem, 2.206rem + 3.73vw, 6.875rem);
}
.top_area .t_text span {
    display: block;
    font-size: clamp(1.25rem, 1.096rem + 0.72vw, 2rem);
    margin-top: 15px;
}
.top_area p {
  margin-bottom: 0;
  margin-top: 0;
  line-height: 0.5;
}

.messe {
    background: #f4efe9;
    color: #404040;
    padding: 50px 0 100px 0;
}
.messe p {
    font-size: 1.2em;
    line-height: 1.8;
  margin-bottom: 0;
  margin-top: 0;
}
.messe br {
    display: none;
}
.messe .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.messe .inner div {
    width: 46%;
}
.messe .inner div img {
    width: 100%;
    height: auto;
    max-width: 600px;
}
.fom .h2_title,
.messe .h2_title {
    font-weight: 700;
    font-size: clamp(1.5rem, 1.193rem + 1.45vw, 3rem);
    margin-bottom: 15px;
    line-height: 1.5;
    border-bottom: none;
    text-align: center;
}
.messe .h3_title {
    font-weight: 500;
    font-size: clamp(1.125rem, 1.023rem + 0.48vw, 1.625rem);
    margin-bottom: 80px;
    line-height: 1.5;
    border-bottom: none;
    text-align: center;
}

.splide-wrapper {
    margin-top: -1px;
}
.splide__list {
  height: auto;
}
.splide__slide img {
  width: 100%;
  height: auto;
}

.fom {
    background: #f4efe9;
    color: #404040;
    padding: 50px 0 100px 0;
}
.fom .form_area {
    display: flex;
    justify-content: space-between;
    margin-top: 55px;
}
.fom .form_area div {
    width: 56%;
}
.fom .form_area p {
    width: 30%;
}
.fom .form_area div:first-child {
    background: #fff;
    padding: 25px;
}
.fom .form_area ol {
    display: flex;
}
.fom .form_area ol li {
    margin-bottom: 10px;
    font-weight: 500;
    text-align: center;
    width: calc(100% / 3);
    font-size: 18px;
    padding: 0 5px;
}
.fom .form_area ol li img {
    display: block;
    width: 70%;
    height: auto;
    margin: 0 auto;
}
.fom h4 {
  margin-top: 0;
  margin-bottom: 35px;
  line-height: 1.2;
  padding: 0 0 12px 0;
  background: none;
  font-weight: 600;
  font-size: 24px;
  color: #ac2828;
  text-align: center;
  border-bottom: solid 1px #ac2828;
}
.fom h4:before {
    content: "";
    margin-right: 0;
}
.fom .ptc {
    text-align: center;
}
.btn_ap {
  margin: 35px 0;
  width: 80%;
  text-align: center;
    font-size: clamp(1.125rem, 1.023rem + 0.48vw, 1.625rem);
  font-weight: 500;
}
.btn_ap a {
  background: linear-gradient(to right,#f6b940 0,#f28c2e 100%);
  border: 1px solid #e8ab32;
  color: #fff;
  padding: 20px;
  border-radius: 24px;
  display: block;
}
.btn_ap a:hover {
    opacity: 0.85;
}

.toku {
    background: #f4efe9;
}
.toku .inner {
    padding: 50px;
    background: #fff;
}
.toku .h2_title {
    font-size: clamp(1.5rem, 1.193rem + 1.45vw, 3rem);
    font-weight: 700;
    margin-bottom: 15px;
    line-height: 1.5;
    border-bottom: none;
    text-align: center;
    color: #404040;
}
.toku .h3_title {
    font-size: clamp(1.125rem, 1.023rem + 0.48vw, 1.625rem);
    font-weight: 500;
    margin-bottom: 80px;
    line-height: 1.5;
    border-bottom: none;
    text-align: center;
    color: #404040;
}
.divwaku {
    margin: 55px 0 80px 0;
    display: flex;
    justify-content: space-between;
}
.divwaku > p {
    width: 40%;
}
.divwaku div {
    width: 54%;
}
.divwaku p  {
    font-size: 1.2em;
    line-height: 1.8;
    margin-bottom: 0;
    margin-top: 0;
}
.divwaku div p span {
    font-weight: 600;
    font-size: 1.1em;
}
.divwaku>p>img {
    width: 100%;
    height: auto;
}
.divwaku h4 {
  margin-top: 0;
  margin-bottom: 35px;
  line-height: 1.2;
  padding: 0 0 12px 0;
  background: none;
  font-weight: 700;
  font-size: 28px;
  color: #ac2828;
  font-size: clamp(1.5rem, 1.193rem + 1.45vw, 3rem);
  display: flex;
  align-items: center;
  border-bottom: dotted 2px #b80707;
}
.divwaku h4:before {
    content: "";
    margin-right: 0;
}
.divwaku h4 span {
    margin-right: 12px;
}
.divwaku h5 {
    font-weight: 500;
    font-size: clamp(1.125rem, 1.023rem + 0.48vw, 1.625rem);
    margin-bottom: 55px;
    line-height: 1.5;
    border-bottom: none;
    background: #eee;
    padding: 5px 10px;
}
.divwaku ul li {
    margin-top: 35px;
    font-size: 15px;
    color: #666;
}

@media only screen and (max-width : 900px) {
    .top_area .t_text {
        left: 25px;
        top:25px;
    }
    .messe .inner {
        flex-wrap: wrap;
        justify-content: center;
    }
    .messe .inner div {
        width: 100%;
        margin: 0 auto 35px auto;
    }
    .divwaku > p {
        width: 100%;
        max-width: 620px;
    }
    .messe .inner div:first-child p {
        text-align: center;
    }
    .messe .inner div:last-child p {
        text-align: left;
    }
    .divwaku {
        flex-wrap: wrap;
        justify-content: center;
    }
    .divwaku div {
        width: 100%;
    }
    .odr div {
        order: 1;
    }
    .odr > p {
        order: 2;
    }
    .divwaku > p > img {
        margin-top: 25px;
    }
}
@media only screen and (max-width : 860px) {
    main .inner {
        padding: 25px;
    }
    .divwaku h5 {
        margin-bottom: 25px;
    }
}
@media only screen and (max-width : 820px) {
    .top_area .t_text {
        top:-15px;
    }
}
@media only screen and (max-width : 769px) {
    .messe .h3_title,
    .messe .h2_title {
        width: 86%;
        margin: 0 auto 35px auto;
    }
    .messe .h3_title br,
    .messe .h2_title br {
        display: block;
    }
    .fom {
    padding: 0;
    }
    .fom .form_area {
        flex-wrap: wrap;
        justify-content: center;
        margin-top: 0;
    }
    .fom .form_area div,
    .fom .form_area p {
        width: 80%;
        margin: 35px auto;
    }
    .fom .form_area ol {
        flex-wrap: wrap;
    }
    .fom .form_area ol li {
        margin-bottom: 0;
        width: 47%;
        font-size: 16px;
    }
    .fom .form_area ol li img {
        width: 50%;
    }
    .toku .inner {
        padding: 25px;
    }
}
@media only screen and (max-width : 600px) {
    .top_area {
        padding-top: 118px;
    }
    .messe .h3_title,
    .messe .h2_title {
        text-align: left;
    }
    .messe .h3_title br,
    .messe .h2_title br {
        display: none;
    }
}
@media only screen and (max-width : 500px) {
    .fom .form_area ol li {
        display: flex;
        align-items: center;
        width: 100%;
        text-align: left;
    }
    .fom h4 {
        text-align: left;
    }
    .fom .ptc {
        text-align: left;
    }
    .fom .form_area ol li img {
        width: 130px;
        margin: 0 10px 0 0;
    }

}