@charset "UTF-8";

/* 
common
------------------------ 
*/

html {
	font-size: 62.5%;
}

body {
	color: #222;
    /* font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; */
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Noto Sans JP",  "メイリオ", sans-serif;
    font-weight:500;
    font-size: 1.4rem;
    line-height: 1.4;
    letter-spacing: 0.05em;
    text-align: left;
    background: #fff;
    -webkit-text-size-adjust: 100%;
}

.iPhone, .iPad, .Android {
    font-weight: 400;
}

a {
    color: inherit;
    text-decoration: none;
}

.flex {
    display: flex;
}

.between {
    justify-content: space-between;
}

.a-center {
    align-items: center;
}

.a-start {
    align-items: start;
}

.ta-center {
    text-align: center;
}

.ta-left {
    text-align: left;
}

.ta-right {
    text-align: right;
}

@media screen and (max-width: 690px) {
    html {
        font-size: 50%;
    }
}

@media screen and (max-width: 550px) {
    html {
        font-size: 45%;
    }
}

@media screen and (max-width: 490px) {
    html {
        font-size: 38%;
    }
}

@media screen and (max-width: 420px) {
    html {
        font-size: 33%;
    }
}

@media screen and (max-width: 370px) {
    html {
        font-size: 30%;
    }
}

@media screen and (min-width: 750px){
    #contents {
        max-width: 750px;
        margin: 0 auto;
    }
}

.heading_bg {
    background-image: url("../images/heading_bg_pk.png");
    background-size: contain;
    background-repeat: no-repeat;
    width: 100%;
    aspect-ratio: 750 / 195;
}

.heading {
    padding: 4% 0 4%;
    text-align: center;
    position: relative;
}

.heading h3 img {
    margin: 0 auto;
}

.heading p {
    position: absolute;
    font-size: 2.5rem;
    color: #fff;
    width: 100%;
    bottom: 20%;
}

.wrapper {
    padding: 0 6%;
}

.p_txt {
    font-size: 2.6rem;
    letter-spacing: .1em;
    line-height: 1.6;
}

.bold_txt {
    font-weight: bold;
}

.mid_txt {
    font-weight: normal;
}

.pk_txt {
    color: #ea4d7d;
}

.blue_txt {
    color: #3aa9dd;
}

.bg_txt {
    background-color: #fbd6d3;
    line-height: 1.55;
    padding: .2% 1%;
}

.Android .bg_txt {
    line-height: 1.5;
}

.bg_txt_pk {
    background-color: #f9c9d8;
}

.bg_txt_half {
    background: linear-gradient(transparent 60%, #d7f1fd 40%);
}

.pk_bg {
    background: #fbdbe5;
}

.palt_txt {
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
}

.border_txt {
    border-bottom: 1px solid #181815;
}

.mb_2 {
    margin-bottom: 2%;
}

.mb_3 {
    margin-bottom: 3%;
}

.mb_4 {
    margin-bottom: 4%;
}

.mb_6 {
    margin-bottom: 6%;
}

.mb_8 {
    margin-bottom: 8%;
}

.mr_2 {
    margin-right: 2%;
}

.mr_4 {
    margin-right: 4%;
}

.pb_2 {
    padding-bottom: 2%;
}

.pb_4 {
    padding-bottom: 4%;
}

.pb_6 {
    padding-bottom: 6%;
}


@media screen and (max-width: 600px) {
    .p_txt {
        font-size: 2.4rem;
    }
}

@media screen and (max-width: 480px) {
    .heading h3 {
        -webkit-text-stroke-width: 5px;
    }
    .p_txt {
        font-size: 2.75rem;
    }

    .wrapper {
        padding: 2% 6% 0;
    }
}

.pc {
    display: block;
}

.sp {
    display: none;
}

@media screen and (max-width: 550px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }
}

.m_0a {
    margin: 0 auto;
}

.lp_bottom_txt {
    padding: 6% 0;
    background: #fdedf2;
}

.lp_bottom_txt .p_txt {
    font-size: 3.3rem;
}

@media screen and (max-width: 750px) {
    .lp_bottom_txt .p_txt {
        font-size: 4.5vw;
    }
}


/* 
header
------------------------ 
*/

header {
    width: 100%;
    background-color: #fff;
    max-width: 750px;
    position: fixed;
    z-index: 10;
    box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, .1);
}

header h1 {
    width: 50%;
}

header h1 a {
    display: block;
    padding: 3% 0;
    text-align: right;
    line-height: 0.2;
    width: 70%;
    margin: 0 auto;
}
@media screen and (max-width: 420px) {
    header h1 a {
        padding: 2.5% 0;
    }
}

header h1 a img {
    width: 100%;
}

header h1 .logo_cap {
    /* color: #ea4d7d; */
    color: #6abfe6;
    font-size: 1.4rem;
    line-height: .5;
}

.official_header_2411 h1 .logo_cap {
    color: #6ABEE6;
    font-size: 1.4rem;
    line-height: .5;
}

header h1 .logo_cap .cap_l {
    font-size: 1.6rem;
}

header .header_reserve {
    /* background: #ea4d7d; */
    background: #6ABEE6;
    width: 50%;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: .4s;
    padding: 2% 0;
}

header .header_reserve:hover {
    opacity: .7;
    transition: .4s;
}

header .header_reserve .txt_left {
    text-align: center;
    width: 40%;
    display: flex;
    align-items: center;
    justify-content: right;
}

header .header_reserve .txt_left figure {
    width: 14%;
    margin-left: 2%;
}

header .header_reserve .txt_left p {
    line-height: 1.2;
    font-size: 2rem;
    letter-spacing: -.04em;
    font-weight: 700;
    margin: 2% 0 3%;
}

header .header_reserve .txt_left p span {
    font-size: 2.4rem;
}

header .header_reserve .txt_right {
    justify-content: center;
    width: 55%;
    padding-left: 1%;
}

header .header_reserve .txt_right p {
    margin-right: 2%;
    font-size: 3.5rem;
    font-weight: 700;
    letter-spacing: .01em;
}

@media screen and (max-width: 450px) {
    header .header_reserve .txt_left p {
        margin: 3% 2% 1% 0;
        font-size: 2.1rem;
    }

    header .header_reserve .txt_right p {
        /* font-size: 3.5rem; */
        letter-spacing: .01em;
    }
}

header .header_reserve .txt_right figure {
    width: 15%;
}

@media screen and (max-width: 500px) {
    header .header_reserve {
        padding: 0 0;
    }
}

@media screen and (max-width: 420px) {
    header h1 .logo_cap {
        font-size: 1.8rem;
        line-height: 1.3;
    }
    
    header h1 .logo_cap .cap_l {
        font-size: 2rem;
    }
}

/* header-m */

header h1 .logo_cap-m {
    color: #3d7beb;
}

header .header_reserve-m {
    background: #3d7beb;
}

/* ハンバーガーメニュー */

.header_wrap {
    position: relative;
}

.official_header h1 {
    width: 40%;
}

.official_header h1 a {
    padding: 3% 0 3% 3%;
    width: 95%;
}

.official_header .header_web_btn {
    padding: 1% 0;
    width: 40%;
}

.official_header .menu_area {
    width: 12%;
    aspect-ratio: 1 / 1;
    position: relative;
    background: #ea4d7d;
    cursor: pointer;
}

.official_header_2411 .menu_area {
    width: 12%;
    aspect-ratio: 1 / 1;
    position: relative;
    background: #6ABEE6;
    cursor: pointer;
}

.official_header .menu_area-m {
    background: #3d7beb;
}

.official_header .menu_area p {
    font-size: 2rem;
    color: #fff;
    position: absolute;
    bottom: 1px;
    left: 50%;
    transform: translateX(-50%);
}
@media screen and (max-width: 420px) {
    .official_header .menu_area p {
        font-size: 1.8rem;
    }
}

.hamburger-menu {
    border: none;
    appearance: none;
    padding: 0;
}

.hamburger-menu_bar {
    display: inline-block;
    width: 47%;
    height: 2px;
    background: #fff;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    transition: .5s;
}

.hamburger-menu_bar:first-child {
    top: 26%;
}
.hamburger-menu_bar:nth-child(2) {
    top: 40%;
}
.hamburger-menu_bar:last-child {
    top: 55%;
}
.hamburger-menu--open .hamburger-menu_bar {
    top: 41%;
}
.hamburger-menu--open .hamburger-menu_bar:first-child {
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.hamburger-menu--open .hamburger-menu_bar:last-child {
    transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
.hamburger-menu--open .hamburger-menu_bar:nth-child(2) {
    display: none;
}

.navigation {
    display: none;
    background: #fdeffc;
    position: absolute;
    top: 100%;
    width: 100%;
    height: 100vh;
    z-index: 9999;
    padding: 2% 0 30%;
}

.official_header_2411 .navigation {
    background: #e1f2fa;
}

.navigation-m {
    background: #eff7fd;
}

.navigation .nav_inner {
    height: 100%;
    overflow-y: scroll;
    padding-bottom: 8%;
}

.navigation_list {
    list-style: none;
    padding: 0 8% 6%;
    margin: 0;
}

.navigation_list-item {
    border-bottom: solid 1px #c9a9b7;
    position: relative;
    padding: 0 3%;
}

.official_header_2411 .navigation_list-item {
    border-bottom: solid 1px #a0cadd;
}

.navigation_list-item-m {
    border-bottom: solid 1px #B6C0D1;
}

.navigation_list-item::after {
    content: '';
    background: url("../images/header_nav_arrow.png") no-repeat;
    background-size: contain;
    width: 2%;
    aspect-ratio: 2 / 3;
    position: absolute;
    right: 3%;
    top: 50%;
    transform: translateY(-50%);
}

.official_header_2411 .navigation_list-item::after {
    content: '';
    background: url("../images/header_nav_arrow_2411.png") no-repeat;
    background-size: contain;
    width: 2%;
    aspect-ratio: 2 / 3;
    position: absolute;
    right: 3%;
    top: 50%;
    transform: translateY(-50%);
}

.navigation_list-item-m::after {
    content: '';
    background: url("../images/header_nav_arrow-m.png") no-repeat;
    background-size: contain;
    width: 2%;
    aspect-ratio: 2 / 3;
    position: absolute;
    right: 3%;
    top: 50%;
    transform: translateY(-50%);
}

.navigation_link {
    color: #ea4d7d;
    font-weight: 400;
    font-size: 2.7rem;
    text-decoration: none;
    display: block;
    padding: 3% 0;
    transition: .5s;
}
@media screen and (max-width: 450px) {
    .navigation_list-item::after {
        width: 2.5%;
    }

    .navigation_link {
        font-size: 3rem;
        padding: 5.5% 0;
    }
}

.official_header_2411 .navigation_link {
    color: #4aacda;
}

.navigation_link-m {
    color: #3d7beb;
}

.navigation .h_btn_area p {
    padding: 0 5% 1%;
}

.official_header {
    transition: transform 0.3s 0.3s; 
}

.official_header.hidden {
    transform: translateY(-60%); 
  }


/* 
main
------------------------ 
*/
#top_page {
    /* padding-top: 1%; */
    /* padding-top: 2.5%; */
    padding-top: 0;
}


/* @media screen and (max-width: 450px) {
    #top_page {
        padding-top: 2%;
    }
} */

#top_page .campaign {
    position: relative;
}

#top_page .campaign .top_monitor_btn {
    position: absolute;
    /* bottom: 19.3%; */
    bottom: 16.5%;
    left: 50%;
    transform: translateX(-50%);
    width: 97%;
}

#top_page .campaign .top_monitor_btn2407 {
    bottom: 16.5%;
}

/* 
news_area
------------------------ 
*/

#top_page .news_area {
    padding: 6% 4% 6%;
}

#top_page .news_area .top_news_heading {
    font-size: 3rem;
    border: 1px solid;
    padding: 2% 0;
    margin-bottom: 6%;
    color: #6ABEE6;
}

#top_page .news_area .top_news_list {
    padding: 0 1%;
}

#top_page .news_area .top_news_list li {
    margin-bottom: 2%;
    transition: .7s;
}

#top_page .news_area .top_news_list li:hover {
    opacity: .5;
    transition: .7s;
}

#top_page .news_area .top_news_list .news_date {
    margin-right: 3%;
    opacity: .6;
}


/* 
sec01
------------------------ 
*/

#top_page .sec01 {
    background: #f6fdff;
}

#top_page .sec01 .heading {
    margin-top: -1.5%;
    position: relative;
    z-index: 5;
}

#top_page .sec01 .heading h3 img {
    max-width: 78%;
}

#top_page .sec01 .heading_bg {
    background-image: url("../images/heading_bg_top1-2.png");
    padding: 7% 0 0;
}

#top_page .sec01 .txt_area {
    padding: 5% 0;
}

#top_page .sec01 .color_txt {
    color: #eb5b4d;
}

#top_page .sec01 .txt_area .flex {
    padding: 6% 0 4%;
}

#top_page .sec01 .txt_area .flex figure {
    width: 42%;
}

#top_page .sec01 .txt_area .flex .txt2 {
    width: 52%;
}

#top_page .sec01 .txt_area .bg_shadow {
    position: relative;
}

#top_page .sec01 .txt_area .bg_shadow::before {
    content: '';
    width: 100%;
    height: 100%;
    background: #d0ebf7;
    top: 3%;
    left: 3%;
    border-radius: 20px;
    position: absolute;
    z-index: 1;
    top: 5%;
    left: 2%;
    opacity: .7;
}

#top_page .sec01 .txt_area .bg_txtarea {
    margin: 3% 0;
    padding: 4.5% 4% 4%;
    border: 2px solid #6ABEE6;
    border-radius: 20px;
    position: relative;
    z-index: 3;
}

#top_page .sec01 .txt_area .bg_txtarea p {
    font-size: 3.5rem;
    font-weight: 700;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1%;
    width: 100%;
}

#top_page .sec01 .txt_area .bg_txtarea p::before {
    content: "";
    background-image: url("../images/sec1_line_l2.png");
    background-size: cover;
    background-repeat: no-repeat;
    width: 3.5%;
    display: inline-block;
    aspect-ratio: 26/47;
    margin-right: 1.6%;
    transform: translateY(-7%);
}

#top_page .sec01 .txt_area .bg_txtarea p::after {
    content: "";
    background-image: url("../images/sec1_line_r2.png");
    background-size: cover;
    background-repeat: no-repeat;
    width: 3.5%;
    display: inline-block;
    aspect-ratio: 26/47;
    margin-left: 1.5%;
    transform: translateY(-7%);
}

#top_page .sec01 .txt_area .bg_txtarea h4 {
    text-align: center;
    width: 100%;
    font-size: 5rem;
    letter-spacing: .2rem;
    color: #3aa9dd;
    line-height: 1.5;
}

#top_page .sec01 .txt_area .bg_txtarea h4 span {
    border-bottom: 6px dotted #3aa9dd;
}

@media screen and (max-width: 749px) {
    #top_page .sec01 .txt_area .bg_txtarea h4 {
        font-size: 6.5vw;
    }
}

@media screen and (max-width: 550px) {
    #top_page .sec01 .txt_area .bg_txtarea h4 span {
        border-bottom: 4px dotted #3aa9dd;
    }
}

@media screen and (max-width: 450px) {
    #top_page .sec01 .txt_area .bg_txtarea h4 span {
        border-bottom: 3px dotted #3aa9dd;
        padding-bottom: 1px;
    }
}

#top_page .sec01 .txt_area .txt3 {
    padding: 6% 0;
}

#top_page .sec01 .txt_area .txt4 {
    position: relative;
    box-sizing: border-box;
    outline: 1px solid #6ABEE6;
    outline-offset: -2px;
    width: 99%;
    padding: 5% 5%;
    z-index: 2;
    border-radius: 20px;
}

#top_page .sec01 .txt_area .txt4::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    outline: 1px solid #6ABEE6;
    outline-offset: -2px;
    top: 4%;
    left: 1%;
    z-index: 1;
    border-radius: 20px;
}

#top_page .sec01 .txt_area .txt4 h5 {
    font-size: 2.8rem;
    width: 87%;
}

#top_page .sec01 .txt_area .txt4 h5 span {
    color: #3aa9dd;
    background:linear-gradient(transparent 60%, #faf9ae 40%);
}

#top_page .sec01 .txt_area .txt4 figure {
    position: absolute;
    right: -5%;
    bottom: -10%;
    z-index: 3;
    width: 24%;
}

/* 
sec02
------------------------ 
*/

#top_page .sec02 .heading_bg {
    background-image: url("../images/heading_bg_top1-2.png");
    margin-top: -2%;
    padding: 7% 0 0;
}

#top_page .sec02 .heading h3 img {
    max-width: 90%;
}

/* menu関連 style*/

.menu_cate_wrap {
    padding: 6% 0 4%;
    /* padding: 6% 0 0; */
}

.menu_cate {
    margin-bottom: 5%;
}

.menu_cate_ttl {
    text-align: center;
    font-size: 3.8rem;
    font-weight: 700;
    margin-bottom: 2%;
}

.menu_list_wrap {
    padding: 6% 6% 2%;
}

.menu_list {
    position: relative;
    border: 3px solid #6ABEE6;
    background-color: #fff;
    box-shadow: 10px 10px 1px 1px rgba(0, 0, 0, .15);
    margin-bottom: 5%;
}

.menu_list {
    transition: .4s;
}

/* .menu_list:hover {
    opacity: .6;
    transition: .4s;
} */

.menu_ttl {
    position: relative;
    display: inline-block;
    height: 50px;
    line-height: 50px;
    padding: 0 3% 0 20px;
    background-color: #6ABEE6;
    color: #fff;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
    margin: 5% 0;
}

.menu_ttl::after {
    position: absolute;
    top: 0;
    width: 0px;
    height: 0px;
    border-color: #6ABEE6 transparent;
    border-style: solid;
    content: '';
    right: -15px;
    border-width: 25px 15px 25px 0px;
}

.menu_ttl2 {
    /* height: 90px; */
    height: 85px;
    /* line-height: 40px; */
    line-height: 1.4;
    padding: 2% 3% 0 20px;
    text-align: left;
    display: flex;
    align-items: center;
    width: 92%;
}

.menu_ttl2::after {
    right: -25px;
    /* border-width: 45px 25px 45px 0px; */
    border-width: 43px 25px 42px 0px;
}

.menu_ttl3 {
    height: 90px;
    width: 86%;
}

.menu_ttl3::after {
    right: -25px;
    border-width: 45px 25px 45px 0px;
}

@media screen and (max-width: 749px) {
    .menu_ttl3 {
        font-size: 3.8vw;
    }
}

@media screen and (max-width: 580px) {
    .menu_ttl {
        height: 40px;
        line-height: 40px;
    }

    .menu_ttl::after {
        border-width: 20px 15px 20px 0px;
    }

    .menu_ttl2 {
        height: 80px;
        /* line-height: 35px; */
        line-height: 1.4;
        padding: 2% 3% 0 20px;
        width: 94%;
    }
    
    .menu_ttl2::after {
        right: -15px;
        border-width: 40px 15px 40px 0px;
    }

    .menu_ttl3 {
        width: 85%;
    }
} 

@media screen and (max-width: 490px) {
    .menu_ttl {
        height: 30px;
        line-height: 30px;
        padding: 0 3% 0 10px;
        font-size: 2.8rem;
    }

    .menu_ttl::after {
        right: -10px;
        border-width: 15px 10px 15px 0px;
    }

    .menu_ttl2 {
        height: 50px;
        /* line-height: 25px; */
        line-height: 1.3;
        padding: 2% 3% 0 10px;
    }
    
    .menu_ttl2::after {
        right: -15px;
        border-width: 25px 15px 25px 0px;
    }

    .Android .menu_ttl2 {
        height: 46px;
    }

    .Android .menu_ttl2::after {
        right: -12px;
        border-width: 23px 12px 23px 0px;
    }

    .menu_list {
        box-shadow: 5px 5px 1px 1px rgba(0, 0, 0, .15);
    }
} 

@media screen and (max-width: 375px) {
    .menu_ttl {
        font-size: 2.6rem;
    }

    .menu_ttl3 {
        font-size: 3.8vw;
    }
}

.list_heading {
    padding: 5% 4% 5% 7%;
    background-color: #e1f2fa;
    font-weight: 700;
    font-size: 2.7rem;
    width: 90%;
    border-radius: 20px;
    margin: 0 auto;
}
@media screen and (max-width: 550px) {
    .list_heading {
        border-radius: 10px;
    }
}

.list_p {
    font-size: 2.2rem;
    padding: 3% 4%;
    line-height: 1.5;
}
@media screen and (max-width: 550px) {
    .list_p {
        font-size: 2.5rem;
    }
}

.menuList_right figure img {
    width: 100%;
}

.menu_feeArea {
    background-color: #6ABEE6;
    /* background-image: linear-gradient(180deg, rgba(247, 122, 128, 1), rgba(234, 77, 125, 1) 62%); */
    position: relative;
    padding: 2.3% 0 1%;
    display: flex;
    justify-content: center;
}

.menu_feeArea p {
    font-size: 3rem;
    text-align: center;
    color: #fff;
    font-weight: 700;
    line-height: 1.1;
}

.menu_fee {
    font-family: "Yu Mincho", "YuMincho", serif;
    font-size: 5.5rem;
    letter-spacing: -0.01em;
}

.menu_feeArea .mid_txt {
    font-size: 2rem;
}

.menu_check {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 10%;
}

.menuList_left {
    width: 55%;
}

.menuList_right {
    width: 45%;
}

.short_ttl {
    letter-spacing: .2em;
}

.menu_feeArea .txt_s {
    font-size: 2.6rem;
    font-feature-settings: "palt";
}

.menu_feeArea .txt_xs {
    font-size: 2.4rem;
    font-feature-settings: "palt";
}

.menu_feeArea .feeArea2 p {
    text-align: right;
    line-height: 1.1;
}

.menu_ttl .txt_s {
    font-size: 1.7rem;
    letter-spacing: -.01em;
}

.list_heading_s {
    font-size: 2.65rem;
}

.price_txt {
    position: relative;
}

.price_txt .tax {
    position: absolute;
    font-weight: 400;
    font-size: 1.6rem;
    right: 2%;
    top: 2%;
}

.price_txt .tax2 {
    right: -3.5%;
}

.price_txt .tax3 {
    right: 4%;
}

.price_txt .tax4 {
    right: 0.5%;
    top: 5%;
}

.price_txt .tax5 {
    right: -4.5%;
}

.price_txt .tax6 {
    right: 2%;
}
@media screen and (max-width: 450px) {
    .price_txt .tax6 {
        right: 0;
    }
}

.price_txt2 {
   justify-content: center;
   align-items:last baseline;
}

.price_txt2 .txt_mid {
    margin: 0 2%;
    text-align: left!important;
    font-size: 2.3rem;
    line-height: 1.1
}

.price_pf {
    width: 82%;
}

@media screen and (max-width: 749px) {
    .price_pf .txt_s {
        font-size: 3.3vw;
    }

    .price_pf .menu_fee {
        font-size: 6.9vw;
    }
}

@media screen and (max-width: 450px) {
    .price_pf {
        width: 86%;
    }
}

/* メニュー調整2406 */
.menu_feeArea_2406 {
    display: block;
}

.menu_feeArea_2406 p {
    text-align: left;
}

.menu_feeArea_2406 .price_txt {
    width: 88%;
    margin: 0 auto;
    align-items: center;
    padding-bottom: 0.5%;
}

.menu_feeArea_2406 .price_txt-b {
    width: 80%;
    padding-bottom: 0;
}

.menu_feeArea_2406 .price_txt .menu_fee {
    font-size: 5.5rem;
    font-weight: 400;
}

.menu_feeArea_2406 .price_txt .menu_fee span {
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-size: 2.6rem;
}

.menu_feeArea_2406 .price_txt .tax {
    right: 0;
    top: 10%;
}

.menu_feeArea_2406 .price_txt .tax-b {
    right: -4%;
}

.menu_feeArea_2406 .mr_2 {
    margin-right: 2.5%;
}

.menu_feeArea_2406 .mr_auto {
    margin-right: auto;
}

.btn_area .add_txt {
    width: 90%;
    margin: 3% auto 2%;
    text-align: center;
    background: #fff;
    color: #47b0ba;
    font-weight: 700;
    padding: 1% 0;
}



/* menu_cate1 */

.menu_cate1 .menu_ttl {
    margin: 3% 0;
}

.menu_cate1 .menu_cate_ttl {
    color: #6ABEE6;
}

.menu_cate1 .menu_list_wrap {
    background-color: #e1f2fa;
}

.cate1_listTop {
    background: url("../images/menu1_img1.png") top right;
    background-repeat: no-repeat;
    background-size: contain;
    background-color: #f3f3f3;
    border-bottom: 2px solid #6ABEE6
}

.cate1_listTop .txt_wrap {
    width: 71%;
}

.cate1_listTop h6 {
    color: #3aa9dd;
    font-size: 3.5rem;
    font-weight: 700;
    padding: 0 0 4% 4%;
}

.cate1_listTop p {
    font-size: 2.8rem;
    padding: 0 0 4% 4%;
    text-shadow: 2px 2px 0 #f3f3f3, -2px -2px 0 #f3f3f3,
              -2px 2px 0 #f3f3f3, 2px -2px 0 #f3f3f3,
              0px 2px 0 #f3f3f3,  -2px 0 #f3f3f3,
              -2px 0 0 #f3f3f3, 2px 0 0 #f3f3f3;
}

.cate1_listBottom {
    background: url("../images/menu1_img2.png") top left;
    background-repeat: no-repeat;
    background-size: contain;
    background-color: #fff;
    padding: 3% 0 1%;
}

.cate1_listBottom .txt_wrap {
    width: 68%;
    margin-left: auto;
}

.cate1_listBottom .list_heading {
    margin: 0 auto 0 0;
    padding: 3% 5% 3% 6%;
    width: 95%;
    letter-spacing: 0.1em;
}

.cate1_listBottom .list_p {
    padding: 3% 2%;
}

.hr_margin {
    margin-left: 6%;
}

/* menu_cate2 */

.menu_cate2 .menu_cate_ttl {
    color: #60c8d2;
}

.menu_cate2 .menu_list_wrap {
    background-color: #dff4f6;
}

.menu_cate2 .menu_list {
    border: 3px solid #60c8d2;
}

.menu_cate2 .menu_ttl {
    background-color: #60c8d2;
}

.menu_cate2 .menu_ttl::after {
    border-color: #60c8d2 transparent;
}

.menu_cate2 .menu_ttl_yag {
    font-size: 2.6rem;
}

@media screen and (max-width: 749px) {
    .menu_cate2 .menu_ttl_yag {
        font-size: 3.5vw;
    }
}

.menu_cate2 .list_heading {
    background-color: #dff4f6;
}

.menu_cate2 .list_heading_mk {
    background-color: #fff;
    padding: 0 1.8%;
}

.menu_cate2 .col_txt {
    color: #47b0ba;
}

.menu_cate2 .menu_feeArea {
    background-color: #60c8d2;
    /* background-image: linear-gradient(180deg, rgba(252, 170, 115, 1), rgba(251, 120, 87, 1) 62%); */
}

.menu_cate2 .list_heading_lt {
    font-size: 2.4rem;
    font-feature-settings: "palt";
}

.menu_cate2 .price_cl {
    width: 105%;
}

/* menu_cate3 */

.menu_cate3 .menu_cate_ttl {
    color: #6abee6;
}

.menu_cate3 .menu_list_wrap {
    background-color: #e1f2fa;
}

.menu_cate3 .menu_list {
    border: 3px solid #6abee6;
}

.menu_cate3 .menu_ttl {
    background-color: #6abee6;
}

.menu_cate3 .menu_ttl::after {
    border-color: #6abee6 transparent;
}

.menu_cate3 .list_heading {
    background-color: #e9f5fb;
}

.menu_cate3 .col_txt {
    color: #35a7dc;
}

.menu_cate3 .menu_feeArea {
    background-color: #6abee6;
    /* background-image: linear-gradient(180deg, rgba(169, 230, 124, 1), rgba(113, 189, 73, 1) 62%); */
}

.menu_cate3 .cs_heading {
    padding: 7% 4% 7% 7%;
}

/* menu_cate4 */

.menu_cate4 .menu_cate_ttl {
    color: #60c8d2;
}

.menu_cate4 .menu_list_wrap {
    background-color: #dff4f6;
    padding-bottom: 8%;
}

.menu_cate4 .menu_list {
    border: 3px solid #60c8d2;
}

.menu_cate4 .menu_ttl {
    background-color: #60c8d2;
}

.menu_cate4 .menu_ttl_sk {
    width: 74%;
    line-height: 1.3;
    /* height: 68px; */
}

.menu_cate4 .menu_ttl::after {
    border-color: #60c8d2 transparent;
}

.menu_cate4 .menu_ttl.menu_ttl_jl {
    width: 82%;
}

.menu_cate4 .list_heading {
    background-color: #dff4f6;
}

.menu_cate4 .list_heading .txt_s {
    font-weight: 400;
    font-size: 2.5rem;
}

.menu_cate4 .col_txt {
    color: #47b0ba;
}

.menu_cate4 .menu_feeArea {
    background-color: #60c8d2;
    /* background-image: linear-gradient(180deg, rgba(225, 162, 246, 1), rgba(222, 99, 210, 1) 62%); */
}

.menu_cate4 .ex_heading {
    padding: 7% 4% 7% 7%;
}

.menu_cate4 .menu_vitamin .menuList_top {
    margin-bottom: 3%;
}

.menu_cate4 .menu_vitamin .add_ttl img {
    width: 85%;
    margin: 0 auto;
}

.menu_cate4 .menu_vitamin .list_heading {
    width: 93%;
    padding: 4% 5% 3% 5%;
}

.menu_cate2 .menuList_left_mj {
    position: relative;
}

.menuList_left_mj .recommend {
    position: absolute;
    width: 95%;
    left: 50%;
    transform: translateX(-50%);
    top: 27%;
}

@media screen and (max-width: 450px) {
    .menuList_left_mj .recommend {
        top: 29%;
    }
}

.menuList_left_mj h6 {
    margin-top: 16%;
}

.menuList_bottom_mj .p_txt {
    background: #f2fd95;
    font-size: 2.6rem;
    text-align: center;
    margin-top: 4%;
    padding: 1% 0;
    letter-spacing: 0.01em;
}

.menuList_bottom_mj .p_txt span {
    color: #47b0ba;
}

.menu_cate4 .price_hvd {
    width: 89%;
}

.menu_cate4 .price_hvd .txt_s {
    font-size: 2.2rem;
}

.menu_cate4 .price_hvd .txt_mid {
    font-size: 2rem;
}

/* .menu_cate4 .price_hvd .menu_fee {
    font-size: 4.8rem;
} */
@media screen and (max-width: 749px) {
    .menu_cate4 .price_hvd .txt_s {
        font-size: 2.7vw;
    }

    .menu_cate4 .price_hvd .txt_mid {
        font-size: 2.5vw;
    }

    .menu_cate4 .price_hvd .menu_fee {
        font-size: 7vw;
    }

    .menu_cate4 .list_heading_bd {
        font-size: 3.5vw;
    }

    .menu_cate4 .list_heading_bd .txt_s {
        font-size: 3.2vw;
    }

    .menu_cate4 .menu_ttl_bd {
        font-size: 3.8vw;
        text-align: left;
    }
}


/* btn関連 */

/* キャンペーン終了時 */
.menu_feeArea {
    padding-bottom: 24%;
}

.menu_list_wrap .btn_area {
    position: relative;
}

.menu_list_wrap .btn {
    position: absolute;
    bottom: 4%;
    left: 50%;
    transform: translateX(-50%);
    width: 95%;
}

.menu_list_wrap .btn img {
    animation: dokundokun 1800ms ease infinite;
}
@keyframes dokundokun {
    0%  { transform: scale(1); }
    15% { transform: scale(1.03); }
    30% { transform: scale(1); }
    45% { transform: scale(1.03); }
    70% { transform: scale(1); }
}

/* dr_menu */
.menu_cate dl dd .btn {
    position: absolute;
    bottom: 4%;
    left: 50%;
    transform: translateX(-50%);
    width: 95%;
}

#top_page .dr_menu {
    padding: 6% 0 0;
}

#top_page .dr_menu .dr_menu_ttl {
    transform: scale(1.13);
    margin-bottom: 8%;
}

#top_page .dr_menu .menu_ttl {
    background-image: linear-gradient(90deg, rgba(96, 200, 210, 1), rgba(75, 177, 221, 1) 5%, rgba(117, 204, 182, 1));
}

#top_page .dr_menu .menu_ttl:after {
    border-color: #7acfb2 transparent;
}

#top_page .dr_menu .menu_ttl.menu_ttl_jl {
    width: 70%;
    height: 90px;
    font-size: 2.8rem;
    line-height: 1.2;
}

#top_page .dr_menu .menu_ttl.menu_ttl_jl:after {
    border-width: 45px 15px 45px 0px;
    right: -15px;
}

#top_page .dr_menu .menu_ttl.menu_ttl_lift {
    width: 80%;
    height: 80px;
    font-size: 2.6rem;
    line-height: 1.2;
}

#top_page .dr_menu .menu_ttl.menu_ttl_lift:after {
    border-width: 40px 15px 40px 0px;
    right: -15px;
}

@media screen and (max-width: 750px) {
    #top_page .dr_menu .menu_ttl.menu_ttl_jl {
        font-size: 4.3vw;
        width: 80%;
    }

    #top_page .dr_menu .menu_ttl.menu_ttl_lift {
        font-size: 3.5vw;
        width: 80%;
        height: 80px
    }

    #top_page .dr_menu .menu_ttl.menu_ttl_lift:after {
        border-width: 40px 15px 40px 0px;
        right: -15px;
    }
} 

@media screen and (max-width: 495px) {
    #top_page .dr_menu .menu_ttl.menu_ttl_jl {
        height: 70px;
    }
    #top_page .dr_menu .menu_ttl.menu_ttl_jl:after {
        border-width: 35px 15px 35px 0px;
        right: -15px;
    }

    #top_page .dr_menu .menu_ttl.menu_ttl_lift {
        height: 60px
    }

    #top_page .dr_menu .menu_ttl.menu_ttl_lift:after {
        border-width: 30px 15px 30px 0px;
        right: -15px;
    }
}

@media screen and (max-width: 410px) {
    #top_page .dr_menu .menu_ttl.menu_ttl_jl {
        height: 60px;
        font-size: 4.3vw;
    }

    #top_page .dr_menu .menu_ttl.menu_ttl_jl:after {
        border-width: 30px 15px 30px 0px;
        right: -15px;
    }
}


/* 
sec03
------------------------ 
*/

#top_page .sec03 {
    /* margin-bottom: 12%; */
    margin-top: -7%;
}

#top_page .sec03 .bg_area {
    background-color: #6abee6;
    padding: 2% 4% 8%;
    position: relative;
}

#top_page .sec03 .bg_area::before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    aspect-ratio: 766 / 59;
    background: url("../images/sec3_bg.png") no-repeat;
    background-size: cover;
    left: 0;
    top: -2%;
}

#top_page .sec03 .sec03_heading {
    position: static;
    text-align: center;
    margin-bottom: 5%;
    padding: 1% 0 0;
}

#top_page .sec03 .sec03_heading h3 {
    margin-bottom: 4%;
}

#top_page .sec03 .heading h3 img {
    max-width: 86%;
}

#top_page .sec03 .sec03_heading p {
    position: static;
    font-size: 3.9rem;
    width: 85%;
    margin: 0 auto;
    padding: 2.5% 0 0;
    border-top: 5px dotted #fff;
    letter-spacing: .1em
}
@media screen and (max-width: 550px) {
    #top_page .sec03 .sec03_heading p {
        border-top: 3px dotted #fff;
    }
}

#top_page .sec03 .sec03_heading p span {
    color: #feed1b;
}

#top_page .sec03 .sec03_desc {
    background-color: #fff;
    border-radius: 20px;
    padding-bottom: 4%;
}

#top_page .sec03 .sec03_desc p {
    padding: 0 5% 6%;
    font-size: 2.8rem;
}

#top_page .sec03 .btn_area p {
    width: 85%;
    margin: 0 auto;
    padding: 0;
}

/* ボタンアニメーション */
#top_page .sec03 .btn_area p a {
    display: block;
    animation: dokundokun 1800ms ease infinite;
}
@keyframes dokundokun {
    0%  { transform: scale(1); }
    15% { transform: scale(1.01); }
    30% { transform: scale(1); }
    45% { transform: scale(1.01); }
    70% { transform: scale(1); }
}
/* ボタンアニメーション　ここまで */

/* #top_page .sec03 .btn_area .btn_line::after {
    content: '';
    display: block;
    background: url("../images/top_monitor_banner2407.png")no-repeat;
    width: 97%;
    margin: 0 auto 2%;
    aspect-ratio: 678 / 236;
    background-size: contain;
} */

#top_page .sec03 .btn_area .btn_line2407::after {
    background: url("../images/top_monitor_banner2407.png")no-repeat;
    background-size: contain;
}

#top_page .sec03 .btn_area .btn_line.no-banner::after {
    content: '';
    display: none;
}

@media screen and (max-width: 499px) {
    #top_page .sec03 .btn_area p {
        width: 95%;
    }
}

#top_page .sec03 .btn_area a {
    transition: .4s;
}

#top_page .sec03 .btn_area a:hover {
    opacity: .6;
    transition: .4s;
}

/* 
sec04
------------------------ 
*/

#top_page .sec04 {
    background: #dff4f6;
    position: relative;
    padding: 28% 5% 12%;

}

#top_page .sec04 .heading {
    position: absolute;
    width: 100%;
    left: 0;
    top: -2%;
    z-index: 3;
    padding: 7% 0 4%;
    background-image: url(../images/heading_bg_dr.png);
}

#top_page .sec04 .heading h3 img {
    max-width: 41%;
}

#top_page .sec04 figure {
    width: 60%;
    margin: 0 auto;
}

#top_page .sec04 .txt_area h4 {
    font-size: 4.7rem;
    text-align: center;
    padding: 6% 0 4%;
    line-height: 1;
    color: #47b0ba;
}

#top_page .sec04 .txt_area h4 .txt_s {
    font-size: 3.2rem;
}

#top_page .sec04 .txt_area .wrap h5 {
    font-size: 2.6rem;
    display: block;
    margin: 0 auto 2%;
    /* text-align: center; */
    color: #402416;
}

#top_page .sec04 .txt_area .wrap .p_txt {
    color: #402416;
}

#top_page .sec04 .txt_area .wrap h5::before {
    content: '';
    width: 3%;
    aspect-ratio: 10/10;
    background-color: #47b0ba;
    display: inline-block;
    margin-right: 1%;
}

/* #top_page .sec04 .txt_area .wrap h5::after {
    content: '';
    width: 3%;
    aspect-ratio: 10/10;
    background-color: #ea4d7d;
    display: inline-block;
    margin-left: 1%;
} */

#top_page .sec04 .txt_area .txt_mid {
    margin: 4% 0;
}


/* 
sec05
------------------------ 
*/

#top_page .sec05 {
    background: #e1f2fa;
    padding: 28% 4% 10%;
    position: relative;
}

#top_page .sec05 .heading {
    position: absolute;
    width: 100%;
    left: 0;
    top: -2%;
    padding: 7% 0 4%;
}

#top_page .sec05 .heading_bg {
    background-image: url(../images/heading_bg_top1-2.png);
}

#top_page .sec05 .heading h3 img {
    max-width: 43%;
}

#top_page .sec05 .img_area .flex {
    flex-wrap: wrap;
}

#top_page .sec05 .img_area ul li {
    width: 48%;
    margin: 4% 0 0;
}

#top_page .bottom_access {
    padding: 4% 0 4%;
}

#top_page .bottom_access summary::marker {
    color: #fff;
}

summary::-webkit-details-marker {
	display: none;
}

/* 
footer
------------------------ 
*/

footer {
    background: #ea4d7d;
    background: #6ABEE6;
    text-align: center;
    color: #fff;
    padding: 6% 0;
}

.footer_2411 {
    background: #6abee6;
    text-align: center;
    color: #fff;
    padding: 6% 0;
}

footer h4 a {
    display: inline-block;
    width: 60%;
    max-width: 499px;
}

footer .insta_follow img {
    margin: 0 auto 5%;
    width: 25%;
}

@media screen and (max-width: 450px) {
    footer .insta_follow img {
        width: 30%;
    }
}

footer .txt_area p {
    font-size: 3rem;
    padding: 0.5% 0 0;
}

footer .map_btn {
    width: 30%;
    background: #fff;
    border-radius: 20px;
    border: 2px solid #000;
    margin: 6% auto;
    padding: 3% 0;
    text-align: center;
    transition: .4s;
}

footer .map_btn:hover {
    opacity: .7;
    transition: .4s;
}

footer .map_btn .flex {
    justify-content: center;
}

footer .map_btn a figure {
    width: 10%;
}

footer .map_btn a p {
    color: #000;
    font-size: 2.4rem;
    font-weight: 700;
    margin-left: 3%;
}

footer .bottom_link {
    justify-content:center;
}

footer .bottom_link p {
    margin: 0 3% 1%;
}

footer .contact_btn figure img {
    margin: 0 auto 5%;
    width: 70%;
}

footer .footer_nav {
    margin: 4% 0 5%;
}

footer .footer_nav ul li a {
    background: #fbdbe5;
    width: 70%;
    display: block;
    margin: 0 auto 2%;
    padding: 2% 0;
    transition: .7s;
}

.footer_2411 .footer_nav ul li a {
    background: #e1f2fa;
    width: 70%;
    display: block;
    margin: 0 auto 2%;
    padding: 2% 0;
    transition: .7s;
    color: #6abee6;
}

footer .footer_nav ul li a:hover {
    opacity: .7;
    transition: .7s;
}

footer small {
    font-size: 2rem;
}

/* footer-m */
.footer-m {
    background: #3d7beb;
}

.footer-m .footer_nav ul li a {
    background: #dae6fd;
    width: 70%;
    display: block;
    margin: 0 auto 2%;
    padding: 2% 0;
    transition: .7s;
    color: #3d7beb;
}


/* pre */

/* #pre {
    padding-top: 2%;
    padding-bottom: 8%;
} */

#pre summary::marker {
    color: #fff;
}

summary::-webkit-details-marker {
	display: none;
}

.pre_txt_wrap {
    width: 90%;
    margin: 0 auto;
}


.pre_txt {
    display: flex;
    justify-content: center;
}

.pre_txt img {
    width: 90%;
    margin: 0 auto;
}

#pre .sec03 {
    margin-bottom: 0;
}


/* menu_bottom btn wrap */
.lp_bottom_btn {
    background: #fdedf2;
    padding: 0 3% 1%;
}

.lp_bottom_btn .bottom_btn {
    margin-bottom: 2%;
}

.lp_bottom_btn .bottom_btn a {
    transition: .4s;
}

.lp_bottom_btn .bottom_btn a:hover {
    transition: .4s;
    opacity: .6;
}

.lp_bottom_btn .line_btn {
    margin-bottom: 4%;
}

.lp_bottom_btn .banner_line {
    margin-bottom: 6%;
}

/* .lp_bottom_btn .banner_line::after {
    content: '';
    display: block;
    width: 100%;
    aspect-ratio: 707/220;
    background: url("../images/menu/banner_monitor_2407.png")no-repeat;
    background-size: contain;
    margin-top: 4%;
} */

.lp_bottom_btn .banner_line.no-banner::after {
    content: '';
    display: none;
}

/* .meta_lp .lp_bottom_btn .banner_line::after {
    content: '';
    display: block;
    width: 100%;
    aspect-ratio: 707/220;
    background: url("../images/menu/banner_monitor_2407.png")no-repeat;
    background-size: contain;
    margin-top: 4%;
} */

.meta_lp .lp_bottom_btn .banner_line.no-banner::after {
    content: '';
    display: none;
}

.line_ad_lp .lp_bottom_btn .banner_line::after {
    content: '';
    display: none;
}

/* .lower_btn_area .banner_line::after {
    content: '';
    display: block;
    width: 100%;
    aspect-ratio: 707/220;
    background: url("../images/menu/banner_monitor.png")no-repeat;
    background-size: contain;
    margin-top: 4%;
} */

.lp_bottom_btn .line_txt {
    margin: 2% 0;
    background: #fff;
    border: 1px solid #0e951d;
    padding: 4% 4%;
}

.lp_bottom_consent {
    background: #fadbe8;
    padding: 4% 6% 8%;
}

.lp_bottom_consent .pdf_btn {
    padding: 4% 10% 6%;
}

.lp_bottom_consent a {
    transition: .4s;
}

.lp_bottom_consent a:hover  {
    transition: .4s;
    opacity: .6;
}

/* fixed_footer
---------------- */

.fixed_footerBtn {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    background: rgba(255, 255, 255, .8);
    padding: 0.5% 2% 2% 1%;
    width: 100%;
    max-width: 750px;
    cursor: pointer;
    transition: .3s;
    /* opacity: 0;
    visibility: hidden; */
}

.fixed_footerBtn[aria-expanded=false] {
    opacity: 0;
    visibility: hidden;
}

.fixed_footerBtn[aria-expanded=true] {
    opacity: 1;
    visibility: visible;
}

.fixed_footerBtn a {
    display: block;
    overflow: hidden;
    position: relative;
    transition: .4s;
}

.fixed_footerBtn a:hover {
    opacity: .6;
    transition: .4s;
}

.fixed_footerBtn a:before {
    position: absolute;
    content: '';
    display: inline-block;
    top: 20%;
    left: 0;
    width: 200%;
    height: 100%;
    background-color: #fff; 
    animation: kiran 3s ease-in-out infinite;
}
@keyframes kiran {
    0%{transform:scale(0) rotate(45deg); opacity: 0; }
    80%{transform:scale(0) rotate(45deg); opacity: 0.5; }
    81%{transform:scale(2) rotate(45deg); opacity: 1; }
    100%{transform:scale(8) rotate(45deg); opacity: 0; }
}


/* .footer {
    padding-bottom: 30%;
} */

/* .btn-active{
    opacity: 1;
    visibility: visible;
} */

@media screen and (min-width: 750px) {
    .fixed_footerBtn {
        padding: 1px 15px 10px 10px;
    }

    .fixed_footerBtn a {
        width: 80%;
        margin: 0 auto;
    }
}


/* 240919 閉院処理 aタグ無効 */
/* .header_web_btn {
    pointer-events: none;
}

.header_reserve {
    pointer-events: none;
}

.btn_web1 {
    pointer-events: none;
}

.btn_web2 {
    pointer-events: none;
}

.web_btn {
    pointer-events: none;
}

.cp_240912 .btn {
    pointer-events: none;
} */

/* 240919 閉院処理 TOPバナー設置 */

/* #top_page .campaign::before {
    content: '';
    width: 100%;
    max-width: 750px;
    aspect-ratio: 750 / 838;
    background: url(../images/close_banner.jpg) no-repeat;
    background-size: cover;
    position: absolute;
    top: -3.7%;
    left: 0;
} */

/* #top_page .campaign {
    padding-top: 91%;
} */

/* #top_page .lineLp_campaign::before {
    top: -3%;
}

#top_page .lineLp_campaign {
    padding-top: 94%;
} */

/* ドクターコンテンツ削除 */
/* #top_page .sec04 {
    display: none;
} */

/* ニュースエリア削除 */
/* #top_page .news_area {
    display: none;
} */


/* お悩み別で探す
---------------- */

#top_page .trouble .bg_area {
    background: #d5e4ea;
    padding: 6% 0 20%;
}

#top_page .trouble h3 {
    max-width: 700px;
    margin: 0 auto;
}

#top_page .trouble ul {
    padding: 4% 3% 0;
}

#top_page a {
    transition: .4s;
}

#top_page a:hover {
    opacity: .6;
    transition: .4s;
}