@charset "utf-8";
/* CSS Document */
#main {
    width: 100%;
    padding-bottom: 80px;
}
#main h2 {
    width: 100%;
    margin: 0;
    background-color: #3DCDF3;
    background-image: url(../images/back_texture_2027.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    display: flex;
    justify-content: center;
}
#main h2 img {
    display: block;
    margin: auto;
    max-width: 2100px;
    width: auto;
    height: 680px;
}
#main .message {
    width: calc(100% - 10px);
    max-width: 640px;
    margin: auto;
    padding: 30px 0;
    background-color: #EE6183;
    background-size: 15px;
    position: relative;
    top: -100px;
    margin-bottom: -50px;
    border-radius: 10px;
}
#main .message > img {
    display: block;
    margin: auto;
    width: 164px;
}
#main .message h3 {
    color: #fff;
    text-align: center;
    font-size: 18px;
    line-height: 2;
    font-weight: 500;
    margin-bottom: 0;
    margin-top: 0;
    line-height: 1.8;
}
#main .message h3 img {
    display: block;
    margin: 0 auto 15px;
    width: 82.85%;
}
#main .message::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 26.0px 15px 0 15px;
    border-color: #EE6183 transparent transparent transparent;
    display: block;
    position: absolute;
    bottom: -24px;
    left: calc(50% - 13px);
}
ul.link_enq {
    width: calc(100% - 10px);
    max-width: 640px;
    margin: auto;
    border: solid 4px #00329b;
    padding: 30px 0;
    margin-top: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    border-radius: 10px;
}
ul.link_enq li {
    width: 100%;
    max-width: 500px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 20px;
}
ul.link_enq li:not(.linq) {
    max-width: 500px;
}
ul.link_enq li:first-child {
    padding-bottom: 20px;
    border-bottom: solid 2px #00329b;
}
ul.link_enq li:not(.linq) > span {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: #fff000;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    color: #000;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    margin-right: 15px;
    font-weight: 700;
}
ul.link_enq li:not(.linq) > span.ls {}
ul.link_enq li:not(.linq) p {
    margin: 0;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.4;
}
ul.link_enq li:not(.linq) p small {
    font-size: 0.8em;
    display: block;
    font-weight: 500;
}
ul.link_enq li.linq {
    margin-bottom: 0;
}
ul.link_enq li.linq a {
    background-color: #EE6183;
    /* box-shadow: 0 0 15px rgb(0 0 0 / 20%); */
    color: #fff;
    width: 100%;
    padding: 15px;
    text-align: center;
    border-radius: 50px;
    text-decoration: none;
    position: relative;
    margin: auto;
}
ul.link_enq li.linq a:not(.end)::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 17.3px;
    border-color: transparent transparent transparent #ffffff;
    position: absolute;
    top: calc(50% - 10px);
    right: 15px;
}
ul.link_enq li.linq small {
    font-size: 1em;
}
ul.link_enq li.linq a.active:hover {
    background-color: #ff81a4;
}
ul.link_enq li.linq a.end {
    background-color: #ccc;
    cursor: default;
}
ul.link_enq li.linq a span {
    font-size: 26px;
    font-weight: 600;
    line-height: 1;
}
#present {
    background: #A4DFF9;
    padding: 0 0 20px;
}
#present figure {
    width: 100%;
    margin: 0;
    display: flex;
    justify-content: center;
    overflow: hidden;
    position: relative;
    height: 930px;
}
#present img.presentimg {
    width: 1400px;
    display: block;
    position: absolute;
    top: 0;
    left: calc(50% - 700px);
}
#present div.inner div.texts {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0
}
#present ul.present_list {
    max-width: 1000px;
    padding: 0 20px;
    width: 100%;
    margin: 0 auto 40px;
    display: flex;
    flex-wrap: wrap;
}
#present ul.present_list li {
    list-style: none;
    width: 49%;
    margin-right: 2%;
    /* overflow: hidden; */
    margin-bottom: 15px;
}
#present ul.present_list li div {
    border: solid 3px #00329b;
    margin-bottom: 5px;
    background: #fff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    position: relative;
}
#present ul.present_list li:nth-child(even) {
    margin-right: 0;
    min-height: unset;
}
#present ul.present_list li div::before {
    content: '';
    width: 54px;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #00329b;
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    margin-right: 16px;
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
    min-height: 80px;
}
#present ul.present_list li div::after {
    content: '';
    width: 64px;
    height: 64px;
    display: block;
    background: url(../images/ribon_2026.svg) no-repeat;
    background-size: contain;
    /* transform: rotate(45deg); */
    position: absolute;
    right: -4px;
    top: -4px;
}
#present ul.present_list li.list_D div a {
    text-decoration: none;
    color: #000;
}
#present ul.present_list li.list_D div a small {
    display: block;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.1;
}
#present ul.present_list li.list_D div a big {
    display: block;
    font-weight: 900;
    font-size: 20px;
    line-height: 1;
}
#present ul.present_list li.list_D div a span {
    font-size: 12px;
    line-height: 1;
}
#present ul.present_list li.list_A div::before {
    content: 'A賞';
}
#present ul.present_list li.list_B div::before {
    content: 'B賞';
}
#present ul.present_list li.list_C div::before {
    content: 'C賞';
}
#present ul.present_list li.list_D div::before {
    content: 'D賞';
}
#present ul.present_list li h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.2;
}
#present ul.present_list li p.num {
    font-family: 'Oswald', sans-serif;
    font-size: 50px;
    line-height: 1;
    margin: 0;
    color: #e4325a;
    position: absolute;
    right: 25px;
    top: calc(50% - 0.5em);
    letter-spacing: -0.02em;
}
#present ul.present_list li p.num::after {
    content: '名様';
    font-family: 'Noto Sans JP';
    color: #000;
    font-weight: 600;
    font-size: 16px;
    display: inline-block;
}
#present ul.present_list li p.note {
    width: 100%;
    font-size: 10px;
    background: none;
    min-height: auto;
    min-height: unset;
    border-radius: 0;
    margin-bottom: 0px;
    margin-top: 0;
}
#present ul.present_list li p.note a, #present ul.present_list li p.note span {
    font-size: 12px;
    font-weight: 500;
    color: #000;
    margin-left: 0em;
}
#present ul.present_list li p.note a {
    margin-right: 2em;
}
#present ul.present_list li p.note::before {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 10.4px;
    border-color: transparent transparent transparent #000;
}
#present ul.present_list li a:hover {
    opacity: 0.6;
}
#present ul.prsnt_detail {
    max-width: 1000px;
    padding: 0 20px;
    width: 100%;
    margin: 30px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#present ul.prsnt_detail li {
    width: 32%;
    line-height: 1.4;
}
#present ul.prsnt_detail li h4 {
    font-size: 18px;
    font-weight: bold;
    background: #fff;
    color: #00329b;
    text-align: center;
    padding: 8px 0;
    margin: 0 0 10px;
    letter-spacing: 0.1em;
}
#present ul.prsnt_detail li p {
    font-size: 13px;
    margin: 0;
    padding: 0;
    font-weight: 500;
}
#tieup {
    background: #d7f0ff;
    padding: 50px 0 50px;
    width: 100%;
}
#tieup h1 {
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
    position: relative;
}
#tieup h1::before {
    content: '';
    max-width: 180px;
    max-height: 180px;
    width: 18vw;
    height: 18vw;
    background: url(../images/tieup_catch.svg)no-repeat;
    background-size: contain;
    position: absolute;
    top: -90%;
    left: 0;
}
#tieup h1 img.tieup_logo {
    position: absolute;
    right: 0;
    top: 0;
    width: 45%;
}
#tieup h1 img.tieup_title {
    display: block;
    margin: auto;
    width: 100%;
    max-width: 700px;
}
#tieup ul.main_viisual {
    /* max-width: 770px; */
    width: 100%;
    margin: 30px auto 60px;
    padding: 0 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#tieup ul.main_viisual li.main {
    position: relative;
    width: 100%;
    /* max-width: 720px; */
    margin-bottom: 40px;
}
#tieup ul.main_viisual li.main::before {
    content: '回答者\A限定';
    white-space: pre;
    width: 70px;
    height: 70px;
    background: #fedf0a;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 900;
    font-size: 15px;
    line-height: 1.2;
    color: #034a96;
    border-radius: 50%;
    box-shadow: 1px 1px 5px #034a96;
    position: absolute;
    right: calc(50% - 380px);
    top: -25px;
    z-index: 2;
}
#tieup ul.main_viisual li.main figure {
    width: 100%;
    max-width: 720px;
    margin: auto;
    position: relative;
}
#tieup ul.main_viisual li.main figure img {
    width: 100%;
}
#tieup ul.main_viisual li.main figure::before {
    content: '';
    width: 250px;
    height: 204px;
    background: url(../images/tieup_main_before.png) no-repeat;
    background-size: contain;
    display: block;
    position: absolute;
    left: -125px;
    bottom: -40px;
}
#tieup ul.main_viisual li.main figure::after {
    content: '';
    width: 250px;
    height: 200px;
    background: url(../images/tieup_main_after.png) no-repeat;
    background-size: contain;
    display: block;
    position: absolute;
    right: -125px;
    bottom: -30px;
}
#tieup ul.main_viisual li.main h2 {
    text-align: center;
    font-weight: 900;
    font-size: 18px;
}
#tieup ul.main_viisual li.sub {
    width: 350px;
    margin-right: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    position: relative;
}
#tieup ul.main_viisual li:last-child {
    margin-right: 0;
}
#tieup ul.main_viisual li.sub h4 {
    background: #034a96;
    padding: 16px 0;
    margin: 0;
    position: relative;
    margin-bottom: 20px;
    width: 100%;
    display: block;
}
#tieup ul.main_viisual li.sub h4 img {
    display: block;
    margin: auto;
}
#tieup ul.main_viisual li.sub h4::before {
    content: '';
    width: 44px;
    height: 26px;
    background: url(../images/tieup_sub_deco.svg) no-repeat;
    background-size: contain;
    display: block;
    position: absolute;
    right: 0;
    top: -30px;
}
#tieup ul.main_viisual li.sub > img {
    width: 48%;
    display: block;
    position: absolute;
    left: -30px;
    bottom: 18px;
}
#tieup ul.main_viisual li.sub > p {
    width: 56%;
    margin: 0;
    margin-left: 44%;
    text-align: justify;
    display: block;
}
#tieup ul.main_viisual li.sub > p span:not(.num) {
    font-size: 28px;
    font-weight: 900;
    display: block;
    line-height: 1;
}
#tieup ul.main_viisual li.sub > p span.num {
    letter-spacing: -0.02em;
    font-family: 'Oswald', sans-serif;
    font-size: 60px;
    line-height: 1;
    display: block;
    margin-bottom: 10px;
}
#tieup ul.main_viisual li.sub > p span.num small {
    font-size: 22px;
    font-weight: 900;
}
#tieup ul.main_viisual li.sub > p span.line2 {
    margin-bottom: 10px;
}
#tieup ul.main_viisual li.sub > p span.note {
    display: block;
    font-size: 13px;
    font-weight: 400;
}
#tieup ul.main_viisual li.sub.title1 > img {
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.6);
}
#tieup ul.main_viisual li.sub.title2 > img {
    left: -10%;
    width: 46%;
    bottom: 3%;
}
#tieup ul.main_viisual li.sub.title2 > p {
    width: 62%;
    margin-left: 38%;
}
#tieup ul.note {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px;
    justify-content: flex-start;
    max-width: 980px;
    padding: 10px;
    margin: auto;
}
#tieup ul.note li {
    width: 32%;
    margin-right: 2%;
}
#tieup ul.note li:last-child {
    margin-right: 0;
}
#tieup ul.note li h4 {
    font-weight: 600;
    background: #004ea2;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.2;
    text-align: center;
    color: #fff;
    margin-top: 0;
    margin-bottom: 10px;
}
#tieup ul.note li p {
    font-size: 14px;
    line-height: 1.5em;
    text-align: justify;
    text-justify: inter-ideograph;
    margin-bottom: 10px;
}
#tieup ul.note li p.indent {
    font-size: 12px;
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 0;
}
#about {
    background: #00329b;
    padding: 60px 10px 80px;
}
#about h3 {
    color: #fff;
    padding: 0;
    text-align: center;
    font-size: 40px;
    font-weight: 700;
    margin: 0 auto 60px;
    position: relative;
}
#about div.flex {
    width: 100%;
    max-width: 960px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
#about div.flex .texts {
    width: 66%;
    padding-right: 4%;
}
#about div.flex .texts h4 {
    color: #ffffff;
    font-size: 28px;
    font-weight: 500;
    margin: 0px 0 30px;
}
#about div.flex .texts p {
    font-size: 16px;
    font-weight: 500;
    line-height: 2;
    margin: 0;
    text-align: justify;
    color: #fff;
}
#about div.flex img {
    width: 34%;
}
#about ul.answer {
    margin: 40px auto 0;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#about ul.answer li {
    margin: 0;
    width: 32%;
    text-align: center;
    box-sizing: border-box;
    line-height: 140%;
    border-radius: 10px;
    /* border: 3px solid #00329b; */
    background: #fff;
    padding: 15px 0 16px;
}
#about ul.answer li > span {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: #00329b;
}
#about ul.answer li mark {
    display: block;
    /*font-family: Cabin;*/
    /*font-family: oswald;*/
    font-family: Roboto;
    letter-spacing: 0.02em;
    background: none;
    font-size: 36px;
    font-weight: 500;
    margin-top: 0.4em;
}
#about ul.answer li mark > span.space, #about ul.answer li mark > span.kamma {
    font-family: 'Oswald';
    font-size: 1em;
    color: #000;
    display: inline-block;
    padding: 0 0.05em;
}
#about ul.answer li mark > span.kamma {
    padding: 0 0;
}
#about ul.answer li mark small {
    font-weight: 900;
    font-size: 0.6em;
    display: inline-block;
    vertical-align: 0.05em;
}
#p_and_c {
    padding: 100px 10px 100px;
    max-width: 980px;
    width: 100%;
    margin: auto;
}
#p_and_c ul.link_enq {
    margin-bottom: 70px;
}
#p_and_c .privacy_note {
    margin-bottom: 50px
}
#p_and_c .privacy_note h5 {
    margin: 0;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    padding-bottom: 0;
    margin-bottom: 10px;
}
#p_and_c .privacy_note p {
    text-align: justify;
    margin: 0;
    font-weight: 500;
}
#customer {
    width: 100%;
    max-width: 960px;
    margin: 0 auto 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
}
#customer h5 {
    width: 100%;
    margin: 0 0 20px;
    background: #00329b;
    text-align: center;
    padding: 10px 0;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
}
#customer .contact_tel, #customer.privacy {
    margin-right: 0;
    margin-bottom: 0;
}
#customer .privacy {
    border-left: 1px solid #333;
    padding: 0 10px;
    padding-left: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 52%;
}
#customer .privacy p {
    font-size: 12px;
    text-align: left;
    margin: 0;
    text-align: justify;
    width: 80%;
}
#customer .privacy p a {
    text-decoration: none;
    color: #000;
    display: block;
    padding: 0;
    font-size: 12px;
}
#customer .privacy > a {
    width: 20%;
}
.simple #customer .privacy > a {
    /* display: block; */
    /* width: 23%; */
    /* padding-left: 4%; */
}
#customer .privacy > a img {
    width: 100%
}
#customer .contact_tel {
    margin-top: 0;
    width: 62%;
    padding-top: 0;
}
#customer .contact_tel h6 {
    margin: 0;
    font-size: 14px;
    width: 100%;
    line-height: 1;
    margin-bottom: 10px;
}
#customer .contact_tel p.costomer_tel {
    font-size: 36px;
    font-weight: bold;
    line-height: 1;
    margin: 0;
    display: flex;
    align-items: center;
}
#customer .costomer_tel span {
    font-size: 13px;
    margin-top: 2px;
    margin-left: 1em;
}
#customer .costomer_tel span.pnum {
    font-size: 40px;
    font-weight: 700;
    line-height: 0.7;
    margin-top: 0;
    margin-left: 0;
}
#customer .costomer_tel span.iptel {
    font-size: 13px;
    border: 1px solid #333;
    border-radius: 4px;
    padding: 5px 5px;
    display: block;
    margin-left: 0;
    margin-right: 10px;
    margin-top: 4px;
}
#life_spe_bnr {
    width: 100%;
    max-width: 960px;
    display: block;
    margin: auto;
}
#life_spe_bnr img {
    width: 100%;
}
#fixed_btn {
    background: rgb(0 50 155 / 70%);
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px 0;
    /* display: none; */
    z-index: 10;
}
#fixed_btn.active {
    display: block;
}
#fixed_btn a {
    display: block;
    margin: auto;
    background-color: #ee6183;
    color: #fff;
    width: 60%;
    max-width: 500px;
    padding: 15px;
    text-align: center;
    border-radius: 50px;
    text-decoration: none;
    position: relative;
}
#fixed_btn a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 17.3px;
    border-color: transparent transparent transparent #ffffff;
    position: absolute;
    top: calc(50% - 10px);
    right: 15px;
}
#fixed_btn a:hover {
    background-color: #ff81a4;
}
#fixed_btn a span {
    font-size: 26px;
    font-weight: 600;
    line-height: 1;
}
#kyoritsu_bnr {
    position: fixed;
    right: 0;
    top: 100px;
    display: block;
}
#kyoritsu_bnr a {
    padding: 0;
    margin: 0;
}
#kyoritsu_bnr a::after {
    content: none;
}
#kyoritsu_bnr span {
    position: absolute;
    top: -8px;
    left: -10px;
    cursor: pointer;
    background: #000;
    width: 20px;
    height: 20px;
    border-radius: 50%;
}
#kyoritsu_bnr span::before, #kyoritsu_bnr span::after {
    content: '';
    position: absolute;
    top: calc(50% - 1px);
    left: 10%;
    width: 80%;
    height: 2px;
    background: #fff;
    display: block;
    transform: rotate(-45deg);
}
#kyoritsu_bnr span::after {
    transform: rotate(45deg);
}
body.open footer {
    padding-bottom: 100px;
}
/*adaptiv 24A_TELEMAIL_REN_DEV-121*/
#p_and_c.simple {
    padding: 100px 10px;
}
#p_and_c.simple h4 {
    margin: 0;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    padding-bottom: 0;
    margin-bottom: 10px;
}
#p_and_c.simple .present_note {
    margin-bottom: 80px;
}
#p_and_c.simple .present_note dl {
    line-height: 1.7;
    margin: 0 0 30px;
}
#p_and_c.simple .present_note dl dd {
    margin: 0;
}
#p_and_c.simple .present_note dl dd span {
    padding-right: 2em;
    font-weight: 500;
}
#p_and_c.simple .present_note dl dd a {
    text-decoration: underline;
    color: #000050;
}
#p_and_c.simple ul.prsnt_detail {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#p_and_c.simple ul.prsnt_detail li {
    width: 30%;
    text-align: justify;
}
#p_and_c.simple ul.prsnt_detail li h6 {
    margin: 0;
    font-weight: 700;
    margin-bottom: 0.2em;
}
#p_and_c.simple ul.prsnt_detail li p {
    margin: 0;
}
#p_and_c.simple .privacy_note p {
    font-size: 14px;
    font;
    font-weight: 400;
    line-height: 1.6;
}
#p_and_c.simple #customer .contact_tel {
    /* width: 66%; */
}
#p_and_c.simple #customer .privacy {
    /* width: 34%; */
}
#customer .privacy {
    width: 38%;
}
@media screen and (max-width: 1200px) {
    #main h2 img {
        height: 56.6vw;
        width: auto;
        min-height: unset;
    }
}
@media screen and (max-width: 1000px) {
    #present figure {
        height: 91vw;
    }
    #present img.presentimg {
        width: auto;
        height: 91vw;
        display: block;
        position: static;
        top: 0;
        left: calc(50% - 700px);
    }
}
@media screen and (max-width:1000px) {
    #present ul.present_list {
        padding: 0 1%;
    }
    #present ul.present_list li div {
        min-height: 8vw
    }
    #present ul.present_list li div::before {
        width: 14%;
        font-size: 1.8vw;
        margin-right: 2vw;
        min-height: 8vw;
    }
    #present ul.present_list li div h3 {
        margin: 0;
        font-size: 2vw;
    }
    #present ul.present_list li div p.num {
        font-size: 4.5vw;
        right: 2vw;
    }
    #present ul.present_list li div p.num::after {
        font-size: 2vw;
    }
    #present ul.present_list li.list_D div a small {
        font-size: 1.6vw;
    }
    #present ul.present_list li.list_D div a big {
        font-size: 2vw;
    }
    #present ul.prsnt_detail {
        padding: 0 1%;
    }
    #tieup {
        padding: 6vw 1%;
    }
    #tieup h1::before {
        top: -14vw;
    }
    #tieup ul.main_viisual {
        width: 100%;
        margin: 2vw auto 4vw;
        padding: 0 0;
    }
    #tieup ul.main_viisual li.main {
        width: 80%;
    }
    #tieup ul.main_viisual li.main::before {
        width: 7.5vw;
        height: 7.5vw;
        font-size: 1.6vw;
        right: -2vw;
        top: -2vw;
        z-index: 2;
    }
    #tieup ul.main_viisual li.main figure {
        width: 100%;
        margin: 0;
        position: relative;
    }
    #tieup ul.main_viisual li.main figure img {
        width: 100%;
    }
    #tieup ul.main_viisual li.main figure::before {
        width: 24vw;
        height: 20vw;
        left: -10vw;
        bottom: -4vw;
    }
    #tieup ul.main_viisual li.main figure::after {
        width: 25vw;
        height: 20vw;
        right: -10vw;
        bottom: -4vw;
    }
    #tieup ul.main_viisual li.main h2 {
        font-size: 2vw;
    }
    #tieup ul.main_viisual li.sub {
        width: 49%;
        margin-right: 2%;
    }
    #tieup ul.main_viisual li:last-child {
        margin-right: 0;
    }
    #tieup ul.main_viisual li.sub h4 {
        padding: 1vw 0;
        margin: 0;
        position: relative;
        margin-bottom: 2vw;
        width: 100%;
    }
    #tieup ul.main_viisual li.sub h4 img {
        height: 5vw;
    }
    #tieup ul.main_viisual li.sub > img {
        width: 45%;
        left: 0;
        bottom: 1vw;
    }
    #tieup ul.main_viisual li.sub > p {
        width: 50%;
        margin: 0;
        margin-left: 50%;
    }
    #tieup ul.main_viisual li.sub > p span:not(.num) {
        font-size: 3vw;
    }
    #tieup ul.main_viisual li.sub > p span.num {
        font-size: 6vw;
    }
    #tieup ul.main_viisual li.sub > p span.num small {
        font-size: 3vw;
    }
    #tieup ul.main_viisual li.sub > p span.line2 {
        margin-bottom: 10px;
    }
    #tieup ul.main_viisual li.sub > p span.note {
        font-size: 12px;
    }
    #tieup ul.main_viisual li.sub.title1 > img {}
    #tieup ul.main_viisual li.sub.title2 > img {
        left: 0;
        width: 46%;
        bottom: 0;
    }
    #tieup ul.main_viisual li.sub.title2 > p {
        width: 50%;
        margin-left: 50%;
    }
    #tieup ul.note li h4 {
        font-size: 1.6vw;
    }
    #about {
        padding: 6vw 2vw;
    }
    #about h3 {
        /* width: 60vw; */
        padding: 1vw;
        font-size: 4vw;
        margin: 0 auto 6vw;
    }
    #about div.flex .texts {
        width: 66%;
        padding-right: 3%;
    }
    #about div.flex .texts h4 {
        font-size: 2.8vw;
        margin: 0px 0 3vw;
    }
    #about div.flex .texts p {
        font-size: 1.6vw;
    }
    #about div.flex img {
        width: 34%;
    }
    #about ul.answer {
        margin: 4vw auto 0;
    }
    #about ul.answer li {
        border-radius: 1.5vw;
        padding: 1.5vw 0;
    }
    #about ul.answer li span {
        font-size: 1.5vw;
    }
    #about ul.answer li mark {
        font-size: 3.8vw;
    }
    #p_and_c {
        padding: 10vw 1vw;
    }
    #customer .contact_tel p.costomer_tel {
        font-size: 3.4vw;
    }
    #customer .costomer_tel span {
        font-size: 13px;
    }
    #customer .privacy p a {
        font-size: 1.4vw;
    }
    #customer .privacy img {
        width: 6vw
    }
    #customer .contact_tel {
        margin-top: 0;
        /* width: 56%; */
        padding-top: 0;
    }
    #customer .contact_tel h6 {
        margin: 0;
        font-size: 1.4vw;
        width: 100%;
        line-height: 1;
        margin-bottom: 1vw;
    }
    #customer .contact_tel p.costomer_tel {
        font-size: 3.6vw;
        ;
    }
    #customer .costomer_tel span {
        font-size: 1.3vw;
        margin-top: 0.2vw;
    }
    #customer .costomer_tel span.pnum {
        font-size: 4vw;
    }
    #customer .costomer_tel span.iptel {
        font-size: 1.3vw;
        padding: 0.5vw;
        margin-right: 1vw;
        margin-top: 0.4vw;
    }
    #customer .privacy p {
        font-size: 1.2vw;
    }
    #customer .privacy p a {
        font-size: 1.2vw;
    }
}
@media screen and (max-width: 768px) {
    #customer .contact_tel {
        width: 50%;
    }
    #customer .contact_tel p.costomer_tel {
        flex-wrap: wrap;
    }
    #customer .contact_tel p.costomer_tel {
        font-size: 5vw
    }
    #customer .costomer_tel span.iptel {
        font-size: 2.2vw;
        padding: 0.5vw;
        display: block;
        margin-right: 10px;
    }
    #customer .contact_tel p.costomer_tel span:not(.iptel) {
        font-size: 2.4vw;
        display: block;
        width: 100%;
        padding-left: 8vw;
        margin-top: 1vw;
    }
    #customer .privacy {
        padding: 2vw;
        padding-right: 0;
        font-size: 2.4vw;
        width: 50%;
    }
    #customer .privacy p a {
        font-size: 1.8vw;
    }
    #customer .privacy img {
        width: 10vw
    }
    #main {
        padding-bottom: 10vw;
    }
    #main h2 {
        width: 100%;
        margin: 0;
        background: none;
    }
    #main h2 img {
        display: block;
        margin: auto;
        max-width: unset;
        width: 100%;
        min-height: unset;
        height: unset;
    }
    #main span.sp {
        background: #e980af;
        color: #fff;
        text-align: center;
        padding: 3vw;
        font-size: 4.4vw;
        font-weight: 600;
        line-height: 1;
    }
    #main .message {
        width: 90%;
        padding: 4vw 2vw;
        background-size: 3vw;
        top: -15vw;
        margin-bottom: -6vw;
    }
    #main .message > img {
        width: 40vw;
    }
    #main .message h3 {
        font-size: 3.4vw;
        margin-top: 0;
        line-height: 1.7;
    }
    #main .message h3 img {
        margin: 0 auto 10px;
    }
    #main .message h3::before, #main .message h3::after {
        width: 14vw;
        height: 24vw;
    }
    #main .message h3::before {
        left: 3vw;
    }
    #main .message h3::after {
        right: 3vw;
        z-index: 10;
    }
    ul.link_enq {
        width: 90%;
        padding: 3vw;
        border: solid 3px #00329b;
    }
    ul.link_enq li {
        margin-bottom: 4vw;
    }
    ul.link_enq li:first-child {
        padding-bottom: 4vw;
    }
    ul.link_enq li:not(.linq) span {
        width: 12vw;
        height: 12vw;
        font-size: 2.8vw;
        margin-right: 2vw;
    }
    ul.link_enq li:not(.linq) p {
        margin: 0;
        font-size: 4.1vw;
    }
    ul.link_enq li:not(.linq) p small {
        font-size: 4.1vw;
    }
    ul.link_enq li.linq {
        margin-bottom: 0;
    }
    ul.link_enq li.linq a {
        padding: 3vw 0;
    }
    ul.link_enq li.linq a:not(.end)::after {
        border-width: 2vw 0 2vw 3.5vw;
        top: calc(50% - 2vw);
        right: 4vw;
    }
    ul.link_enq li.linq a span {
        font-size: 5vw;
    }
    #present {
        padding: 5px 0 5vw;
    }
    #present figure {
        height: unset;
    }
    #present img.presentimg {
        width: 100%;
        height: auto;
        display: block;
        position: relative;
        top: 0;
        left: 0%;
    }
    #present h2 span strong {
        font-size: 5vw;
    }
    #present h2 span strong::before, #present h2 span strong::after {
        width: 4vw;
        height: 6vw;
        position: relative;
        top: 1vw;
    }
    #present h2 span strong.text2 {
        font-size: 4.2vw;
    }
    #present ul.present_list {
        padding: 0px 5%;
        margin-bottom: 6vw;
        margin-top: 0;
    }
    #present ul.present_list li {
        width: 100%;
        margin: 0 0 4vw;
    }
    #present ul.present_list li.list_B {
        margin-bottom: 3vw;
    }
    #present ul.present_list li div {
        min-height: unset;
        margin-bottom: 0;
    }
    #present ul.present_list li div::before {
        font-size: 3vw;
        margin-right: 3vw;
        width: 14%;
        min-height: 14vw;
    }
    #present ul.present_list li div::after {
        width: 10vw;
        height: 10vw;
    }
    #present ul.present_list li div h3 {
        margin: 0;
        font-size: 3.6vw;
    }
    #present ul.present_list li div p.num {
        font-size: 9vw;
        right: 4vw;
    }
    #present ul.present_list li div p.num::after {
        font-size: 3vw;
    }
    #present ul.present_list li.list_D div a small {
        font-size: 2.8vw;
    }
    #present ul.present_list li.list_D div a big {
        font-size: 4vw;
    }
    #present ul.prsnt_detail {
        padding: 0 5%;
        margin-bottom: 0;
    }
    #present ul.prsnt_detail li {
        width: 100%;
        margin-bottom: 4vw;
    }
    #present ul.present_list li p.note {
        margin-right: 0;
        width: 100%;
        margin-top: 0.5vw;
    }
    #present ul.present_list li p.note span, #present ul.present_list li p.note a {
        font-size: 3vw;
    }
    #present ul.present_list li.list_C {
        margin-bottom: 3vw;
    }
    #present ul.present_list li.list_D {
        margin-bottom: 0vw;
    }
    #present ul.present_list li.list_D p {
        padding-top: 0;
    }
    #present ul.present_list li.note2 {
        order: 6;
    }
    #present ul.prsnt_detail li h4 {
        font-size: 4vw;
        padding: 2vw 0;
        margin: 0 0 2vw
    }
    #present ul.prsnt_detail li p {
        font-size: 3.5vw;
        margin: 0;
        padding: 0;
    }
    #present ul.prsnt_detail li p small {
        font-size: 2.8vw;
    }
    #tieup {
        padding: 6vw 5% 2vw;
    }
    #tieup h1 {
        padding-top: 8vw;
        margin-bottom: 3vw;
    }
    #tieup h1::before {
        top: -6vw;
        left: -3vw;
        width: 18vw;
        height: 18vw;
    }
    #tieup h1 img.tieup_logo {
        position: absolute;
        right: 0;
        top: 0;
        width: 70%;
    }
    #tieup ul.main_viisual li.main {
        width: 100%;
        margin-bottom: 8vw;
    }
    #tieup ul.main_viisual li.main::before {
        width: 12vw;
        height: 12vw;
        font-size: 3vw;
        right: -2vw;
        top: -2vw;
        z-index: 2;
    }
    #tieup ul.main_viisual li.main figure {
        width: 100%;
        margin: 0;
        position: relative;
        padding-bottom: 25vw;
    }
    #tieup ul.main_viisual li.main figure img {
        width: 100%;
    }
    #tieup ul.main_viisual li.main figure::before {
        width: 50vw;
        height: 40vw;
        left: 0vw;
        bottom: 0vw;
    }
    #tieup ul.main_viisual li.main figure::after {
        width: 43vw;
        height: 38vw;
        right: 0;
        bottom: 0;
    }
    #tieup ul.main_viisual li.main h2 {
        font-size: 3.4vw;
        margin-bottom: 0;
    }
    #tieup ul.main_viisual li.sub h4::before {
        content: '';
        width: 6vw;
        height: 4vw;
        right: 0;
        top: -4vw;
    }
    #tieup ul.main_viisual li.sub h4 {
        padding: 2vw
    }
    #tieup ul.main_viisual li.sub h4 img {
        height: 6vw;
    }
    #tieup ul.main_viisual li.sub.title1 > img {
        width: 70%;
        position: static;
        margin: auto;
    }
    #tieup ul.main_viisual li.sub.title2 > img {
        width: 60%;
        position: static;
        margin: 0 auto;
    }
    #tieup ul.main_viisual li.sub > p {
        width: 100%;
        margin: 4vw 0 0;
        text-align: center;
    }
    #tieup ul.main_viisual li.sub.title1 > img {
        margin-top: 2vw
    }
    #tieup ul.main_viisual li.sub.title1 > p {
        margin-top: 4vw
    }
    #tieup ul.main_viisual li.sub.title2 h4 {
        margin-bottom: 0
    }
    #tieup ul.main_viisual li.sub.title2 > p {
        width: 100%;
        margin-left: 0;
    }
    #tieup ul.main_viisual li.sub.title2 p {
        text-align: center;
        margin-top: 0;
    }
    #tieup ul.main_viisual li.sub > p span:not(.num) {
        font-size: 4vw;
        text-align: center;
        margin-bottom: 1vw;
    }
    #tieup ul.main_viisual li.sub > p span.num {
        font-size: 6.5vw;
        display: inline-block;
    }
    #tieup ul.main_viisual li.sub > p span.num small {
        font-size: 3vw;
    }
    #tieup ul.main_viisual li.sub > p span.line2 {
        display: inline-block;
    }
    #tieup ul.main_viisual li.sub > p span.note {
        font-size: 12px;
    }
    #tieup ul.note {
        max-width: 980px;
        padding: 0;
        margin: 4vw auto;
    }
    #tieup ul.note li {
        width: 100%;
        margin: 0;
        padding: 0;
        margin: 0 auto 4vw;
    }
    #tieup ul.note li h4 {
        font-size: 3.4vw;
        padding: 1vw;
    }
    #tieup ul.note li p {
        font-size: 3vw;
        margin: 0
    }
    #tieup ul.note li dt {
        font-size: 3vw;
        text-align: justify;
        padding-left: 3vw;
        text-indent: -3vw;
    }
    #about {
        padding: 8vw 5vw 10vw;
    }
    #about h3 {
        width: 100%;
        font-size: 7vw;
        margin: 0 auto 4vw;
        position: relative;
        padding: 0;
        line-height: 1.2;
    }
    #about h3::after {
        border-width: 3vw 2.5vw 0 2.5vw;
        bottom: -2.9vw;
        left: calc(50% - 2.5vw);
    }
    #about div.flex {
        width: 100%;
    }
    #about div.flex .texts {
        order: 0;
        width: 100%;
        padding-right: 0;
    }
    #about div.flex .texts h4 {
        font-size: 4.2vw;
        font-weight: 700;
        margin: 0 0 4vw;
    }
    #about div.flex .texts p {
        font-size: 3.4vw;
        font-weight: 500;
        line-height: 1.7;
        margin: 0;
        text-align: justify;
    }
    #about div.flex img {
        order: 1;
        width: 70%;
        margin: 3vw auto 0;
    }
    #about ul.answer {
        order: 3;
        margin: 6vw auto 0;
        width: 100%;
    }
    #about ul.answer li {
        margin: 0 auto 4vw;
        width: 100%;
        line-height: 140%;
        padding: 2vw 0 3vw;
    }
    #about ul.answer li:last-child {
        margin-bottom: 0;
    }
    #about ul.answer li span {
        font-size: 4vw;
    }
    #about ul.answer li mark {
        font-size: 9vw;
        /* text-align: left; */
        /* padding-left: 30vw; */
    }
    #about ul.answer li:nth-child(1) mark > span.kamma {
        padding-left: 0.04em;
        padding-right: 0.04em;
    }
    #about ul.answer li:nth-child(2) mark > span.space:nth-child(1) {
        padding-right: 0.1em
    }
    #about ul.answer li:nth-child(2) mark > span.kamma {
        padding-left: 0.02em;
        padding-right: 0.055em;
    }
    #about ul.answer li:nth-child(3) mark > span.kamma {
        padding-left: 0.02em;
        padding-right: 0.06em;
    }
    #p_and_c {
        padding: 10vw 5%;
    }
    #p_and_c ul.link_enq {
        width: 100%;
        margin-bottom: 8vw;
    }
    #p_and_c .privacy_note {
        margin-bottom: 8vw;
    }
    #p_and_c .privacy_note h5 {
        margin: 0;
        text-align: center;
        font-size: 4vw;
        font-weight: 600;
        padding-bottom: 2vw;
        margin-bottom: 2vw;
    }
    #p_and_c .privacy_note p {
        font-size: 3vw
    }
    #customer {
        margin: 0 auto 0;
        padding-top: 14vw;
        position: relative;
    }
    #customer h5 {
        font-size: 3.9vw;
        padding: 2vw 0;
        margin-bottom: 4vw;
        position: absolute;
        left: -5vw;
        top: 0;
        width: 100vw;
    }
    #customer .contact_tel h6 {
        margin: 0;
        font-size: 3.6vw;
        width: 100%;
        line-height: 1;
        margin-bottom: 2vw;
    }
    #customer .contact_tel {
        width: 100%;
    }
    #customer .contact_tel p.costomer_tel {
        font-size: 9.4vw;
        font-weight: 700;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        position: relative;
        top: 0;
        left: 0;
    }
    #customer .costomer_tel span.iptel {
        font-size: 3.4vw;
        padding: 1vw;
        display: block;
        margin-right: 3vw;
        position: absolute;
        left: 0;
        top: 0.5vw;
    }
    #customer .contact_tel p.costomer_tel span:not(.iptel) {
        font-size: 3.4vw;
        display: block;
        width: 100%;
        /* text-align: center; */
        padding-left: 14vw;
        margin-top: 0;
        letter-spacing: 0;
        margin-left: 0;
    }
    #customer .contact_tel p.costomer_tel span.pnum {
        font-weight: 600;
        font-size: 9vw;
        margin-bottom: 3vw;
    }
    #customer .privacy {
        padding: 0;
        padding-right: 0;
        font-size: 2.4vw;
        width: 100%;
        border-left: none;
        margin-top: 5vw;
        justify-content: flex-start;
        border-top: solid 1px #000;
        padding-top: 5vw;
    }
    #customer .privacy p {
        font-size: 3.2vw;
        width: 74%;
    }
    #customer .privacy p a {
        font-size: 3.2vw;
        width: 100%;
    }
    #customer .privacy > a {
        width: 26%;
        padding-left: 4%;
    }
    .footerbtn a {
        margin: auto;
    }
    .footerbtn a:hover {
        opacity: 0.8;
    }
    #fixed_btn {
        padding: 4vw 0 0;
    }
    #fixed_btn a {
        width: 70%;
        padding: 3vw;
        margin-bottom: 4vw;
    }
    #fixed_btn a span {
        font-size: 5vw;
    }
    #kyoritsu_bnr {
        position: relative;
        display: block;
        width: 100%;
        z-index: 30;
        top: 0;
    }
    #fixed_btn a::after {
        border-width: 2vw 0 2vw 3.5vw;
        top: calc(50% - 2vw);
        right: 4vw;
    }
    #kyoritsu_bnr a {
        padding: 0;
        margin-top: 4vw;
        width: 100%;
        top: 0;
        margin-bottom: 0;
    }
    #kyoritsu_bnr a:after {
        content: none;
    }
    #kyoritsu_bnr img {
        width: 100%;
    }
    #kyoritsu_bnr span {
        position: absolute;
        top: -12px;
        left: unset;
        right: 5px;
        cursor: pointer;
        background: #000;
        width: 20px;
        height: 20px;
        border-radius: 50%;
    }
    footer {
        padding: 8vw 0 10vw;
    }
    #move-page-top {
        bottom: 34vw
    }
    #move-page-top.br {
        bottom: 22vw;
    }
    body.open footer {
        padding-bottom: 14vw;
    }
    /*adaptiv 24A_TELEMAIL_REN_DEV-121 -------------------------------- */
    #p_and_c.simple {
        padding: 10vw 5vw;
    }
    #p_and_c.simple h4 {
        font-size: 4.5vw;
        margin-bottom: 2vw;
        line-height: 1;
    }
    #p_and_c.simple .present_note {
        margin-bottom: 10vw;
    }
    #p_and_c.simple .present_note dl {
        line-height: 1.7;
        margin: 0 0 30px;
    }
    #p_and_c.simple .present_note dl dt {
        font-size: 3.4vw;
    }
    #p_and_c.simple .present_note dl dd {
        margin: 0;
        font-size: 3.4vw;
        padding-left: 4em;
        position: relative;
        font-feature-settings: 'palt';
        margin-bottom: 1vw;
    }
    #p_and_c.simple .present_note dl dd span {
        padding-right: 1em;
        font-weight: 500;
        width: 5em;
        display: inline-block;
        position: absolute;
        left: 0;
        top: 0.2vw;
        font-size: 3.4vw;
    }
    #p_and_c.simple .present_note dl dd a {
        display: block;
        font-size: 3.4vw;
    }
    #p_and_c.simple ul.prsnt_detail li {
        width: 100%;
        text-align: justify;
        margin-bottom: 4vw;
    }
    #p_and_c.simple ul.prsnt_detail li h6 {
        font-size: 3.4vw;
    }
    #p_and_c.simple ul.prsnt_detail li p {
        font-size: 3.4vw;
    }
    #p_and_c.simple .privacy_note {
        margin-bottom: 16vw;
    }
    #p_and_c.simple .privacy_note p {
        font-size: 3.4vw;
    }
    #p_and_c.simple #customer {
        padding-top: 14vw;
    }
    #p_and_c.simple #customer h5 {
        position: absolute;
        left: -5vw;
        top: 0;
        display: block;
        width: 100vw;
        font-size: 3.9vw;
        font-feature-settings: 'palt';
    }
    #p_and_c.simple #customer .contact_tel {
        padding-bottom: 0;
        margin-bottom: 0;
        /* border-bottom:solid 1px #000; */
        width: 100%;
    }
    #p_and_c.simple #customer .privacy {
        width: 100%;
    }
    #p_and_c.simple #customer .privacy p {
        /* width: 70%; */
    }
    #p_and_c.simple #customer .privacy p a {
        font-size: 3.4vw;
    }
    #p_and_c.simple #customer .privacy > a {
        /* width: 26%; */
        /* padding-left: 4%; */
    }
    #move-page-top {
        bottom: 5.0vw;
        z-index: 100;
        opacity: 1;
    }
}