@charset "UTF-8";

/* --------------------------------------------------------------
   共通
-------------------------------------------------------------- */
body {
    min-width: 11.6rem;
    color: #000;
    font-size: 0.18rem;
}

a {
    color: #000;
}

.wrapper {
    overflow: hidden;
}

.container {
    width: 12rem;
    margin: 0 auto;
}

.mod_btn01 a {
    display: block;
    border-radius: 100rem;
    color: #ffffff;
    background-color: #C9283E;
    position: relative;
}

.mod_btn01 a::before {
    content: "";
    position: absolute;
    background-size: 100%;
    background-repeat: no-repeat;
}

.mod_btn02 a {
    width: 6rem;
    padding: 0.15rem 0.35rem 0.2rem 1rem;
    display: block;
    text-align: center;
    border-radius: 100rem;
    color: #ffffff;
    background-color: #C9283E;
    position: relative;
}

.mod_btn02 a::before {
    content: "";
    width: 0.46rem;
    height: 0.46rem;
    top: calc(50% - 0.23rem);
    left: 0.75rem;
    position: absolute;
    background-size: 100%;
    background-repeat: no-repeat;
    background-image: url(../images/cmn/mail_logo.svg);
}

.mod_btn02 a span {
    display: block;
}

.mod_btn02 a .txt01 {
    margin-bottom: 0.1rem;
    font-size: 0.26rem;
    font-weight: 500;
}

.mod_btn02 a .txt02 {
    font-size: 0.34rem;
    font-weight: 700;
}

.cta {
    background-size: cover;
    background-image: url(../images/cta/bg.jpg);
}

.cta .tit {
    text-align: center;
    font-size: 0.44rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.59;
    color: #ffffff;
}

.cta .lists {
    width: 6.5rem;
    margin: 0.6rem auto 0.46rem;
}

.cta .lists li {
    padding: 0.15rem 0 0.15rem 0.82rem;
    font-size: 0.2rem;
    letter-spacing: 0.05em;
    font-weight: 500;
    color: #00C4CC;
    background-color: #ffffff;
    position: relative;
}

.cta .lists li::before {
    content: "";
    width: 0.22rem;
    height: 0.21rem;
    top: calc(50% - 0.1rem);
    left: 0.4rem;
    position: absolute;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url(../images/cta/check.svg);
}

.cta .lists li:not(:last-of-type) {
    margin-bottom: 0.18rem;
}

.cta .notes {
    text-align: center;
    font-size: 0.24rem;
    letter-spacing: 0.05em;
    color: #ffffff;
}

.cta_s {
    padding: 0.8rem 0 0.7rem;
}

.cta_s .lists {
    margin: 0.6rem auto 0.45rem;
}

.cta_s .mod_btn02 {
    display: table;
    margin: 0.53rem auto 0;
}

.cta_l {
    padding: 0.4rem 0 0.35rem;
}

.cta_l .lists {
    margin: 0.3rem auto 0.3rem;
}

.cta_l .notes02 {
    margin-top: 0.28rem;
}

.cta_l .mod_btn02 {
    display: table;
    margin: 0.2rem auto 0;
}

.cta_l .mail_btn a {
    padding-left: 1.65rem;
    text-align: left;
}

.cta_l .mail_btn a::before {
    width: 0.51rem;
    height: 0.51rem;
    top: calc(50% - 0.25rem);
    left: 0.5rem;
    background-image: url(../images/cmn/tel_logo.svg);
}

.cta_l .mail_btn .num {
    margin-bottom: 0.1rem;
    font-size: 0.46rem;
    font-weight: 700;
}

.cta_l .mail_btn .txt {
    font-size: 0.2rem;
    font-weight: 500;
}

.cmn_header {
    position: relative;
    z-index: 10;
}

.cmn_header .wrap {
    height: 1.2rem;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.cmn_header .logo {
    padding-bottom: 0.1rem;
}

.cmn_header .logo img {
    width: 2.08rem;
}

.cmn_header .btn {
    margin-right: -1.3rem;
}

.cmn_header .btn a img {
    width: 3.715rem;
}

.cmn_footer {
    padding: 0.35rem 0 1.8rem;
    background-color: #C1C1C1;
}

.cmn_footer small {
    text-align: center;
    display: block;
    font-size: 0.14rem;
    letter-spacing: 0.05em;
    color: #ffffff;
}

.fixed_btn {
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transform: translateY(1.72rem);
    transition: 0.4s;
    position: fixed;
    z-index: 10;
    bottom: 0;
    left: 0;
    background-color: #CFF0F1;
}

.fixed_btn .wrap {
    display: flex;
    justify-content: space-between;
}

.fixed_btn .anchor_lists {
    width: 9rem;
    padding: 0.14rem 0.24rem 0.14rem 0.3rem;
    display: flex;
    justify-content: space-between;
}

.fixed_btn .anchor_lists li a {
    width: 2.7rem;
    height: 1.14rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0.1rem;
    background-color: #ffffff;
    border: 0.04rem solid #00C4CC;
}

.fixed_btn .anchor_lists li .txt {
    font-size: 0.2rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.fixed_btn .anchor_lists li:nth-of-type(1) .img {
    margin-left: 0.07rem;
}

.fixed_btn .anchor_lists li:nth-of-type(1) .img img {
    width: 0.93rem;
}

.fixed_btn .anchor_lists li:nth-of-type(2) .img {
    margin-left: 0.35rem;
}

.fixed_btn .anchor_lists li:nth-of-type(2) .img img {
    width: 0.93rem;
}

.fixed_btn .anchor_lists li:nth-of-type(3) .img {
    margin-left: 0.3rem;
}

.fixed_btn .anchor_lists li:nth-of-type(3) .img img {
    width: 0.81rem;
}

.fixed_btn .btn a {
    width: 3rem;
    height: 100%;
    padding-top: 0.6rem;
    text-align: center;
    font-size: 0.22rem;
    display: block;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #ffffff;
    background-color: #C9283E;
}

.fixed_btn.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    position: fixed;
    bottom: 0;
}

.mv {
    padding: 2.27rem 0 0.95rem;
    margin-top: -1.2rem;
    color: #ffffff;
    position: relative;
    background-size: cover;
    background-image: url(../images/mv/bg.jpg);
}

.mv::after {
    content: "";
    width: 8.13rem;
    height: 2.18rem;
    position: absolute;
    bottom: -0.14rem;
    right: -0.14rem;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url(../images/mv/img02.png);
}

.mv .container {
    position: relative;
}

.mv .container::before {
    content: "";
    width: 4.03rem;
    height: 2.68rem;
    top: 1.1rem;
    right: -0.95rem;
    position: absolute;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url(../images/mv/img01.png);
}

.mv .desc01 {
    font-size: 0.26rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.mv .tit {
    margin: 0.25rem 0 0.12rem;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.66;
}

.mv .desc02 {
    font-size: 0.22rem;
    letter-spacing: 0.05em;
    line-height: 1.81;
}

.mv .mod_btn02 {
    margin-top: 0.7rem;
    position: relative;
    z-index: 10;
}

.mv .medal01 {
    display: block;
    position: absolute;
    right: -1.5rem;
    top: -0.82rem;
    width: 2.6rem;
}

.mv .medal01:hover {
    opacity: 1;
    transform: scale(0.9);
}

.slider_sec {
    padding: 1.1rem 0 0.9rem;
    background-color: #F4F8F9;
}

.slider_sec .swiper-wrapper {
    align-items: center;
    transition-timing-function: linear;
}

.sec01 {
    padding: 0.95rem 0 0.8rem;
    text-align: center;
    position: relative;
}

.sec01::before,
.sec01::after {
    content: "";
    position: absolute;
    background-repeat: no-repeat;
    background-size: 100%;
}

.sec01::before {
    width: 2.815rem;
    height: 4.52rem;
    top: 0;
    right: -0.1rem;
    background-image: url(../images/sec01/add01.png);
}

.sec01::after {
    width: 3.18rem;
    height: 4.52rem;
    bottom: -0.05rem;
    left: -1rem;
    background-image: url(../images/sec01/add02.png);
}

.sec01 .tit {
    margin-bottom: 0.36rem;
    font-size: 0.4rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
    font-weight: 700;
}

.sec01 .tit .strong {
    color: #00C4CC;
}

.sec01 .content {
    padding: 0.53rem 0.6rem 0.6rem;
    background-size: 10.04rem 5.5rem;
    background-repeat: no-repeat;
    background-position-x: 1rem;
    background-image: url(../images/sec01/bg.png);
    position: relative;
}

.sec01 .content::before,
.sec01 .content::after {
    content: "";
    position: absolute;
    z-index: 1;
    background-repeat: no-repeat;
    background-size: 100%;
}

.sec01 .content::before {
    width: 1.78rem;
    height: 5.59rem;
    top: 0.13rem;
    left: -0.6rem;
    background-image: url(../images/sec01/img.png);
}

.sec01 .content::after {
    width: 2.21rem;
    height: 2.18rem;
    top: 3.7rem;
    right: -0.5rem;
    background-image: url(../images/sec01/add03.png);
}

.sec01 .content .wrap {
    width: 8.06rem;
    margin-left: 1.6rem;
}

.sec01 .content .c_tit {
    font-size: 0.28rem;
    font-weight: 700;
    line-height: 1.42;
    letter-spacing: 0.05em;
}

.sec01 .content .c_tit .marker {
    background: linear-gradient(transparent 40%, rgba(255, 251, 196, 0.63));
}

.sec01 .content .txt {
    margin: 0.37rem 0 0.45rem;
    font-size: 0.2rem;
}

.sec01 .content .desc {
    text-align: left;
    line-height: 2;
    letter-spacing: 0.05em;
}

.sec01 .content .desc:not(:last-of-type) {
    margin-bottom: 0.34rem;
}

.sec02 .tit {
    font-size: 0.4rem;
    text-align: center;
    line-height: 1.5;
    letter-spacing: 0.1em;
    font-weight: 700;
}

.sec02 .before {
    padding: 1.1rem 0 1.8rem;
    background-color: rgba(244, 248, 249, 0.8);
    position: relative;
}

.sec02 .before::after {
    content: "";
    width: 0.4rem;
    height: 0.54rem;
    bottom: -0.4rem;
    left: calc(50% - 0.2rem);
    position: absolute;
    z-index: 1;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url(../images/sec02/arrow.svg);
}

.sec02 .before .tit {
    margin-bottom: 0.67rem;
}

.sec02 .before .wrap {
    display: flex;
    justify-content: space-between;
}

.sec02 .before .lists {
    padding-top: 0.17rem;
}

.sec02 .before .lists li {
    padding-left: 0.67rem;
    font-size: 0.24rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    position: relative;
}

.sec02 .before .lists li::before {
    content: "";
    width: 0.42rem;
    height: 0.38rem;
    top: calc(50% - 0.175rem);
    left: 0.05rem;
    position: absolute;
    z-index: 1;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url(../images/sec02/check.svg);
}

.sec02 .before .lists li:not(:last-of-type) {
    margin-bottom: 0.41rem;
}

.sec02 .before .lists li .strong {
    color: #00C4CC;
}

.sec02 .before .pic {
    margin-right: 1rem;
    position: relative;
}

.sec02 .before .pic::before {
    content: "";
    width: 1.865rem;
    height: 2.525rem;
    top: 1.33rem;
    right: -0.9rem;
    position: absolute;
    z-index: 1;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url(../images/sec02/img.png);
}

.sec02 .before .pic img {
    width: 4.55rem;
}

.sec02 .after {
    padding: 1.2rem 0 1.15rem;
}

.sec02 .after .tit {
    margin-bottom: 0.6rem;
}

.sec02 .after .txt {
    margin-bottom: 0.6rem;
    text-align: center;
    font-size: 0.2rem;
    line-height: 1.6;
    letter-spacing: 0.05em;
}

.sec02 .after .lists {
    display: flex;
    justify-content: center;
}

.sec02 .after .lists li {
    width: 3rem;
}

.sec02 .after .lists li:nth-of-type(2) {
    margin: 0 0.4rem;
}

.sec02 .after .lists .img {
    margin-bottom: 0.3rem;
}

.sec02 .after .lists .img img {
    width: 3rem;
}

.sec02 .after .lists .desc {
    text-align: center;
    font-size: 0.24rem;
    letter-spacing: 0.05em;
    line-height: 1.58;
}

.sec02 .after .lists .desc .strong {
    font-weight: 700;
}

.sec03 .tit {
    padding: 1.24rem 0 0;
    text-align: center;
    font-size: 0.28rem;
    letter-spacing: 0.05em;
    color: #00C4CC;
    background-color: #F4F8F9;
}

.sec03 .tit .strong {
    margin-top: 0.45rem;
    display: block;
    font-size: 0.5rem;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: #000000;
}

.sec03 .point .p_tit img {
    width: 100%;
}

.sec03 .point .c_tit {
    text-align: center;
    font-size: 0.24rem;
    letter-spacing: 0.05em;
}

.sec03 .point .c_tit .strong {
    margin-top: 0.25rem;
    display: block;
    font-size: 0.4rem;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: #00C4CC;
}

.sec03 .point .mod_wrap {
    display: flex;
    justify-content: space-between;
}

.sec03 .point .mod_wrap .l_sec {
    width: 5.55rem;
}

.sec03 .point .mod_wrap .l_sec .img {
    text-align: center;
}

.sec03 .point .mod_wrap .l_sec .img img {
    width: 5.1rem;
}

.sec03 .point .mod_wrap .l_sec .lists {
    margin-top: 0.3rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.sec03 .point .mod_wrap .l_sec .lists li {
    width: 1.78rem;
    min-height: 0.78rem;
    padding: 0.1rem 0 0.1rem;
    text-align: center;
    letter-spacing: 0.05em;
    line-height: 1.55;
    border-radius: 0.1rem;
    background-color: #D9EEEF;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sec03 .point .mod_wrap .txt {
    width: 6rem;
    font-size: 0.2rem;
    letter-spacing: 0.05em;
    line-height: 2;
}

.sec03 .point .mod_wrap .txt p:not(:last-of-type) {
    margin-bottom: 0.4rem;
}

.sec03 .point01 {
    padding: 0.55rem 0 1.45rem;
    background-color: #F4F8F9;
}

.sec03 .point01 .p_tit {
    margin-bottom: 0.9rem;
}

.sec03 .point01 .u_tit_wrap {
    text-align: center;
}

.sec03 .point01 .u_tit {
    margin-bottom: 0.65rem;
    padding: 0 0.2rem;
    font-size: 0.4rem;
    display: inline-block;
    letter-spacing: 0.05em;
    font-weight: 700;
    background-color: #F4F8F9;
    position: relative;
}

.sec03 .point01 .u_tit::before,
.sec03 .point01 .u_tit::after {
    content: "";
    width: 1.25rem;
    height: 0.02rem;
    position: absolute;
    top: 50%;
    background-color: #000000;
}

.sec03 .point01 .u_tit::before {
    left: -1.25rem;
}

.sec03 .point01 .u_tit::after {
    right: -1.25rem;
}

.sec03 .point01 .mod_wrap03 {
    margin-top: 1.25rem;
}

.sec03 .point01 .c_tit {
    margin-bottom: 0.6rem;
}

.sec03 .point01 .c_tit03 {
    margin-top: 1.25rem;
}

.sec03 .point01 .img .bg_w {
    background-color: #ffffff;
}

.sec03 .point01 .img img {
    width: 5.1rem;
}

.sec03 .point01 .txt01 {
    padding-top: 0.35rem;
}

.sec03 .point01 .txt02 {
    padding-top: 0.4rem;
}

.sec03 .point01 .u_box {
    width: 10rem;
    margin: 1.25rem auto 1.5rem;
    border: 0.02rem solid #91C56A;
    border-radius: 0.2rem;
}

.sec03 .point01 .u_box .u_box_tit {
    padding: 0.4rem 0 0.2rem;
    margin-top: -0.02rem;
    text-align: center;
    font-size: 0.28rem;
    letter-spacing: 0.05em;
    font-weight: 700;
    color: #ffffff;
    background-color: #91C56A;
    border-radius: 0.14rem 0.14rem 0 0;
    position: relative;
}

.sec03 .point01 .u_box .u_box_tit::before {
    content: "";
    width: 1.33rem;
    height: 0.56rem;
    top: -0.3rem;
    left: calc(50% - 0.665rem);
    position: absolute;
    z-index: 1;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url(../images/sec03/pickup.svg);
}

.sec03 .point01 .u_box .u_box_desc {
    padding: 0.25rem 0.35rem 0.35rem;
    line-height: 1.77;
    letter-spacing: 0.05em;
    background-color: #ffffff;
    border-radius: 0.2rem;
}

.sec03 .point02 {
    padding: 1.2rem 0 1.5rem;
}

.sec03 .point02 .p_tit {
    margin-bottom: 0.85rem;
}

.sec03 .point02 .c_tit {
    margin-bottom: 0.55rem;
}

.sec03 .point02 .txt {
    padding-top: 0.4rem;
}

.sec03 .point03 {
    padding: 0.9rem 0 1.1rem;
    background-color: #F4F8F9;
}

.sec03 .point03 .p_tit {
    margin-bottom: 0.85rem;
}

.sec03 .point03 .c_tit {
    margin-bottom: 0.55rem;
}

.sec03 .after {
    padding: 0.94rem 0 1.18rem;
}

.sec03 .after .after_tit {
    margin-bottom: 0.55rem;
    text-align: center;
    font-size: 0.4rem;
    letter-spacing: 0.05em;
    line-height: 1.75;
    font-weight: 700;
}

.sec03 .after .lists {
    display: flex;
    justify-content: center;
}

.sec03 .after .lists li img {
    width: 2.51rem;
}

.sec03 .after .lists li:nth-of-type(2) {
    margin: 0 0.6rem;
}

.sec04 {
    padding: 1.15rem 0 1.4rem;
}

.sec04 .tit {
    margin-bottom: 0.65rem;
    text-align: center;
    font-size: 0.4rem;
    line-height: 1.9;
    letter-spacing: 0.1em;
    font-weight: 700;
}

.sec04 .tit .strong {
    color: #00C4CC;
}

.sec04 .c_wrap {
    position: relative;
}

.sec04 .c_wrap::before {
    content: "";
    width: 100%;
    height: 3.8rem;
    top: calc(50% - 2rem);
    left: 0;
    position: absolute;
    z-index: -1;
    background-repeat: no-repeat;
    background-size: 100%;
}

.sec04 .c_wrap:not(:last-of-type) {
    margin-bottom: 1.5rem;
}

.sec04 .c_wrap:nth-of-type(1)::before {
    background-image: url(../images/sec04/c01_bg.jpg);
}

.sec04 .c_wrap:nth-of-type(2)::before {
    background-image: url(../images/sec04/c02_bg.jpg);
}

.sec04 .c_wrap:nth-of-type(3)::before {
    background-image: url(../images/sec04/c03_bg.jpg);
}

.sec04 .conts {
    min-height: 3.12rem;
    padding: 0.53rem 0.55rem 0.35rem 3.3rem;
    border-radius: 0.2rem;
    position: relative;
    box-shadow: 0.1rem 0.1rem 0.2rem rgba(78, 78, 78, 0.28);
}

.sec04 .conts .img {
    text-align: center;
    position: absolute;
    top: 0;
    left: 0.75rem;
}

.sec04 .conts .img img {
    width: 2rem;
}

.sec04 .conts .img .name {
    margin-top: 0.2rem;
    display: block;
    font-size: 0.2rem;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.sec04 .conts .lists dt,
.sec04 .conts .lists dd {
    letter-spacing: 0.05em;
}

.sec04 .conts .lists dt {
    margin-bottom: 0.3rem;
    font-size: 0.24rem;
    line-height: 1.41;
    font-weight: 700;
}

.sec04 .conts .lists dd {
    line-height: 1.77;
}

.sec04 .before {
    margin-bottom: 0.4rem;
    color: #ffffff;
    background-color: #00C4CC;
}

.sec04 .before .img {
    top: 0.38rem;
}

.sec04 .after {
    color: #000000;
    background-size: 100% 100%;
    background-color: #ffffff;
    background-repeat: no-repeat;
    background-image: url(../images/sec04/after_bg.png);
}

.sec04 .after .img {
    top: 0.47rem;
}

.sec04 .after03 {
    padding: 0.53rem 0 0.35rem 3.3rem;
}

.sec04 .after03 .lists dd {
    padding-right: 0.55rem;
}

.sec05 {
    padding: 0.9rem 0 0.43rem;
    text-align: center;
    background-color: #F4F8F9;
}

.sec05 .tit {
    margin-bottom: 0.7rem;
    font-size: 0.28rem;
    letter-spacing: 0.15em;
    color: #00C4CC;
}

.sec05 .tit .strong {
    margin-top: 0.25rem;
    display: block;
    font-size: 0.4rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.5;
    color: #000000;
}

.sec05 .img img {
    width: 11rem;
}

.sec06 {
    padding: 1.3rem 0 1.2rem;
}

.sec06 .tit {
    text-align: center;
    margin-bottom: 0.8rem;
    font-size: 0.28rem;
    letter-spacing: 0.15em;
    color: #00C4CC;
}

.sec06 .tit .strong {
    margin-top: 0.4rem;
    display: block;
    font-size: 0.4rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.5;
    color: #000000;
}

.sec06 .lists {
    display: flex;
    justify-content: space-between;
}

.sec06 .lists li {
    width: 2.59rem;
    text-align: center;
    border: 0.02rem solid #00C4CC;
}

.sec06 .lists .img {
    min-height: 2.7rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sec06 .lists .img img {
    width: 2.04rem;
}

.sec06 .lists .txt {
    padding: 0.13rem 0 0.13rem;
    font-size: 0.2rem;
    line-height: 1.5;
    font-weight: 500;
    color: #ffffff;
    background-color: #00C4CC;
}

.sec07 {
    padding: 0.75rem 0 0.6rem;
    background-color: #F4F8F9;
}

.sec07 .tit {
    text-align: center;
    font-size: 0.4rem;
    letter-spacing: 0.05em;
    line-height: 1.75;
    font-weight: 700;
}

.sec07 .tit .strong {
    color: #00C4CC;
}

.sec07 .txt {
    margin: 0.34rem 0 0.55rem;
    text-align: center;
    font-size: 0.2rem;
    line-height: 1.9;
    letter-spacing: 0.05em;
}

.sec07 .lists {
    display: flex;
    justify-content: space-between;
}

.sec07 .lists li {
    width: 3.3rem;
}

.sec07 .lists .pic {
    margin-bottom: 0.27rem;
}

.sec07 .lists .pic img {
    width: 3.3rem;
    border-radius: 0.2rem;
}

.sec07 .lists .list_txt {
    padding: 0 0.25rem 0.2rem;
    min-height: 3.5rem;
    border-radius: 0.2rem;
    background-color: #ffffff;
}

.sec07 .lists .list_txt .list_tit {
    min-height: 0.85rem;
    text-align: center;
    font-size: 0.16rem;
    font-weight: 500;
    line-height: 1.56;
    color: #C9283E;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sec07 .lists .list_txt .name_lists {
    margin-bottom: 0.25rem;
    display: flex;
    align-items: flex-end;
}

.sec07 .lists .list_txt .name_lists dt {
    margin-right: 0.25rem;
    font-size: 0.24rem;
    font-weight: 500;
}

.sec07 .lists .list_txt .name_lists dd {
    color: #C1C1C1;
}

.sec07 .lists .list_txt .desc {
    line-height: 1.77;
}

.sec08 {
    padding: 1.35rem 0 1.75rem;
    text-align: center;
    background-size: cover;
    background-image: url(../images/sec08/bg.jpg);
}

.sec08 .tit {
    margin-bottom: 0.57rem;
    font-size: 0.4rem;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.sec08 .txt {
    margin-bottom: 0.65rem;
    text-align: center;
    font-size: 0.2rem;
    letter-spacing: 0.05em;
    line-height: 1.9;
}

.sec08 .img {
    text-align: center;
}

.sec08 .img img {
    width: 10rem;
}

.faq {
    padding: 1.5rem 0 0;
}

.faq .tit {
    margin-bottom: 1rem;
    text-align: center;
    font-size: 0.4rem;
    letter-spacing: 0.05em;
    font-weight: 700;
}

.faq .ac {
    width: 100%;
    margin: 0 auto;
}

.faq .ac_parent {
    padding: 0.31rem 0 0.25rem 0.4rem;
    position: relative;
    font-size: 0.24rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.58;
    cursor: pointer;
    color: #ffffff;
    border-radius: 0.2rem 0.2rem 0 0;
    background-color: #00C4CC;
}

.faq .ac_parent::before,
.faq .ac_parent::after {
    content: "";
    position: absolute;
    z-index: 5;
    top: 50%;
    transform: translateY(-50%);
    background-color: #ffffff;
}

.faq .ac_parent::before {
    top: 50%;
    right: 0.4rem;
    width: 0.22rem;
    height: 0.03rem;
}

.faq .ac_parent::after {
    right: 0.49rem;
    transition: transform 0.4s, opacity 0.4s;
    width: 0.03rem;
    height: 0.22rem;
}

.faq .ac_parent:not(:first-of-type) {
    margin-top: 0.4rem;
}

.faq .ac_child {
    display: none;
    padding: 0.25rem 0.35rem 0.3rem;
    letter-spacing: 0.05em;
    line-height: 1.77;
    border-right: 1px solid #C8C8C8;
    border-bottom: 1px solid #C8C8C8;
    border-left: 1px solid #C8C8C8;
    border-radius: 0 0 0.2rem 0.2rem;
}

.faq .ac_parent.open::after {
    top: 50%;
    transform: rotate(90deg);
    opacity: 0;
}

.company {
    padding: 1.5rem 0 0.9rem;
}

.company .tit {
    text-align: center;
    margin-bottom: 0.6rem;
    font-size: 0.4rem;
    letter-spacing: 0.1em;
    font-weight: 700;
}

.company .bg {
    width: 8.65rem;
    margin: 0 auto;
    padding: 0.5rem 0 0.75rem;
    background-color: #F2F2F2;
    border-radius: 0.2rem;
}

.company .logo {
    text-align: center;
    margin-bottom: 0.5rem;
}

.company .logo img {
    width: 1.77rem;
}

.company .lists {
    padding-left: 1.65rem;
    display: flex;
    flex-wrap: wrap;
}

.company .lists dt:not(:last-of-type),
.company .lists dd:not(:last-of-type) {
    margin-bottom: 0.31rem;
}

.company .lists dt {
    width: 1.4rem;
}

.company .lists dd {
    width: calc(100% - 1.4rem);
}

.company .lists dd span {
    display: inline-block;
    margin-bottom: 0.3rem;
}

.campaign01 {
    background: url(../images/campaign01/bg01.png) no-repeat center top;
    background-size: cover;
    padding: 0.65rem 0;
}

.campaign01 .head_catch {
    display: flex;
    justify-content: center;
    text-align: center;
    color: #FF5700;
    font-weight: 900;
    font-size: 0.24rem;
}

.campaign01 .head_catch>li {
    background: #fff;
    border: solid 2px #FF5700;
    border-radius: 100px;
    width: 2.55rem;
    margin: 0 0.06rem;
    padding: 0.05rem 0 0.1rem;
}

.campaign01 .head_catch b {
    font-size: 133.3333333333%;
}

.campaign01 .tit01 {
    margin-top: 0.35rem;
    text-align: center;
    color: #FF5700;
    font-size: 0.5rem;
    font-weight: 700;
}

.campaign01 .period {
    background: #FEDF99;
    border-radius: 0.1rem;
    width: 6.88rem;
    margin: 0.46rem auto 0;
    padding: 0.16rem 0.3rem;
}

.campaign01 .period .tbl01 {
    display: flex;
    justify-content: center;
    font-size: 0.25rem;
    font-weight: 700;
}

.campaign01 .period .tbl01 th,
.campaign01 .period .tbl01 td {
    padding: 0.5em 0;
}

.campaign01 .period .tbl01 th {
    white-space: nowrap;
}

.campaign01 .period .notes {
    margin-top: 0.1rem;
    font-size: 0.18rem;
    line-height: 1.5555555556;
    letter-spacing: 0.1em;
}

.campaign01 .txt01 {
    text-align: center;
    margin: 0.3rem 0 0;
    font-size: 0.24rem;
    line-height: 2;
}

.campaign01 .img01 {
    display: block;
    width: 10.2rem;
    margin: 0.5rem auto 0;
}

.campaign01 .target {
    background: #fff;
    border-radius: 0.3rem;
    box-shadow: 0.03rem 0 0.06rem rgba(0, 0, 0, 0.16);
    width: 9rem;
    margin: 0.35rem auto 0;
    padding: 0.6rem 0.6rem 0.65rem;
}

.campaign01 .target .tit02 {
    text-align: center;
    color: #FF5700;
    font-size: 0.28rem;
    font-weight: 700;
}

.campaign01 .target .list01 {
    margin: 0.5rem 0 0;
    line-height: 1.6;
}

.campaign01 .target .list01>li {
    position: relative;
    padding: 0 0 0 2em;
    font-size: 0.26rem;
    font-weight: 500;
}

.campaign01 .target .list01>li::before {
    content: "";
    display: block;
    background: url(../images/campaign01/list01_ico01.png) no-repeat center center;
    background-size: 100% auto;
    width: 0.22rem;
    height: 1em;
    position: absolute;
    left: 0;
    top: 0.4em;
}

.campaign01 .target .list01>li:nth-of-type(n+2) {
    margin-top: 1em;
}

/* コンタクトページ ------------------------------------- */
.contact_page .cmn_footer,
.thanks_page .cmn_footer {
    padding: 0.35rem 0 0.35rem;
}

.contact_f_sec {
    padding: 2.3rem 0 1.35rem;
    text-align: center;
}

.contact_f_sec .logo {
    margin-bottom: 1.25rem;
}

.contact_f_sec .logo img {
    width: 2.27rem;
}

.contact_f_sec .txt {
    font-size: 0.24rem;
    letter-spacing: 0.1em;
    line-height: 1.66;
}

.contact_sec {
    width: 13.6rem;
    padding: 1.03rem 2.1rem 1.9rem;
    margin: 0 auto 1.55rem;
    background-color: #00C4CC;
}

.contact_sec .tit {
    margin-bottom: 0.7rem;
    text-align: center;
    font-size: 0.4rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #ffffff;
}

.contact_sec .lists input,
.contact_sec .lists select {
    width: 100%;
    height: 0.8rem;
}

.contact_sec .lists textarea {
    padding-top: 0.1rem;
    width: 100%;
    min-height: 1.8rem;
}

.contact_sec .lists input,
.contact_sec .lists select,
.contact_sec .lists textarea {
    padding-left: 0.25rem;
    font-size: 0.22rem;
    border: none;
}

.contact_sec .lists input::-moz-placeholder,
.contact_sec .lists select::-moz-placeholder,
.contact_sec .lists textarea::-moz-placeholder {
    font-size: 0.24rem;
    color: #ACACAC;
}

.contact_sec .lists input::placeholder,
.contact_sec .lists select::placeholder,
.contact_sec .lists textarea::placeholder {
    font-size: 0.24rem;
    color: #ACACAC;
}

.contact_sec .lists dt {
    margin-bottom: 0.13rem;
    font-size: 0.27rem;
    font-weight: 700;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #ffffff;
}

.contact_sec .lists dt .req {
    margin-left: 0.15rem;
    font-size: 0.2rem;
    font-weight: 400;
    color: #FF0000;
}

.contact_sec .lists dd:not(:last-of-type) {
    margin-bottom: 0.6rem;
}

.contact_sec .lists dd .txt {
    height: 1.75rem;
    padding: 0.25rem 0.3rem 0.35rem;
    overflow-y: scroll;
    background-color: #ffffff;
}

.contact_sec .lists dd .txt p {
    font-size: 0.2rem;
    line-height: 1.5;
    color: #666;
}

.contact_sec .lists dd .txt p:not(:last-of-type) {
    margin-bottom: 0.45rem;
}

.contact_sec .privacy {
    margin: 0.65rem 0 0.45rem;
    text-align: center;
}

.contact_sec .privacy .check_txt {
    font-size: 0.17rem;
    color: #ffffff;
}

.contact_sec .privacy .check_txt .strong {
    color: #ffffff;
    border-bottom: 1px solid #ffffff;
}

.contact_sec label {
    position: relative;
}

.contact_sec input[type=checkbox] {
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
}

.contact_sec input[type=checkbox]+span {
    display: none;
    cursor: pointer;
    display: inline-block;
    position: relative;
    padding-left: 0.25rem;
    padding-right: 0.1rem;
}

.contact_sec input[type=checkbox]+span::before {
    content: "";
    width: 0.28rem;
    height: 0.28rem;
    display: block;
    position: absolute;
    top: calc(50% - 0.11rem);
    left: -0.2rem;
    box-sizing: border-box;
    border-radius: 0.05rem;
    background-color: #ffffff;
}

.contact_sec input[type=checkbox]:checked+span::after {
    content: "";
    width: 0.225rem;
    height: 0.245rem;
    position: absolute;
    display: block;
    box-sizing: border-box;
    top: -0.06rem;
    left: -0.16rem;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url(../images/contact/check.png);
}

.contact_sec input[type=radio] {
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
}

.contact_sec input[type=radio]+span {
    display: none;
    cursor: pointer;
    display: inline-block;
    position: relative;
    padding-left: 0.25rem;
    padding-right: 0.1rem;
}

.contact_sec input[type=radio]+span::before {
    content: "";
    width: 0.28rem;
    height: 0.28rem;
    display: block;
    position: absolute;
    top: calc(50% - 0.12rem);
    left: -0.2rem;
    box-sizing: border-box;
    border-radius: 50%;
    border: 0.03rem solid #9D9D9D;
    background-color: #ffffff;
}

.contact_sec input[type=radio]:checked+span::after {
    content: "";
    width: 0.28rem;
    height: 0.28rem;
    position: absolute;
    display: block;
    box-sizing: border-box;
    top: calc(50% - 0.12rem);
    left: -0.2rem;
    transform: scale(0.6);
    border-radius: 50%;
    background-repeat: no-repeat;
    background-size: 100%;
    background: #9D9D9D;
}

.contact_sec .form_btn {
    text-align: center;
}

.contact_sec .form_btn button {
    width: 5.45rem;
    line-height: 0.78rem;
    font-size: 0.27rem;
    font-weight: 700;
    text-align: center;
    border: none;
    border-radius: 10rem;
    color: #ffffff;
    background-color: #C9283E;
    position: relative;
}

.contact_sec .form_btn button::after {
    content: "";
    width: 0.13rem;
    height: 0.21rem;
    top: calc(50% - 0.105rem);
    right: 0.4rem;
    position: absolute;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url(../images/contact/arrow.png);
}

.contact_sec .detailcheck {
    background: #fff;
    margin: 0.4rem 0 0;
    padding: 0.45rem;
    font-size: 0.24rem;
}

.contact_sec .detailcheck input[type=checkbox]+span::before {
    border: 2px solid #9D9D9D;
}

.contact_sec .detailcheck .checklist_group:nth-child(n+2) {
    margin-top: 0.5rem;
}

.contact_sec .detailcheck .checklist_group legend {
    font-size: 0.26rem;
}

.contact_sec .detailcheck .checklist_group legend+.checklist {
    margin-top: 1.4em;
}

.contact_sec .detailcheck .checklist_group legend .notes {
    font-size: 80%;
    margin-left: 1em;
}

.contact_sec .detailcheck .checklist {
    margin: 0 0 0 0.2rem;
}

.contact_sec .detailcheck .checklist>li:nth-of-type(n+2) {
    margin-top: 1em;
}

.contact_sec .detailcheck .radio {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-left: 0.5rem;
}

.contact_sec .detailcheck .radio>li:nth-of-type(n+2) {
    margin-top: 0;
}

/* //コンタクトページ ----------------------------------- */
/* サンクスページ --------------------------------------- */
.thanks_sec {
    padding: 2.3rem 0 1.55rem;
    text-align: center;
}

.thanks_sec .logo img {
    width: 2.27rem;
}

.thanks_sec .img {
    margin: 1rem 0 0.7rem;
}

.thanks_sec .img img {
    width: 1.73rem;
}

.thanks_sec .txt01 {
    font-size: 0.24rem;
    line-height: 1.66;
    letter-spacing: 0.1em;
}

.thanks_sec .txt02 {
    width: 8.05rem;
    margin: 0.41rem auto 0.57rem;
    padding: 0.35rem 0 0.35rem;
    font-size: 0.26rem;
    line-height: 1.69;
    letter-spacing: 0.1em;
    border: 0.05rem solid #00C4CC;
    background-color: #F8FFFF;
}

.thanks_sec .txt02 .strong {
    font-weight: 700;
    color: #00C4CC;
}

.thanks_sec .txt03 {
    font-size: 0.23rem;
    line-height: 1.73;
}

.thanks_sec .txt03 .tel {
    width: 5.55rem;
    padding: 0.05rem 0 0.05rem;
    margin: 0.25rem auto 0.1rem;
    display: block;
    font-size: 0.25rem;
    border: 0.02rem solid #464646;
}

.thanks_sec .txt03 .tel .txt {
    margin-right: 0.3rem;
    position: relative;
}

.thanks_sec .txt03 .tel .txt::after {
    content: ":";
    position: absolute;
    top: -0.07rem;
    right: -0.3rem;
}

.thanks_sec .txt03 .tel .num {
    font-size: 0.3rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.thanks_sec .txt03 .strong {
    font-weight: 500;
}

.thanks_sec .btn {
    display: table;
    margin: 0.9rem auto 0;
}

.thanks_sec .btn a {
    width: 5.44rem;
    line-height: 0.78rem;
    display: block;
    font-size: 0.27rem;
    font-weight: 700;
    text-align: center;
    border-radius: 10rem;
    color: #ffffff;
    background-color: #C9283E;
    position: relative;
}

.thanks_sec .btn a::after {
    content: "";
    width: 0.13rem;
    height: 0.21rem;
    position: absolute;
    top: calc(50% - 0.105rem);
    right: 0.4rem;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url(../images/contact/arrow.png);
}

/* //サンクスページ ------------------------------------- */
/*# sourceMappingURL=style.css.map */

/* 加筆 */
.checklist_select {
    padding: 0.2rem;
}

#radio_buttons {
    display: none;
}

#radio_buttons.checked {
    display: flex;
    margin-top: 0.1em;
    margin-bottom: 1em;
}

@media (max-width: 768px) {
    .checklist_select {
        padding-left: 0;
    }

    .checklist_select .check_txt::before {
        top: 0 !important
    }

    #radio_buttons.checked {
        display: block;
        margin-bottom: 2em;
    }

    .checklist_select {
        padding: 0.2rem 0 0.1rem;
    }
}