@charset "utf-8";
/* CSS Document */

/* WEBフォント読み込み
---------------------------------------------------- */
@font-face {
    font-family: "Noto Serif JP";
    src: url("../webfonts/NotoSerifJP-Regular.woff") format("woff");
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: "Noto Serif JP";
    src: url("../webfonts/NotoSerifJP-Medium.woff") format("woff");
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: "Noto Serif JP";
    src: url("../webfonts/NotoSerifJP-SemiBold.woff") format("woff");
    font-weight: 600;
    font-display: swap;
}
@font-face {
    font-family: "Noto Serif JP";
    src: url("../webfonts/NotoSerifJP-Bold.woff") format("woff");
    font-weight: 700;
}
@font-face {
    font-family: "Cookie";
    src: url("../webfonts/Cookie-Regular.ttf") format("truetype");
    font-weight: 400;
    font-display: swap;
}


/* bootstrap.css基本の打消し（同じclass名での書き換え）
---------------------------------------------------- */
body {
    margin: 0px;
    padding: 0px;
}
h1, h2, h3, h4, h5, h6 {
    margin: 0px;
    padding: 0px;
    font-weight: normal;
    clear: both
}
p {
    margin: 0px;
    padding: 0px
}

.navbar {
    margin-bottom: 0px;
    border: none;
}
.table-striped>tbody>tr:nth-of-type(odd) {
    background-color: #efefef;
}
.table {
    margin-bottom: 30px
}
.table th {
    width: 30%
}

.img-thumbnail {
    padding: 0;
    border: none;
    border-radius: 30px;
}
.img-thumbnail2 {
    padding: 0;
    border: none;
    border-radius: 15px;
}

@media (min-width: 768px) {
    .btn-group-vertical a {
        padding-top: 15px;
        padding-bottom: 15px
    }
}

li[class^="col"]{
    list-style: none;
}

/* 全体構造
---------------------------------------------------- */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

.clearfix:after {
    content: ".";
    /* 新しい要素を作る */
    display: block;
    /* ブロックレベル要素に */
    clear: both;
    height: 0;
    visibility: hidden;
}
.clearfix {
    zoom: 1;
    /*for IE 5.5-7*/
    overflow: hidden;
}
* html .clearfix {
    height: 1px;
    /*\*/
    /*/
  height: auto;
  overflow: hidden;
  /**/
}

.clear {
    clear: both;
}

img {
    border: 0;
    vertical-align: bottom;
    margin: auto;
}

a {
    outline: none;
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

hr {
    clear: both;
    display: block;
    height: 1px;
    border-top: 1px dotted #333;
    margin: 0;
    padding: 0;
    margin-bottom: 20px
}

body {
    font-size: 75%;
    /* 基本のフォントサイズ */
    line-height: 1.5em;
    /* 基本の行間 */
    font-family: FontAwesome, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    color: #333;
    letter-spacing: 0.05em;
}
@media print, screen and (min-width: 768px) {
    body {
        font-size: 85%;
        /* 基本のフォントサイズ */
        line-height: 185%;
        /* 基本の行間 */
    }
}


/* webfont
---------------------------------------------------- */
.gfont-e {
    font-family: 'Cookie', cursive;
}
.gfont-jr {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
}
.gfont-jm {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
}


/* link
---------------------------------------------------- */
a:hover {
    text-decoration: none;
    color: #f880cf;
}

.underline a:hover {
    text-decoration: underline;
    color: #f880cf;
}

/* アンカーリンクの食い込み解除 */
.anchor {
    padding-top: 70px;
    margin-top: -70px;
}
@media print, screen and (min-width: 768px) {
    .anchor {
        padding-top: 78px;
        margin-top: -78px;
    }
}
@media print, screen and (min-width: 992px) {
    .anchor {
        padding-top: 88px;
        margin-top: -88px;
    }
}

/* 電話番号のリンク色解除 */
.tel-link {
    color: #333;
}

/* hr
---------------------------------------------------- */
.hr_line_a {
    border: none;
    height: 4px;
    margin: 20px 0;
    background: url("../images/line001.png") repeat-x center center / auto 4px;
}
.hr_mtb_a {
    margin: 25px 0 !important;
}
.hr_mlr_10 {
    margin-left: 10px !important;
    margin-right: 10px !important;
}
@media print, screen and (min-width: 768px) {
    .hr_mtb_a {
        margin: 45px 0 !important;
    }
}
/* row
---------------------------------------------------- */
.row-banner {
    margin-left: -3px;
    margin-right: -3px;
}
.row-banner>[class^="col-"], .row-banner>[class*=" col-"] {
    padding-left: 3px;
    padding-right: 3px;
}
@media print, screen and (min-width: 768px) {
    .row-banner {
        margin-left: -10px;
        margin-right: -10px;
    }
    .row-banner>[class^="col-"], .row-banner>[class*=" col-"] {
        padding-left: 10px;
        padding-right: 10px;
    }
}
@media print, screen and (min-width: 992px) {
    .row-banner {
        margin-left: -15px;
        margin-right: -15px;
    }
    .row-banner>[class^="col-"], .row-banner>[class*=" col-"] {
        padding-left: 15px;
        padding-right: 15px;
    }
}


/* header
---------------------------------------------------- */
header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1100;
    margin: 0;
    height: 58px;
    border-bottom: none;
    background-color: #fff;
    /*ヘッダーの背景色*/
}
.logo {
    float: left;
    position: relative;
    z-index: 2;
    /*押す順番*/
    padding-top: 5px;
    padding-bottom: 5px;
    height: 58px;
}
.logo img {
    width: auto;
    height: 48px;
}
/* SNSボタン（スマホのみ） */
.header-sns-xs {
    padding-top: 15px;
    position: relative;
    z-index: 3;
    /*押す順番*/
}
.header-sns-xs ul {
    list-style: none;
}
.header-sns-xs img {
    width: 60%;
    vertical-align: middle;
    padding: 6px 0px
}
.header-sns-xs a {
    background-color: #333;
    border-radius: 50%;
    float: left;
    text-align: center;
}
.header-sns-xs-fb a,
.header-sns-xs-insta a,
.header-sns-xs-line a {
    margin-right: 5px;
}
/* 電話アイコン */
.header-tel {
    margin: 12px 30px 0px 0px;
    text-align: right;
    position: relative;
    z-index: 4;
    /*押す順番*/
}
.header-tel img {
    width: auto;
    height: 29px;
}
@media print, screen and (min-width: 768px) {
    header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        height: 84px;
        background-color: #fff;
    }
    .logo {
        width: auto;
        padding-top: 10px;
        padding-bottom: 0px;
    }
    .logo img {
        width: auto;
        height: auto;
        max-width: 100%;
    }
    .header-tel {
        margin: 10px 0px 0px 0px;
        font-family: 'Noto Serif JP', serif;
        font-weight: 400;
        font-size: 135%;
    }
    .header-tel img {
        width: auto
    }
}
@media print, screen and (min-width: 992px) {
    header {
        position: absolute;
        top: 0;
        left: 0;
        height: 105px;
        padding-bottom: 0px;
    }
    .header-tel {
        margin: 15px 0px 10px 0px;
        font-size: 190%;
    }
}
@media print, screen and (min-width: 1200px) {
    header {
        height: 110px;
    }
    .header-tel {
        font-size: 220%;
    }
}

/* nav
---------------------------------------------------- */
.menu {
    font-size: 100%;
    line-height: 1.0em;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
}
/*ナビのフォントサイズ*/
.menu a {
    color: #333;
}
/*ハンバーガーメニューの色*/
.menu>ul>li a {
    /*color: #fff!important;*/
    text-align: left !important;
    background-color: #fbeef4;
}
/*ハンバーガーメニュー内のリンク文字色と位置*/
.menu>ul>li a {
    padding: 10px 10px !important;
}
.menu>ul>li a:hover,
.menu li.navi-on a {
    color: #ed77ae !important;
    /*hover状態の色*/
}
.menu>ul>li {
    border-top: 1px solid #fff;
    border-bottom: none !important;
}
/*ナビ間の線の色*/

.menu>ul>li>ul.normal-sub {
    padding: 0px !important;
    margin-bottom: 10px;
}
.menu>ul>li a.dropdown-toggle {
    cursor: pointer;
}

/*ドロップダウンメニューの指定*/
.menu-dropdown-icon::before {
    padding: 10px 10px 0px 0px !important;
    /*background: #fff!important;*/
    color: #333 !important;
}
.menu .dropdown-menu {
    border-radius: 0px !important;
}
.menu>ul>li>ul {
    font-size: 90%;
    background-color: #fbeef4 !important;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    border-top: 1px solid #fff;
}
.menu>ul>li>ul>li {
    list-style: none;
    border-bottom: 1px solid #fff;
}
.menu>ul>li>ul>li a {
    text-align: left !important;
    font-size: 100% !important;
    color: #333 !important;
    /*padding: 10px 10px 10px 0px!important;*/
}
.menu li.navi-on .dropdown-menu a {
    color: #333 !important;
    /*hover状態の色*/
}
.menu li.navi-on .dropdown-menu .navi-on a {
    color: #f880cf !important;
    /*hover状態の色*/
}
.menu li.navi-on .dropdown-menu .navi-on a:hover {
    color: #f880cf !important;
    /*hover状態の色*/
}
.dropdown-menu>li>a:hover,
.dropdown-menu>li>a:focus {
    background-color: #fbeef4 !important;
}

/* 予約ボタン（スマホのみ） */
.header-reserve1,
.header-reserve2 {
    border-top: none !important;
}
.header-reserve1 i,
.header-reserve2 i {
    margin-right: 7px;
}
.menu>ul .header-reserve1 a {
    margin-top: 10px;
    background-color: #fba6ce;
    border-radius: 7px;
    color: #fff !important;
    margin-bottom: 10px;
    text-align: center !important;
}
.menu>ul .header-reserve2 a {
    background-color: #63c4ec;
    border-radius: 7px;
    color: #fff !important;
    margin-bottom: 10px;
    text-align: center !important;
}


@media print, screen and (min-width: 481px) {
    /* 予約ボタン */
    .menu>ul .header-reserve1 {
        clear: none;
        width: 49%;
        float: left;
    }
    .menu>ul .header-reserve2 {
        clear: none;
        width: 49%;
        float: right;
        margin-top: 10px;
    }
}


@media print, screen and (min-width: 768px) {
    .menu {
        font-size: 100%;
    }
    .menu a {
        font-weight: normal;
    }
    .menu-container {
        margin-top: 0 !important;
    }
    .menu .show-on-mobile {
        padding-top: 0px !important;
    }
    .menu>ul {
        -webkit-transition: all 0.3s ease 0s;
        transition: all 0.3s ease 0s;
    }
    .menu>ul>li a {
        padding: 20px 0px 0px 0px !important;
        text-align: center !important;
        background-color: #fff;
    }
    .menu>ul>li a:hover,
    .menu li.navi-on a {
        /*background: url(../images/navi-on.png) repeat-x bottom;*/
        /*hover時下線を出す*/
    }
    .menu>ul>li {
        border-top: 0 !important;
    }
    .menu>ul>li>ul.normal-sub {
        padding: 5px 0px 5px 10px !important;
    }
    .menu>ul>li>ul.normal-sub>li {
        margin: 0px 0 !important;
    }

    /*ドロップダウンメニューの指定*/
    .menu>ul>li>ul {
        font-size: 100%;
        padding-top: 20px !important;
        background-color: #fff !important;
    }
    .menu>ul>li>ul>li a {
        padding: 0px 10px 15px 10px !important
    }
    .dropdown-menu>li>a:hover,
    .dropdown-menu>li>a:focus {
        background-color: #fff !important;
    }
    .menu li.navi-on .dropdown-menu a:hover {
        color: #f880cf !important;
        /*hover状態の色*/
    }

    /* SNSボタン */
    .header-sns {
        float: right;
    }
    .header-sns ul {
        list-style: none;
    }
    .header-sns li {
        float: left;
    }
    .header-sns li img {
        width: 60%;
        vertical-align: middle;
    }
    .header-sns li a {
        display: inline-block;
        background-color: #333;
        border-radius: 50%;
        padding: 5px 5px !important;
        text-align: center;
        margin-left: 7px;
    }

    /* 予約ボタン */
    .header-reserve {
        font-family: 'Noto Serif JP', serif;
        font-weight: 400;
        margin-top: 10px;
    }
    .header-reserve1 {
        width: 50%;
        float: left;
    }
    .header-reserve2 {
        width: 50%;
        float: right;
    }
    .header-reserve1 i {
        margin-right: 0px;
        display: block;
        font-size: 20px;
        /* margin-bottom: 7px; */
    }
    .header-reserve2 i {
        margin-right: 0px;
        display: block;
        font-size: 20px;
    }
    .header-reserve1 a {
        background-color: #fba6ce;
        color: #fff !important;
        border-radius: 10px 0px 0px 10px;
        margin-bottom: 0px;
        padding: 10px !important;
        display: inline-block;
        text-align: center;
        line-height: 1.2em;
        font-size: 85%;
        width: 100%;
        height: 70px;
    }
    .header-reserve2 a {
        background-color: #63c4ec;
        color: #fff !important;
        border-radius: 0px 10px 10px 0px;
        margin-bottom: 0px;
        padding: 10px !important;
        display: inline-block;
        text-align: center;
        line-height: 1.2em;
        font-size: 85%;
        width: 100%;
        height: 70px;
    }
}

@media print, screen and (min-width: 992px) {
    .menu {
        font-size: 100%;
    }
    /*ナビのフォントサイズ*/
    .menu>ul>li a {
        padding: 30px 0px 25px 0px !important;
    }
    .menu li.navi-on a {
        color: #333 !important;
        /*hover状態の色*/
        background: url("../images/navi_on.png") no-repeat center;
    }
    .menu .show-on-mobile {
        padding-top: 0 !important;
    }
    .menu-dropdown-icon>a {
        margin-left: 0;
    }

    /*ドロップダウンメニューの指定*/
    .menu>ul>li.navi-on>ul>li a {
        background: none;
    }
    .menu li.navi-on .dropdown-menu a {
        color: #333 !important;
    }
    .menu li.navi-on .dropdown-menu .navi-on a {
        color: #f880cf !important;
    }

    /* SNSボタン */
    .header-sns li img {
        width: auto;
    }
    .header-sns li a {
        padding: 10px 10px !important;
        margin-left: 10px;
    }

    /* 予約ボタン */
    .header-reserve {
        margin-top: 15px;
    }
    .header-reserve1 i {
        font-size: 28px;
        /* margin-bottom: 7px; */
    }
    .header-reserve2 i {
        font-size: 28px;
    }
    .header-reserve1 a {
        padding: 15px 11px !important;
        line-height: 1.2em;
        font-size: 110%;
        height: 90px;
    }
    .header-reserve2 a {
        padding: 15px 11px !important;
        line-height: 1.2em;
        font-size: 110%;
        height: 90px;
    }
}



/* nav固定
---------------------------------------------------- */
.cb-header {
    position: fixed;
    /* ヘッダーバーを固定 */
    top: -200px;
    left: 0;
    width: 100%;
    z-index: 1000;
    background-color: #fff;
    /*あとから出てくるナビの背景色*/
    /*border-bottom: 1px solid #111;*/
    /*ナビバーの下に下線出す */
}
@media print, screen and (min-width: 992px) {
    /*.cb-header{padding: 20px 30px;}*/
    .cb-header .menu {
        font-size: 90%;
    }
    /*.cb-header .menu > ul {float:none;margin: 0px auto;}*/
    /*中央揃えにする*/

    /* 予約ボタン */
    .cb-header .header-reserve {
        margin-top: 10px;
        margin-bottom: 10px;
    }
    .cb-header .header-reserve1 i {
        margin-bottom: 0px;
        display: inline-block;
        margin-right: 7px;
        vertical-align: middle;
    }
    .cb-header .header-reserve1 span {
        display: inline-block;
        padding-top: -10px;
        vertical-align: middle;
    }

    .cb-header .header-reserve2 i {
        display: inline-block;
        margin-right: 7px;
        vertical-align: middle;
    }
    .cb-header .header-reserve2 span {
        display: inline-block;
        vertical-align: middle;
    }

    .cb-header .header-reserve1 a {
        padding: 10px 0px !important;
        font-size: 90%;
        height: 55px;
    }
    .cb-header .header-reserve2 a {
        padding: 10px 0px !important;
        font-size: 90%;
        height: 55px;
    }
}
@media print, screen and (min-width: 1200px) {
    /*.cb-header nav {font-size: 90%;}*/
    /*.cb-header .menu > ul > li a{ margin-left: 35px!important;}*/
}

/* 印刷時表示消す */
@media print {
    .cb-header,
    .cb-header .logo,
    .cb-header .menu,
    .cb-header .header-reserve,
    .cb-header .header-reserve1,
    .cb-header .header-reserve2 {
        display: none;
    }
}

/* mainimage
---------------------------------------------------- */
#mainimage {
    position: relative;
    z-index: 1;
    /*height: 80vh;*/
    margin-bottom: 10px;
}
#pickup {
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 100;
    width: 95%;
}
#pickup img {
    width: 100%;
}
@media print, screen and (min-width: 768px) {
    #pickup {
        right: 10px;
        bottom: 10px;
        width: 30%;
    }
}
@media print, screen and (min-width: 992px) {
    #pickup {
        right: 20px;
        bottom: 20px;
        width: auto;
    }
}
@media print, screen and (min-width: 1200px) {
    #pickup {
        right: 100px;
        bottom: 50px;
    }
}

/* ナビゲーションボタン色・大きさ変更 */
.sp-button {
    border: none !important;
    background-color: #f9d0ec !important;
    margin: 6px !important;
    width: 10px !important;
    height: 10px !important;
}
.sp-selected-button {
    background-color: #f880cf !important;
}
.sp-button {
    display: none !important;
}

/* ヘッダー固定で上空ける */
#mainimage,
.h2-style,
.h2-style2 {
    margin-top: 59px;
}
@media print, screen and (min-width: 768px) {
    #mainimage,
    .h2-style,
    .h2-style2 {
        margin-top: 133px;
    }
}
@media print, screen and (min-width: 992px) {
    #mainimage,
    .h2-style,
    .h2-style2 {
        margin-top: 185px;
    }
}

#main {
    margin-top: 200px;
    background-color: #fff;
    padding-top: 30px;
}
.main-753{
    margin-top: -30px;
}
/* ギャラリーページ用 */
#main_transparent {
    margin-top: 200px;
    position: relative;
}
#main_transparent .wrap {
    padding-top: 30px;
    background-color: rgba(255, 255, 255, 0.9);
}
/* 背景固定 */
.gallery_bg_img {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    z-index: -1;
}
.gallery_bg_img:after {
    content: "";
    position: absolute;
    left: 0;
    top: 60px;
    width: 100%;
    height: 141px;
    background: url("../images/bg_h2_gallery.jpg") no-repeat center center;
    background-size: cover;
}
@media print {
    .gallery_bg_img {
        position: absolute;
    }
}
@media print, screen and (min-width: 768px) {
    #main {
        margin-top: 400px;
        padding-top: 50px;
    }
    .main-753{
        margin-top: -70px;
    }
    #main_transparent {
        margin-top: 400px;
    }
    #main_transparent .wrap {
        padding-top: 40px;
    }
    .gallery_bg_img:after {
        top: 134px;
        height: 249px;
    }
}
@media print, screen and (min-width: 992px) {
    #main {
        margin-top: 580px;
        padding-top: 80px;
    }
    .main-753{
        margin-top: -80px;
    }
    #main_transparent {
        margin-top: 580px;
    }
    #main_transparent .wrap {
        padding-top: 80px;
    }
    .gallery_bg_img:after {
        top: 180px;
        height: 401px;
    }
}


/* footer
---------------------------------------------------- */
footer {
    padding: 20px 0px 30px;
    background-color: #eee;
}
@media print, screen and (min-width: 768px) {
    footer {
        padding: 40px 0px;
    }
}

/* フッターテキストリンク */
.footer-textlink p {
    font-weight: bold;
    padding: 7px 0px;
    text-align: center;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    margin-bottom: 10px;
}
.footer-textlink li {
    list-style: none;
    font-size: 90%;
    padding: 0px 10px 10px 10px;
    width: 100%;
}
.footer-textlink a {
    color: #333;
    text-decoration: none
}
.footer-textlink li a::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    float: right;
    margin-top: 6px;
}
@media print, screen and (min-width: 768px) {
    .footer-textlink {
        margin-bottom: 10px;
        width: 20%;
        float: left;
    }
    .footer-textlink p {
        padding: 0;
        text-align: left;
        border-top: none;
        border-bottom: none;
        margin-bottom: 0px;
    }
    .footer-textlink li {
        width: auto;
        padding: 0px;
        font-size: 80%;
    }
    .footer-textlink li a::after {
        display: none
    }
    .footer-textlink li a::before {
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f105";
        display: inline-block;
        font-style: normal;
        font-variant: normal;
        text-rendering: auto;
        line-height: 1;
        margin-right: 5px;
    }
}

/* copyright*/
#copyright {
    background: url("../images/bg_footer.png") no-repeat bottom center #fff;
    padding: 15px 0px 70px;
    margin-bottom: 60px;
}
#copyright img {
    width: 30%;
    margin: 0px auto;
}
#copyright small {
    text-align: center;
    display: block;
    color: #999;
    font-size: 70%;
}
#copyright small i {
    margin-right: 5px;
}
@media print, screen and (min-width: 768px) {
    #copyright {
        padding: 20px 0px 80px;
        margin-bottom: 0;
    }
    #copyright img {
        width: auto;
        margin: 0px auto 10px;
    }
}
@media print, screen and (min-width: 768px) {
    #copyright {
        padding: 30px 0px 80px;
    }
    #copyright img {
        margin: 0px auto 20px;
    }
}


/* pagetop
---------------------------------------------------- */
#pagetop {
    position: fixed;
    bottom: 100px;
    right: 20px;
    z-index: 100;
}
#pagetop img {
    width: 50px;
}
@media print, screen and (min-width: 768px) {
    #pagetop {
        bottom: 20px;
        right: 20px;
    }
    #pagetop img {
        width: auto;
    }
}

/* sp　下部固定表示
---------------------------------------------------- */
.sp_foot {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 80px;
    padding: 0 5px;
    background-color: rgba(255, 255, 255, 0.50);
    /* overflow: hidden; */
    z-index: 50;
    display: flex;
    align-items: flex-end;
}
.sp_foot .col1 {
    float: left;
    width: 70%;
}
.sp_foot .col2 {
    float: left;
    width: 30%;
    display: flex;
    flex-direction: column;
}
.sp_foot .col1 a, .sp_foot .col2 a{
    color: #fff;
    font-size: 11px;
    line-height: 1.333;
    height: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #000;
    position: relative;
}
.sp_foot .col1 a span::before {
    font-family:"Font Awesome 5 Free","Font Awesome 5 Brands";
    content:"\f083";
    font-size: 18px;
    font-weight: 900;
    margin-right: 10px;
    color:#fff;
}
.sp_foot .col2 a i {
    margin-top: 0.5em;
    font-size: 2em;
}
.sp_foot .col1 a span {
    display: block;
    width: 100%;
    padding-left: 15px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
}
.sp_foot .col2 a span {
    display: block;
    width: 100%;
    text-align: center;
    margin-top: 5px;
}
.sp_foot .col1 .sp_foot_btn1 {
    border-radius: 7px 7px 0 7px;
    background-color: rgba(251, 166, 206, 0.8);
    height: 80px;

    display: flex;
    align-items: center;
    justify-content: center;
}
.sp_foot .col2 .sp_foot_btn2 {
    border-radius: 7px 7px 7px 0;
    background-color: rgba(99, 196, 236, 0.8);
    display: flex;
    flex-direction: column;
}
@media print, screen and (min-width: 576px) {
    .sp_foot .col1 a span {
        font-size: 22px;
    }
}
@media print, screen and (min-width: 768px) {
    .sp_foot {
        display: none;
    }
}

/* index.html（トップページ）
---------------------------------------------------- */
/* 撮影メニュー */
#top_shootingmenu {
    margin-top: 30px;
    background: url("../images/bg_pink.jpg") no-repeat center top;
    background-size: cover;
    padding: 30px 0px 0px;
}
#top_shootingmenu h2 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    text-align: center;
    font-size: 140%;
    margin-bottom: 20px;
}
#top_shootingmenu h2 strong {
    background: url("../images/ill_star.png") no-repeat left;
    background-size: 15%;
    padding: 20px 20px 3px;
    font-weight: normal;
    border-bottom: 1px solid #333;
}
#top_shootingmenu h2 span {
    display: block;
    font-family: 'Cookie', cursive;
    font-size: 70%;
    margin-top: 10px;
}
#top_shootingmenu img {
    margin: 0px auto;
}
#top_shootingmenu h3 {
    margin-top: 10px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
    text-align: center;
    font-size: 120%;
    margin-bottom: 20px;
}
#top_shootingmenu h3 span {
    display: block;
    font-family: 'Cookie', cursive;
    font-size: 70%;
    margin-top: 5px;
}
#top_shootingmenu h3 em {
    font-size: 70%;
    font-style: normal;
}
#top_shootingmenu a {
    color: #333;
}
#top_shootingmenu a:hover {
    color: #f880cf;
}

@media print, screen and (min-width: 768px) {
    #top_shootingmenu {
        margin-top: 40px;
        padding: 50px 0px;
    }
    #top_shootingmenu h2 {
        font-size: 180%;
        margin-bottom: 30px;
    }
    #top_shootingmenu h2 strong {
        padding: 20px 30px 0px;
    }
    #top_shootingmenu h2 span {
        margin-top: 10px;
    }
    #top_shootingmenu h3 {
        margin-bottom: 30px;
    }
    #top_shootingmenu h3 em {
        font-size: 65%;
    }
}
@media print, screen and (min-width: 992px) {
    #top_shootingmenu {
        margin-top: 50px;
        padding: 80px 0px;
    }
    #top_shootingmenu h2 {
        font-size: 250%;
        margin-bottom: 30px;
    }
    #top_shootingmenu h2 strong {
        padding: 20px 50px 0px;
    }
    #top_shootingmenu h3 {
        margin-top: 15px;
        font-size: 140%;
        margin-bottom: 60px;
    }
    #top_shootingmenu h3 em {
        font-size: 75%;
    }
}
@media print, screen and (min-width: 1200px) {
    #top_shootingmenu h3 {
        font-size: 160%;
    }
    #top_shootingmenu h3 em {
        font-size: 80%;
    }
}

/* 6つのポイント */
#top_point h2 {
    background: url("../images/bg_flower.jpg") no-repeat center;
    padding: 20px 0px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    text-align: center;
    font-size: 140%;
    margin-bottom: 20px;
}
#top_point h2 em {
    display: block;
    font-style: normal;
}
#top_point h2 strong {
    font-size: 220%;
    font-weight: normal;
    line-height: 1.0em;
}
#top_point h2 i {
    border-bottom: 1px solid #333;
    font-style: normal;
}
#top_point h2 span {
    display: block;
    font-family: 'Cookie', cursive;
    font-size: 70%;
    margin-top: 5px;
}
.top_point {
    border: 1px solid #333;
    border-radius: 10px;
    padding: 10px 15px 15px;
    margin-bottom: 40px;
}
.top_point01 {
    background: url("../images/top_point01.png") no-repeat center top;
    background-size: contain;
}
.top_point02 {
    background: url("../images/top_point02.png") no-repeat center top;
    background-size: contain;
}
.top_point03 {
    background: url("../images/top_point03.png") no-repeat center top;
    background-size: contain;
}
.top_point04 {
    background: url("../images/top_point04.png") no-repeat center top;
    background-size: contain;
}
.top_point05 {
    background: url("../images/top_point05.png") no-repeat center top;
    background-size: contain;
}
.top_point06 {
    background: url("../images/top_point06.png") no-repeat center top;
    background-size: contain;
}

.top_point07 {
    background: url("../images/top_point07.png") no-repeat center top;
    background-size: contain;
}

.top_point h3 {
    text-align: center;
    font-family: 'Cookie', cursive;
    font-size: 200%;
    color: #777;
    padding: 45px 0px 12px;
}
.top_point h3 strong {
    font-weight: normal;
    font-size: 150%;
    margin-left: 5px;
}
.top_point h4 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    text-align: center;
    font-size: 150%;
    line-height: 1.3em;
    margin-bottom: 10px;
}
.top_point p {
    padding: 0px 0px 10px;
}
.top_point a {
    display: block;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    background-color: #63c4ec;
    border: 1px solid #63c4ec;
    border-radius: 5px;
    padding: 10px 5px;
    font-size: 100%;
    text-align: center;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}
.top_point a {
    color: #fff;
    text-decoration: none
}
.top_point a:hover {
    color: #63c4ec;
    background-color: #fff;
    border: 1px solid #63c4ec;
}
.top_point a i {
    font-size: 200%;
    vertical-align: middle;
}
@media print, screen and (min-width: 768px) {
    #top_point h2 {
        padding: 40px 0px;
        font-size: 180%;
        margin-bottom: 40px;
    }
    .top_point {
        border: 1px solid #333;
        border-radius: 20px;
        margin-bottom: 30px;
    }
    .top_point h3 {
        font-size: 240%;
    }
    .top_point h3 strong {
        font-size: 140%;
        margin-left: 10px;
    }
    .top_point h4 {
        font-size: 130%;
    }
    .top_point p {
        padding: 0px 15px 10px;
        font-size: 100%;
    }
    .top_point a {
        margin: 0px 15px 15px;
    }
}
@media print, screen and (min-width: 992px) {
    #top_point h2 {
        padding: 60px 0px;
        font-size: 250%;
        margin-bottom: 60px;
    }
    #top_point h2 span {
        margin-top: 10px;
    }
    .top_point h3 {
        font-size: 300%;
    }
    .top_point h4 {
        font-size: 150%;
    }
    .top_point p {
        padding: 0px 20px 20px;
        text-align: center;
    }
    .top_point a {
        margin: 0px 100px 25px;
    }
}
@media print, screen and (min-width: 1200px) {
    .top_point01,
    .top_point02,
    .top_point03,
    .top_point04,
    .top_point05,
    .top_point06 {
        background-size: 96%;
    }
    .top_point h3 {
        padding: 55px 0px 40px;
    }
}

/* お知らせ */
#top_info {
    margin-top: 20px;
    background-color: #dee8ec;
    padding: 20px 0px 30px;
}
#top_info h2 {
    background: url("../images/ill_pencil.png") no-repeat top center;
    background-size: 8%;
    padding-top: 30px;
    font-size: 140%;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    text-align: center;
    margin-bottom: 15px;
}
#top_info h2 strong {
    font-weight: normal;
    border-bottom: 1px solid #333;
    padding-bottom: 3px;
}
#top_info h2 span {
    margin-top: 10px;
    display: block;
    font-family: 'Cookie', cursive;
    font-size: 70%;
}
.top_info_box {
    padding: 15px 10px;
    border-radius: 10px;
    margin-bottom: 10px;
    background-color: #fff;
}
.top_info_box dl {
    margin-left: -15px;
}
.top_info_box dt {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    color: #999;
    font-size: 80%;
    margin-bottom: 7px;
}
.top_info01 {
    background-color: #2050d0;
}
.top_info02 {
    background-color: #643d0f;
}
.top_info03 {
    background-color: #ff697e;
}
.top_info04 {
    background-color: #FFA500;
}
.top_info05 {
    background-color: #0a7a26;
}
.top_info06 {
    background-color: #f75b41;
}
.top_info07 {
    background-color: #08abc4;
}
.top_info_box dt span {
    padding: 5px 0px;
    text-align: center;
    line-height: 1.0em;
    width: 140px;
    display: inline-block;
    color: #fff;
    margin-right: 10px;
}
.top_info_box dd {
    font-size: 115%;
    color: #333;
}
@media print, screen and (min-width: 768px) {
    #top_info {
        margin-top: 30px;
        padding: 30px 0px 40px;
    }
    #top_info h2 {
        background-size: auto;
        padding-top: 45px;
        font-size: 180%;
        margin-bottom: 30px;
    }
    .top_info_box {
        background: url("../images/ico_infoarrow.png") no-repeat right bottom #fff;
        border-radius: 10px;
        padding: 15px 15px 30px;
        border: none;
        margin-bottom: 30px;
    }
    .top_info_box dl {
        margin-left: 0px;
    }
    .top_info_box dt {
        margin-top: 10px;
        font-size: 70%;
    }
    .top_info_box dd {
        font-size: 100%;
    }
}
@media print, screen and (min-width: 992px) {
    #top_info {
        margin-top: 50px;
        padding: 50px 0px 60px;
    }
    #top_info h2 {
        padding-top: 45px;
        font-size: 250%;
        margin-bottom: 40px;
    }
    .top_info_box {
        padding: 20px 20px 30px;
    }
}


/* ギャラリー */
#top_gallery {
    padding: 30px 0px;
}
#top_gallery h2 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 140%;
    text-align: center;
    padding-bottom: 10px;
    border-bottom: 5px solid #fba6ce;
    margin-bottom: 20px;
}
#top_gallery h2 span {
    display: block;
    font-family: 'Cookie', cursive;
    font-size: 70%;
    margin-top: 5px;
}
#top_gallery ul {
    list-style: none;
    margin: 0px -5px;
    overflow: hidden;
}
#top_gallery li {
    float: left;
    width: 30%;
    margin: 0px 5px 10px;
}
@media print, screen and (min-width: 768px) {
    #top_gallery {
        padding: 40px 0px;
    }
    #top_gallery h2 {
        font-size: 180%;
        padding-bottom: 15px;
        margin-bottom: 30px;
    }
    #top_gallery ul {
        margin: 0px -10px;
    }
    #top_gallery li {
        width: 17%;
        margin: 0px 10px 20px;
    }
}
@media print, screen and (min-width: 992px) {
    #top_gallery {
        padding: 80px 0px;
    }
    #top_gallery h2 {
        font-size: 250%;
        padding-bottom: 20px;
        margin-bottom: 45px;
    }
    #top_gallery li {
        width: 17.5%;
    }
}
@media print, screen and (min-width: 1200px) {
    #top_gallery li {
        width: 18%;
    }
}

/*-----------------トップから全ページ共通ここから-----------------*/
/* キャンペーン */
#top_campaign {
    padding: 30px 0px;
}
#top_campaign h2 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 140%;
    text-align: center;
    padding-bottom: 10px;
    border-bottom: 5px solid #63c4ec;
    margin-bottom: 20px;
}
#top_campaign h2 span {
    display: block;
    font-family: 'Cookie', cursive;
    font-size: 70%;
    margin-top: 5px;
}
@media print, screen and (min-width: 768px) {
    #top_campaign {
        padding: 40px 0px;
    }
    #top_campaign h2 {
        font-size: 180%;
        padding-bottom: 15px;
        margin-bottom: 30px;
    }
}
@media print, screen and (min-width: 992px) {
    #top_campaign {
        padding: 80px 0px;
    }
    #top_campaign h2 {
        font-size: 250%;
        padding-bottom: 20px;
        margin-bottom: 45px;
    }
}


/* スタジオ紹介 */
#top_studio {
    padding: 20px 0px;
    background-color: #fbeef4;
}
#top_studio h2 {
    background: url("../images/ill_garland.png") no-repeat top center;
    background-size: 15%;
    padding-top: 25px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 140%;
    text-align: center;
    margin-bottom: 20px;
}
#top_studio h2 span {
    display: block;
    font-family: 'Cookie', cursive;
    font-size: 70%;
    margin-top: 5px;
}
#top_studio a {
    color: #333;
}

#top_studio img {
    margin: 0px auto 10px;
}
#top_studio p {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    text-align: center;
    line-height: 1.2em;
}
@media print, screen and (min-width: 768px) {
    #top_studio {
        padding: 30px 0px 40px;
    }
    #top_studio h2 {
        background-size: auto;
        padding-top: 45px;
        font-size: 180%;
        margin-bottom: 30px;
    }

}
@media print, screen and (min-width: 992px) {
    #top_studio {
        padding: 60px 0px 80px;
    }
    #top_studio h2 {
        padding-top: 50px;
        font-size: 250%;
        margin-bottom: 40px;
    }
}
@media screen and (max-width: 1199px) {
    #top_studio .row {
        margin-left: calc(0px - 15 * (100vw - 320px) / 880);
        margin-right: calc(0px - 15 * (100vw - 320px) / 880);
    }
    #top_studio .row>[class^="col-"], .row-10>[class*=" col-"] {
        padding-left: calc(0px + 15 * (100vw - 320px) / 880);
        padding-right: calc(0px + 15 * (100vw - 320px) / 880);
    }
}


/* 予約・お問い合わせ */
#reservecontact {
    background-color: #444;
    color: #fff;
    padding-bottom: 20px;
}
#reservecontact h3 {
    background-color: #fbeef4;
    margin-bottom: 20px;
}
#reservecontact h3 img {
    margin: 0px auto;
    width: 50%;
}
.reservecontact_reserve {
    display: block;
    text-align: center;
    background-color: #fba6ce;
    border-radius: 50px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    padding: 10px 0px;
    font-size: 110%;
    margin-bottom: 10px;
}
.reservecontact_reserve:link,
.reservecontact_reserve:visited {
    color: #fff;
}
.reservecontact_reserve i {
    display: inline-block;
    margin-right: 7px;
}
.reservecontact_reserve strong {
    display: inline-block;
    font-weight: normal;
}
.reservecontact_contact {
    display: block;
    text-align: center;
    background-color: #63c4ec;
    border-radius: 50px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    padding: 10px 0px;
    font-size: 100%;
    margin-bottom: 10px;
}
.reservecontact_contact:link,
.reservecontact_contact:visited,
.reservecontact_contact span {
    color: #fff !important;
}
.reservecontact_contact i {
    display: inline-block;
    margin-right: 2px;
}
.reservecontact_contact strong {
    font-weight: normal;
}
@media print, screen and (min-width: 768px) {
    #reservecontact {
        padding-bottom: 30px;
    }
    #reservecontact h3 {
        margin-bottom: 30px;
    }
    #reservecontact h3 img {
        width: auto;
    }
    .reservecontact_reserve {
        font-size: 150%;
        height: 70px;
        padding: 20px 0px 0px;
        margin-bottom: 20px;
    }
    .reservecontact_contact {
        height: 70px;
        padding: 5px 0px 0px;
    }
    .reservecontact_contact strong {
        font-size: 90%;
    }
    .reservecontact_contact span {
        font-size: 150%;
    }
    .reservecontact_contact i {
        margin-right: 7px;
    }
}
@media print, screen and (min-width: 768px) {
    #reservecontact {
        padding-bottom: 50px;
    }
    #reservecontact h3 {
        margin-bottom: 50px;
    }
    .reservecontact_reserve {
        font-size: 170%;
    }
    .reservecontact_contact span {
        font-size: 170%;
    }
    #reservecontact p {
        background: url("../images/bg_reservecontact.png") no-repeat top center;
        background-size: contain;
        text-align: center;
        min-height: 130px;
    }
}

/*-----------------トップから全ページ共通ここまで-----------------*/





/* detail.html（お知らせ　詳細ページ）
---------------------------------------------------- */
.detail_info_box {
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 15px;
}
.detail_info_box dl {
    margin-bottom: 15px;
}
.detail_info_box dt {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    color: #999;
    font-size: 60%;
    margin-bottom: 7px;
}
.detail_info_box dt span {
    padding: 5px 0px;
    text-align: center;
    line-height: 1.0em;
    width: 120px;
    display: inline-block;
    color: #fff;
    margin-right: 10px;
}
.detail_info_box dd {
    font-size: 110%;
    color: #333;
}
.detail_info_box .photo-ofi {
    margin-bottom: 15px;
}
@media print, screen and (min-width: 768px) {
    .detail_info_box {
        padding: 20px;
    }
    .detail_info_box dd {
        font-size: 130%;
    }
}
@media print, screen and (min-width: 992px) {
    .detail_info_box {
        padding: 30px;
    }
    .detail_info_box dl {
        margin-bottom: 20px;
    }
    .detail_info_box dt {
        font-size: 90%;
        margin-bottom: 10px;
    }
    .detail_info_box dd {
        font-size: 150%;
    }
    .detail_info_box .photo-ofi {
        margin-bottom: 20px;
    }
}


/* campaign.html/compaign_detail.html（キャンペーン一覧ページ・キャンペーン詳細ページ）
---------------------------------------------------- */
.campaign_box {
    margin-top: 15px;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 15px;
}
.campaign_category {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 10px;
}
.campaign_category span {
    padding: 5px 0px;
    text-align: center;
    line-height: 1;
    display: block;
    color: #fff;
}
.campaign_date {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    color: #999;
    font-size: 80%;
    text-align: center;
    margin-bottom: 7px;
}
.campaign_box .matchHeight {
    margin-top: 10px;
}
.campaign_box .btn-detail {
    font-family: 'Cookie', cursive;
    font-size: 120%;
    margin-top: 10px;
}
@media print, screen and (min-width: 768px) {
    .campaign_box {
        margin-top: 30px;
    }
    .campaign_date {
        font-size: 70%;
    }
}
@media print, screen and (min-width: 992px) {
    .campaign_box {
        padding: 20px;
    }
}

/* 詳細ページの指定 */
.campaign_box .title01 span {
    color: #333;
}

.campaign_date2 {
    color: #999;
    font-size: 80% !important;
    margin-bottom: 20px;
}
.campaign_date2 span {
    padding: 5px 0px;
    text-align: center;
    line-height: 1.0em;
    width: 160px;
    display: inline-block;
    color: #fff;
    margin-right: 10px;
}
@media print, screen and (min-width: 768px) {}
@media print, screen and (min-width: 992px) {
    .campaign_date2 {
        font-size: 90%;
    }
}


/* about.html（初めての方へ）
---------------------------------------------------- */
/* 初めてのミチュールは楽しいことだらけ */
.about_imi h3 {
    background: url("../images/bg_starmoon.png") no-repeat center top;
    background-size: contain;
    padding-top: 40px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    text-align: center;
    font-size: 180%;
    line-height: 1.5em;
    margin-bottom: 25px;
}
.about_imi h3 span {
    display: block;
    margin-top: 5px;
    font-family: 'Cookie', cursive;
    font-size: 90%;
}
@media print, screen and (min-width: 768px) {
    .about_imi h3 {
        padding-top: 80px;
        padding-bottom: 50px;
        margin-bottom: 25px;
    }
}
@media print, screen and (min-width: 992px) {
    .about_imi h3 {
        padding-top: 100px;
        padding-bottom: 50px;
        font-size: 220%;
        margin-bottom: 25px;
    }
}
.about_imi h4 {
    background: url("../images/bg_starmoon2.png") no-repeat center top;
    background-size: cover;
    padding-top: 110px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 150%;
    text-align: center;
    margin-bottom: 10px;
}
@media print, screen and (min-width: 768px) {
    .about_imi h4 {
        padding-top: 250px;
        font-size: 180%;
        margin-bottom: 20px;
    }
}
@media print, screen and (min-width: 992px) {
    .about_imi h4 {
        background-size: contain;
        padding-top: 250px;
        font-size: 220%;
        margin-bottom: 20px;
    }
}

.about_imi_box {
    padding: 10px;
    background: url("../images/bg_starrysky.jpg") no-repeat center;
    background-size: cover;
}
.about_imi_box p {
    background-color: rgba(255, 255, 255, 0.2);
    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    padding: 10px 15px;

}
.about_imi_box p span {
    font-family: 'Cookie', cursive;
    font-size: 140%;
}
.about_imi_box p span strong {
    font-size: 130%;
    width: 20px;
    display: inline-block;
}
@media print, screen and (min-width: 768px) {
    .about_imi_box {
        padding: 30px;
        background: url("../images/bg_starrysky.jpg") no-repeat top;
    }
    .about_imi_box p {
        padding: 15px 20px;
        margin-bottom: 5px;
    }
    .about_imi_box p span {
        font-size: 180%;
    }
}
@media print, screen and (min-width: 992px) {
    .about_imi_box_inr {
        background: url("../images/logo_big.png") no-repeat right;
    }
}

/* ミチュールは療法のいいとこどり */
.about_iitoko {
    background: url("../images/bg_pink.jpg") repeat;
    padding: 0px 0px 30px;
}
.about_iitoko_inr {
    background: url("../images/bg_starcloud.png") no-repeat top;
    background-size: contain;
    padding-top: 50px;
}
.about_iitoko h3 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    text-align: center;
    font-size: 180%;
    margin-bottom: 20px;
}
.about_iitoko h3 span {
    display: block;
    margin-top: 5px;
    font-family: 'Cookie', cursive;
    font-size: 80%;
}
.about_iitoko_box {
    border: 4px double #333;
    background-color: #fff;
    padding-top: 20px;
}
.about_iitoko_box h4 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 180%;
    text-align: center;
    margin-bottom: 15px;
}
.about_iitoko_box h4 span {
    padding-bottom: 2px;
    border-bottom: 1px solid #333;
}
.about_iitoko_box h5 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 140%;
    text-align: center;
    margin-bottom: 20px;
}
.about_iitoko_box p {
    padding: 15px;
}
@media print, screen and (min-width: 768px) {
    .about_iitoko {
        padding: 0px 0px 50px;
    }
    .about_iitoko_inr {
        padding-top: 50px;
    }
    .about_iitoko h3 {
        font-size: 200%;
        margin-bottom: 30px;
    }
    .about_iitoko_box p {
        padding: 20px;
    }
}
@media print, screen and (min-width: 992px) {
    .about_iitoko {
        padding: 0px 0px 80px;
    }
    .about_iitoko_inr {
        padding-top: 70px;
    }
    .about_iitoko h3 {
        font-size: 220%;
        margin-bottom: 40px;
    }
    .about_iitoko_box {
        padding-top: 30px;
    }
    .about_iitoko_box h4 {
        font-size: 200%;
        margin-bottom: 20px;
    }
    .about_iitoko_box h5 {
        font-size: 150%;
        margin-bottom: 30px;
    }
}


/* ミチュールの説明 */
.about_box h4 {
    margin-top: 20px;
    font-family: 'Cookie', cursive;
    font-size: 200%;
}
.about_box h4 span {
    margin-left: 5px;
    font-size: 150%;
}
.about_box h5 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 160%;
    line-height: normal;
    font-weight: bold;
    margin-bottom: 20px;
}
.about_box h5 span {
    padding-bottom: 2px;
    border-bottom: 1px solid #333;
}
.about_box p {
    margin-bottom: 20px;
}
.about_box img {
    border-radius: 10px;
}
@media print, screen and (min-width: 768px) {
    .about_box h4 {
        margin-top: 30px;
        font-size: 250%;
    }
    .about_box h5 {
        font-size: 180%;
        margin-bottom: 60px;
    }
    .about_box p {
        margin-bottom: 30px;
    }
    .about_box .btn-style {
        margin: 20px 200px 0px;
    }
    .about_box img {
        border-radius: 15px;
    }
}
@media print, screen and (min-width: 992px) {
    .about_box h4 {
        margin-top: 80px;
    }
    .about_box h5 {
        font-size: 220%;
        margin-bottom: 60px;
    }
    .about_box p {
        margin-bottom: 80px;
    }
    .about_box .btn-style {
        margin: 30px 0px 0px;
        width: 360px;
    }
}


/* price.html（料金プラン）
---------------------------------------------------- */
/* メニュー切り替えナビ */
.price_menu {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -2.5px 20px;
}
.price_menu li {
    list-style: none;
    width: 50%;
    padding: 0 2.5px;
    margin-bottom: 5px;
}
.price_menu li a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    border: 1px solid #333;
    border-collapse: collapse;
    padding: 10px 5px;
    color: #333;
    font-size: 90%;
    text-align: center;
}
.price_menu li a:hover {
    background-color: #333;
    border: 1px solid #333;
    color: #fff;
}
@media print, screen and (min-width: 768px) {
    .price_menu li {
        width: 33.33333333%;
    }
    .price_menu li a {
        font-size: 75%;
    }
}
@media print, screen and (min-width: 992px) {
    .price_menu {
        margin: 0 -2.5px 30px;
    }
    .price_menu li a {
        font-size: 90%;
        padding: 15px 0px;
    }
}
@media print, screen and (min-width: 1200px) {
    .price_menu li {
        width: 16.66666666%;
    }
    .price_menu li a {
        font-size: 100%;
    }
}

/* 店舗タイトル */
.price_shop_name {
    position: relative;
    display: inline-block;
    padding: 5px 0;
    margin-right: 5px;
    margin-bottom: 15px;
    box-sizing: border-box;
    font-size: 120%;
    font-weight: bold;
    color: #fff;
    text-align: center;
}
.price_shop_name.all{ background: #FFA500;}
.price_shop_name.tsukishima{ background: #2050d0;}
.price_shop_name.waterfront{ background: #643d0f;}
.price_shop_name.ariake{ background: #ff697e;}
.price_shop_name.nagareyama{ background: #0a7a26;}
/* .price_shop_name.firstPlace{ background: #ffbb3e;} */

.price_shop_name span {
    display: block;
    padding: 5px 60px 2px;
    border-top: dashed 1px #FFF;
    border-bottom: dashed 1px #FFF;
    line-height: 1.5;
}
.price_shop_name:before,
.price_shop_name:after {
    position: absolute;
    content: '';
    width: 0px;
    height: 0px;
    z-index: 1;
}
/*左端の山形*/
/* .price_shop_name:before {
    top: 0;
    left: 0;
    border-width: 30px 0px 30px 15px;
    border-color: transparent transparent transparent #fff;
    border-style: solid;
} */
/*右端の山形*/
/* .price_shop_name:after {
    top: 0;
    right: 0;
    border-width: 30px 15px 30px 0px;
    border-color: transparent #fff transparent transparent;
    border-style: solid;
} */

/* 撮影料金 */
.price_bg_pink {
    background: url("../images/bg_starcloud.png") no-repeat top #fbeef4;
    background-size: contain;
}
.price_bg_yellow {
    background: url("../images/bg_starcloud.png") no-repeat top #fbfaee;
    background-size: contain;
}
.price_bg_blue {
    background: url("../images/bg_starcloud.png") no-repeat top #eef7fb;
    background-size: contain;
}
.price_bg_green {
    background: url("../images/bg_starcloud.png") no-repeat top #eefbf1;
    background-size: contain;
}

.price_box {
    border-radius: 10px;
    padding: 15px 0;
    width: 86%;
    margin: 0 auto;
}
.price_box h5, .price_box .ttl01 {
    text-align: center;
    font-size: 130%;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    margin-bottom: 15px;
}
.price_box h5 strong, .price_box .ttl01 strong {
    color: #F052BA;
    display: inline-block;
}
.price_box h6, .price_box .ttl02 {
    display: inline-block;
    width: 100%;
    font-size: 180%;
    font-weight: bold;
    line-height: normal;
    margin-bottom: 10px;
    position: relative;
}
.price_box h6 span, .price_box .ttl02 span {
    width: 97%;
    text-align: center;
    display: inline-block;
    padding: 10px 0px;
    text-decoration: none;
    background: #fba6ce;
    color: #FFF;
    border-radius: 4px;
    -webkit-box-shadow: 0px 0px 0px 3px #fba6ce;
    box-shadow: 0px 0px 0px 3px #fba6ce;
    border: dashed 1px #FFF;
}
.price_price {
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 150%;
    line-height: 1.1;
    margin-bottom: 15px;
}
.price_price strong {
    font-size: 200%;
    margin:10px 0;
    display: inline-block;
}
.price_price2 {
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 130%;
    line-height: 1.1;
    margin-bottom: 15px;
}
.price_price2 strong {
    font-size: 200%;
}
.price_price_sub {
    display: inline-block;
    padding: 0 1em;
}
.price_point {
    font-size: 150%;
    font-weight: bold;
    margin-bottom: 10px;
}
.price_point i {
    margin-right: 5px;
}
@media print, screen and (min-width: 768px) {
    .price_box {
        border-radius: 15px;
        padding: 40px 0;
    }
    .price_box h5, .price_box .ttl01 {
        font-size: 140%;
        margin-bottom: 20px;
    }
    .price_box h6, .price_box .ttl02 {
        font-size: 220%;
        margin-bottom: 10px;
    }
    .price_box h6 span, .price_box .ttl02 span {
        padding: 12px 0px;
        border-radius: 5px;
        -webkit-box-shadow: 0px 0px 0px 5px #fba6ce;
        box-shadow: 0px 0px 0px 5px #fba6ce;
    }
    .price_price {
        font-size: 170%;
    }
    .price_price2 {
        font-size: 170%;
    }
    .price_price2 strong {
        font-size: 200%;
    }
    .price_point {
        margin-top: 15px;
        font-size: 170%;
        margin-bottom: 10px;
    }
    .price_point i {
        margin-right: 5px;
    }
    .price_box .btn-style {
        margin: 0 auto;
    }
}
@media print, screen and (min-width: 992px) {
    .price_box {
        border-radius: 20px;
        padding: 60px 0px;
    }
    .price_box h5, .price_box .ttl01 {
        font-size: 200%;
        margin-bottom: 30px;
    }
    .price_box h6, .price_box .ttl02 {
        text-align: center;
        font-size: 270%;
    }
    .price_box h6 span, .price_box .ttl02 span {
        width: 800px;
        padding: 12px 0px;
        border-radius: 7px;
        -webkit-box-shadow: 0px 0px 0px 7px #fba6ce;
        box-shadow: 0px 0px 0px 7px #fba6ce;
        border: dashed 2px #FFF;
    }
    .price_price {
        font-size: 200%;
        margin-bottom: 20px;
    }
    .price_price2 {
        font-size: 200%;
        margin-bottom: 30px;
    }
    .price_point {
        font-size: 190%;
    }
    .price_box .btn-style {
        max-width: 700px;
        margin: 0 auto;
    }
    .price_box ul {
        margin-right: -15px;
    }
    .price_box ul {
        *zoom: 1;
    }
    .price_box ul:after {
        content: "";
        display: table;
        clear: both;
    }
    .price_box li {
        width: 50%;
        float: left;
        padding: 0 15px 0 0;
    }
}

/* オプション撮影料金 */
.price_option {
    background-color: #fff;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.price_option .image {
    height: 120px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 120px;
    flex: 0 0 120px;
    max-width: 120px;
}
.price_option .image img {
    max-width: inherit;
    max-height: inherit;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}
.price_option .column {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 10px;
}
.price_option h4 {
    background-color: #63c4ec;
    color: #fff;
    font-size: 120%;
    font-weight: bold;
    text-align: center;
    padding: 10px;
}
.price_option h5 {
    margin-top: 10px;
    color: #f880cf;
    font-size: 120%;
    text-align: center;
    font-weight: bold;
    margin-bottom: 5px;
}
.price_option .price {
    color: #f880cf;
    font-size: 120%;
    font-weight: bold;
}
.price_option p small {
    font-size: 0.86em;
}
@media print, screen and (min-width: 768px) {
    .price_option {
        display: block;
        padding: 15px;
        margin-bottom: 30px;
    }
    .price_option .image {
        height: auto;
        max-width: inherit;
    }
    .price_option .column {
        padding-left: 0px;
    }
}
@media print, screen and (min-width: 992px) {
    .price_option h4 {
        font-size: 100%;
    }
    .price_option h5 {
        margin-top: 15px;
        font-size: 120%;
        margin-bottom: 10px;
    }
    .price_option .price {
        font-size: 120%;
    }
}

/* オリジナルアイテム */
.price_item_flow {
    margin-bottom: 15px;
}
.price_item_flow li {
    margin-left: 18px;
}
@media print, screen and (min-width: 768px) {
    .price_item_flow li {
        float: left;
        margin-right: 15px;
    }
}

.price_item {
    margin-top: 20px;
    border-radius: 15px;
    padding: 15px;
}
.price_item h4 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    text-align: center;
    font-size: 150%;
}
.price_item h4 span {
    display: block;
    font-family: 'Cookie', cursive;
    font-size: 90%;
}
.price_item_box {
    margin-top: 15px;
    background-color: #fff;
    border-radius: 10px;
}
.price_item_box h5 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    text-align: center;
    font-size: 120%;
    padding: 12px 0px;
    background-color: #333;
    color: #fff;
    border-radius: 15px 15px 0px 0px;
}
.price_item_box p {
    padding: 10px 15px 15px;
}
.price_item_box p strong {
    font-size: 120%;
    color: #63c4ec;
}
@media print, screen and (min-width: 768px) {
    .price_item {
        margin-top: 30px;
        border-radius: 20px;
        padding: 30px 20px 20px;
    }
    .price_item h4 {
        font-size: 170%;
    }
    .price_item_box {
        margin-top: 30px;
    }
    .price_item_box h5 {
        font-size: 105%;
        padding: 15px 0px;
    }
    .price_item_box p strong {
        font-size: 100%;
    }
}
@media print, screen and (min-width: 992px) {
    .price_item {
        margin-top: 30px;
        border-radius: 20px;
        padding: 30px 30px 30px;
    }
    .price_item h4 {
        font-size: 190%;
    }
    .price_item_box p strong {
        font-size: 110%;
    }
}



/* studio.html（スタジオ紹介　月島店）
---------------------------------------------------- */
/* スタジオ紹介スライドショー */
#studio_slider {
    position: relative;
    z-index: 1;
}
#studio_slider_campaign {
    position: absolute;
    right: 10px;
    bottom: 50px;
    z-index: 100;
}
#studio_slider_campaign div {
    width: 40%;
    float: right;
    margin-left: 5px;
}
#studio_slider_campaign img {
    width: 100%;
}
@media print, screen and (min-width: 768px) {
    #studio_slider {
        position: relative;
        z-index: 1;
    }
    #studio_slider_campaign {
        position: absolute;
        right: 5px;
        bottom: 60px;
        z-index: 100;
        width: 50%;
    }
    #studio_slider_campaign div {
        width: 30%;
        float: left;
        margin-left: 5px;
    }
}

/* 撮影メニュー */
.studio_btn li {
    list-style: none;
    margin-bottom: 5px;
}
.studio_btn a {
    display: block;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    background-color: #63c4ec;
    border: 1px solid #63c4ec;
    border-radius: 5px;
    padding: 5px 5px;
    font-size: 100%;
    text-align: center;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}
.studio_btn a {
    color: #fff;
    text-decoration: none
}
.studio_btn a:hover {
    color: #63c4ec;
    background-color: #fff;
    border: 1px solid #63c4ec;
}
@media print, screen and (min-width: 768px) {
    .studio_btn ul {
        margin: 0px -5px;
    }
    .studio_btn li {
        width: 48%;
        float: left;
        margin: 0px 5px 10px;
    }
}
@media print, screen and (min-width: 992px) {
    .studio_btn li {
        width: 23.9%;
        float: left;
        margin: 0px 5px 10px;
        font-size: 95%;
    }
    .studio_btn a {
        padding: 15px 5px;
    }
}
@media print, screen and (min-width: 1200px) {
    .studio_btn li {
        width: 24.1%;
        font-size: 100%;
    }
}

/*  アクセスマップ */
#studio_map .access {
    margin-bottom: 20px;
}
#studio_map iframe {
    height: 300px;
}
@media print, screen and (min-width: 992px) {
    #studio_map .access {
        margin-bottom: 40px;
    }
    #studio_map iframe {
        height: 450px;
    }
}


/* birthday.html（撮影メニュー　バースデー・ベビーバースデー）
---------------------------------------------------- */
/* ページ上部画像 */
#menu_photo {
    max-width: 946px;
    margin: 0 auto 10px;
    position: relative;
    z-index: 1;
}
#menu_photo>img {
    border-radius: 30px;
}
#menu_photo_campaign {
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 100;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}
#menu_photo_campaign>div {
    -ms-flex: 0 0 40%;
    -webkit-box-flex: 0;
    /* flex: 0 0 40%; */
    max-width: 130px;
    padding-left: 5px;
}
#menu_photo_campaign img {
    width: 100%;
}
@media print, screen and (min-width: 768px) {
    #menu_photo {
        position: relative;
        z-index: 1;
    }
    #menu_photo_campaign {
        position: absolute;
        right: 5px;
        bottom: 20px;
        z-index: 100;
        width: 50%;
    }
    #menu_photo_campaign>div {
        -ms-flex: 0 0 30%;
        -webkit-box-flex: 0;
        flex: 0 0 30%;
        max-width: 30%;
    }
}

/* ポイント */
.menu_point {
    margin-top: 15px;
}
.menu_point h4 {
    text-align: center;
}
.menu_point h4 span {
    background-color: #f880cf;
    color: #fff;
    border-radius: 100px 100px 0px 0px;
    font-family: 'Cookie', cursive;
    font-size: 160%;
    padding: 15px 20px 10px;
}
.menu_point h4 strong {
    font-weight: normal;
    font-size: 150%;
    margin-left: 3px;
}
.menu_point .in-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-radius: 10px;
    background-color: #fff;
}
.menu_point .image {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 120px;
    flex: 0 0 120px;
    max-width: 120px;
    overflow: hidden;
    border-radius: 10px 0px 0px 10px;
}
.menu_point .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.menu_point .column {
    padding: 15px;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    border-radius: 0 10px 10px 0;
    background-color: #fff;
}
@media print, screen and (min-width: 768px) {
    .menu_point .in-box {
        display: block;
    }
    .menu_point .image {
        height: auto;
        max-width: inherit;
        border-radius: 10px 10px 0px 0px;
    }
    .menu_point .column {
        border-radius: 0 0px 10px 10px;
    }
}
@media print, screen and (min-width: 992px) {
    .menu_point h4 span {
        border-radius: 150px 150px 0px 0px;
        padding: 20px 25px 10px;
    }
    .menu_point p {
        padding: 20px;
    }
}

/* 撮影料金 */
.menu_price_box.box-blue{
    background-color: #e8edfa;
}
.menu_price_box.box-gray {
    background-color: #efebe7;
}
/* 20220810 */
.menu_price_box.box-green {
    background-color: #eefbf1;
}
/*  */
.menu_price_box.box-red {
    background-color: #fff0f2;
}
.menu_price_box {
    position: relative;
    border-radius: 10px;
    padding: 40px 15px;
    margin-bottom: 30px;
}
.menu_price_box h5 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 15px;
}
.menu_price_box h5 p {
    font-size: 14px;
    line-height: normal;
}
.menu_price_box h5 strong {
    font-size: 32px;
}
@media print, screen and (min-width: 576px) {
    .menu_price_box {
        padding: 30px;
    }
}
@media print, screen and (min-width: 992px) {
    .menu_price_box h5 {
        font-size: 150%;
    }
}

/* 店舗タイトル */
.menu_price_shop {
    display: inline-block;
    text-align: center;
    padding: 3px 0;
    margin-right: 5px;
    color: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: bold;
    margin-bottom: 5px;
}
.menu_price_shop.all{ background: #FFA500;}
.menu_price_shop.tsukishima{ background: #2050d0;}
.menu_price_shop.waterfront{ background: #643d0f;}
.menu_price_shop.ariake{ background: #ff697e;}
.menu_price_shop.nagareyama{ background: #0a7a26;}
.menu_price_shop.firstPlace{ background: #ffcd6f;}

.menu_price_shop span {
    display: block;
    padding: 3px 20px 0;
    border-top: dashed 1px #FFF;
    border-bottom: dashed 1px #FFF;
    line-height: 1.5;
}

.logo_box {
    position: relative;
}
.logo_box.menu_price_shop.firstPlace {
    position: absolute;
}

/* 撮影メニュー写真 */
.menu_price_photo{
    position: relative;
    display: flex;
    height: 100%;
    margin: 15px -15px 0;
}
.menu_price_photo li{
    width: 50%;
    padding: 0 15px;
    box-sizing: border-box;
    list-style: none;
}
@media screen and (min-width:768px){
    .menu_price_photo{
        margin: 0 -15px;
    }
    .menu_price_photo li{
        position: absolute;
        width: 60%;
    }
    .menu_price_photo li:nth-of-type(1){
        top: 50%;
        left: 50%;
        transform: translate(-80%, -80%);
    }
    .menu_price_photo li:nth-of-type(2){
        bottom: 50%;
        right: 50%;
        transform: translate(80%, 80%);
    }
}

/* オプション大 */
.menu_option {
    border: 1px solid #333;
    border-radius: 10px;
}
.menu_option img {
    border-radius: 10px 10px 0px 0px;
}
.menu_option_inr {
    padding: 15px;
}
.menu_option h4 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    text-align: center;
    font-size: 150%;
    margin-bottom: 15px;
}
.menu_option ol {
    margin-left: 20px;
    margin-bottom: 15px;
}
.menu_option ul {
    margin-bottom: 15px;
}
.menu_option ul strong {
    font-weight: normal;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 120%;
}
.menu_option ul li {
    margin-bottom: 10px;
}
.menu_option_price {
    border-top: 1px dotted #333;
    border-bottom: 1px dotted #333;
    padding: 10px 0px;
    text-align: center;
}
.menu_option_price strong {
    font-size: 130%;
}
.menu_option_price+.menu_option_price {
    border-top: none;
}
@media print, screen and (min-width: 768px) {
    .menu_option h4 {
        font-size: 170%;
        margin-bottom: 20px;
    }
}
@media print, screen and (min-width: 992px) {
    .menu_option_inr {
        padding: 30px;
    }
    .menu_option h4 {
        font-size: 200%;
        margin-bottom: 20px;
    }
}

/* オプション小 */
.menu_option2 {
    padding: 10px;
    border: 1px solid #333;
    border-radius: 10px;
    margin-bottom: 15px;
}
.menu_option2 h4 {
    background-color: #63c4ec;
    color: #fff;
    padding: 7px 10px;
    font-size: 110%;
    font-weight: bold;
    text-align: center;
    margin-bottom: 5px;
}
.menu_option2 p {
    text-align: center;
    font-size: 120%;
    font-weight: bold;
    color: #f880cf;
}
.menu_option2 .row {
    margin-left: -5px;
    margin-right: -5px;
}
.menu_option2 .row>[class^="col-"], .menu_option2 .row>[class*=" col-"] {
    padding-left: 5px;
    padding-right: 5px;
}
@media print, screen and (min-width: 768px) {
    .menu_option2 {
        border: 1px solid #333;
        background-color: #fff;
        padding: 15px;
        border-radius: 10px;
    }
    .menu_option2 h4 {
        padding: 10px 10px;
    }
}
@media print, screen and (min-width: 992px) {
    .menu_option2 h4 {
        font-size: 100%;
    }
}

/* オプション大 追加 */
.menu_option3 {
    border: 1px solid #333;
    border-radius: 10px;
    padding: 15px;
}
.menu_option3 .row {
    margin-left: -5px;
    margin-right: -5px;
}
.menu_option3 .row>[class^="col-"], .menu_option3 .row>[class*=" col-"] {
    padding-left: 5px;
    padding-right: 5px;
}
.menu_option3 .menu_option_inr {
    /*padding: 15px;*/
    padding: 0;
}
.menu_option3 h4 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    text-align: center;
    font-size: 150%;
    margin-bottom: 15px;
}
.menu_option3 ol {
    margin-left: 20px;
    margin-bottom: 15px;
}
.menu_option3 ul {
    margin-bottom: 15px;
}
.menu_option3 ul strong {
    font-weight: normal;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 120%;
}
.menu_option3 ul li {
    margin-bottom: 10px;
}
.menu_option3 .menu_option_price {
    border-top: 1px dotted #333;
    border-bottom: 1px dotted #333;
    padding: 10px 0px;
    text-align: center;
}
.menu_option3 .menu_option_price strong {
    font-size: 130%;
}
@media print, screen and (min-width: 768px) {
    .menu_option3 {
        padding: 0;
    }
    .menu_option3 img {
        border-radius: 10px 10px 0px 0px;
    }
    .menu_option3 .menu_option_inr {
        padding: 15px;
    }
    .menu_option3 h4 {
        font-size: 170%;
        margin-bottom: 20px;
    }
}
@media print, screen and (min-width: 992px) {
    .menu_option3 .menu_option_inr {
        padding: 30px;
    }
    .menu_option3 h4 {
        font-size: 200%;
        margin-bottom: 20px;
    }
}

/* メニューボタン */
.menu_btn {
    text-align: center;
}
.menu_btn h4 {
    margin: 10px 0px 0px;
    font-family: 'Cookie', cursive;
    font-size: 200%;
}
.menu_btn p {
    margin-bottom: 5px;
}
.menu_btn .btn-detail {
    font-family: 'Cookie', cursive;
    font-size: 120%;
}

/* メニューボタン2 */
.menu_btn2 {
    text-align: center;
}
.menu_btn2 a {
    color: #333;
}
.menu_btn2 img {
    border-radius: 100%;
}
.menu_btn2 h4 {
    margin: 10px 0px 0px;
    font-family: 'Cookie', cursive;
    font-size: 200%;
}
.menu_btn2 p {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    margin-bottom: 5px;
}

/* メニュー下部テキストリンク */
#menu_textlink {
    margin-top: 20px;
}
#menu_textlink li {
    list-style: none;
    width: 46%;
    float: left;
    font-size: 75%;
    margin: 0px 5px 5px;
}
#menu_textlink a {
    display: block;
    background-color: #fff;
    border: 1px solid #333;
    border-radius: 50px;
    padding: 7px 0px;
    font-size: 100%;
    text-align: center;
    vertical-align: middle;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}
#menu_textlink a {
    color: #333;
    text-decoration: none
}
#menu_textlink a:hover {
    color: #fff;
    background-color: #333;
    border: 1px solid #333;
}
@media print, screen and (min-width: 768px) {
    #menu_textlink {
        margin-top: 50px;
    }
    #menu_textlink li {
        width: 23%;
        margin: 0px 5px 5px;
        font-size: 75%;
    }
}
@media print, screen and (min-width: 992px) {
    #menu_textlink li {
        width: 23.5%;
        font-size: 100%;
    }
    #menu_textlink a {
        padding: 12px 0px;
    }
}
@media print, screen and (min-width: 1200px) {
    #menu_textlink li {
        width: 24%;
    }
}


/* 753.html（撮影メニュー　七五三）
---------------------------------------------------- */
.shichigosan_senkouyoyaku_no {
    line-height: 1.0em;
    font-size: 200%;
    font-family: 'Cookie', cursive;
    color: #fff;
    margin-bottom: 5px;
}
.shichigosan_senkouyoyaku_no span {
    background-color: #63c4ec;
    padding: 5px 15px;
    line-height: 1.0em;
}
.shichigosan_senkouyoyaku {
    border: 2px solid #63c4ec;
    padding: 10px;
    margin-bottom: 15px;
}
.shichigosan_senkouyoyaku h5 {
    color: #f880cf;
    padding: 5px 0px;
    font-size: 130%;
    font-weight: bold;
}
@media print, screen and (min-width: 992px) {
    .shichigosan_senkouyoyaku {
        padding: 15px;
        margin-bottom: 20px;
    }
    .shichigosan_senkouyoyaku h5 {
        padding: 10px 0px;
        font-size: 150%;
    }
}


/* maternity.html（撮影メニュー　マタニティ）
---------------------------------------------------- */
.maternity_box {
    background: url("../images/bg_pink.jpg") repeat;
    page-break-inside: avoid;
    page-break-after: avoid;
}
.maternity_box+.maternity_box {
    margin-top: 10px;
}
.maternity_box .columns {
    padding: 30px 15px 50px;
}
.maternity_box .photo-ofi2 {
    padding-bottom: 66.6667%;
}
.maternity_box h3 {
    font-family: 'Cookie', cursive;
    text-align: center;
    font-size: 300%;
}
.maternity_box h4 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    text-align: center;
    font-size: 150%;
    margin-bottom: 15px;
}
@media print, screen and (min-width: 768px) {
    .maternity_box .photo-ofi2, .maternity_box .columns {
        height: 330px;
        padding-bottom: 0;
    }
    .maternity_box .photo-ofi2 img {
        position: static;
    }
    .maternity_box .columns {
        padding: 0 15px;
        display: -ms-flexbox;
        display: -webkit-box;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .maternity_box .columns .in-box {
        width: 100%;
        text-align: center;
    }
    .maternity_box p {
        text-align: center;
    }
}
@media print, screen and (min-width: 992px) {
    .maternity_box .photo-ofi2, .maternity_box .columns {
        height: 385px;
    }
    .maternity_box h3 {
        font-size: 400%;
    }
    .maternity_box h4 {
        font-size: 180%;
        margin-bottom: 30px;
    }
    .maternity_box .btn-style {
        width: 360px;
        margin-left: auto;
        margin-right: auto;
    }
}
@media print, screen and (min-width: 1200px) {
    /*  .maternity_box01,
  .maternity_box02,
  .maternity_box03,
  .maternity_box04,
  .maternity_box05,
  .maternity_box06{
    padding: 60px 30px 100px;
  }*/
}


/* photo.html（撮影メニュー　証明写真）
---------------------------------------------------- */
/* 証明写真メニュー */
.photo_menu {
    list-style: none;
    margin-bottom: 30px;
}
.photo_menu li {
    width: 100%;
    margin-bottom: 2%;
}
.photo_menu01 {
    float: left;
}
.photo_menu02 {
    float: right;
}
.photo_menu03 {
    float: left;
}
.photo_menu04 {
    float: right;
}
@media print, screen and (min-width: 768px) {
    .photo_menu li {
        width: 32.4%;
        margin-bottom: 0;
    }
    .photo_menu01 {
        float: left;
        margin-right: 1.3%;
    }
    .photo_menu02 {
        float: left;
        margin-right: 1.3%;
    }
    .photo_menu03 {
        float: left;
    }
    .photo_menu04 {
        float: right;
    }
}
@media print, screen and (min-width: 992px) {
    .photo_menu {
        margin-bottom: 50px;
    }
}
@media print, screen and (min-width: 1200px) {
    .photo_menu {
        margin-bottom: 60px;
    }
    .photo_menu li {
        width: 374px;
    }
    .photo_menu01 {
        margin-right: 8px;
    }
    .photo_menu02 {
        margin-right: 8px;
    }
}

/* 証明写真のポイント */
.photo_point {
    /* border: 1px solid #333; */
    padding: 15px;
    margin-bottom: 10px;
    background: #fff;
    border-radius: 10px;
}
.photo_point h5 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 130%;
    font-weight: bold;
    color: #fff;
    margin-bottom: 5px;
    background: #63c4ec;
    padding: 5px;
    display: inline-block;
    position: relative;
}
.photo_point h5::after{
  position: absolute;
  content: '';
  top: 0;
  right: -10px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 13.5px 0 13.5px 10px;
  border-color: transparent transparent transparent #63c4ec;
}
.photo_point h6 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 140%;
    margin-bottom: 10px;
}
.photo_point p {
    margin-bottom: 10px;
}
@media print, screen and (min-width: 768px) {
    .photo_point {
        margin-bottom: 20px;
    }
    .photo_point h5::after{
    border-width: 15.5px 0 15.5px 10px;
    }
}
@media print, screen and (min-width: 992px) {
    .photo_point {
        padding: 20px;
        margin-bottom: 30px;
    }
    .photo_point h5 {
        font-size: 140%;
        margin-bottom: 10px;
    }
    .photo_point h6 {
        margin-bottom: 15px;
    }
    .photo_point p {
        margin-bottom: 0px;
    }
}

/* 証明写真のタイトル */
.photo_title {
    /* background: url("../images/bg_pink2.jpg") repeat; */
    color: #fff;
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 200%;
    margin-bottom: 15px;
    background: #fba6ce;
    border-radius: 10px;
    padding: 10px;
}
.photo_title span{
  border: 2px dashed #fff;
  border-left: none;
  border-right: none;
  display: inline-block;
  padding: 15px;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
    .photo_title {
        padding: 20px;
        font-size: 180%;
        margin-bottom: 20px;
    }
}
@media print, screen and (min-width: 992px) {
    .photo_title {
        padding: 20px;
        font-size: 280%;
        margin-bottom: 30px;
    }
}

/* 証明写真の例*/
.photo_box {
    border: 1px solid #333;
    padding: 5px;
    margin-bottom: 15px;
}
.photo_box p {
    text-align: center;
    font-size: 120%;
    padding-top: 10px;
}
@media print, screen and (min-width: 768px) {
    .photo_box {
        margin-bottom: 20px;
    }
}
@media print, screen and (min-width: 992px) {
    .photo_box {
        /* padding: 20px; */
    }
}

/* 証明写真の小タイトル */
.photo_title2 {
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 140%;
    margin-bottom: 10px;
}
.photo_title2 span {
    padding-bottom: 2px;
    line-height: 1.5em;
    position: relative;
}

@media print, screen and (min-width: 768px) {
    .photo_title2 {
        font-size: 160%;
        margin-bottom: 20px;
    }
    .photo_title2 span {
        padding-bottom: 10px;
    }
}
@media print, screen and (min-width: 992px) {
    .photo_title2 {
        font-size: 200%;
    }
}

/* 証明写真table */
.photo_table {
    width: 100%;
    border-collapse: collapse;
}
.photo_table th {
    border: 1px solid #ccc;
    padding: 2px;
    text-align: center;
    font-weight: normal;
    font-size: 90%;
    vertical-align: middle;
}
.photo_table td {
    border: 1px solid #ccc;
    padding: 2px;
    background: #fff;
}
.photo_table_bg1 {
    background-color: #dee8ec;
}
.photo_table_bg2 {
    background-color: #eee;
}
@media print, screen and (min-width: 768px) {
    .photo_table th {
        padding: 5px;
        font-weight: bold;
        font-size: 100%;
    }
    .photo_table td {
        padding: 5px;
    }
}
@media print, screen and (min-width: 992px) {
    .photo_table th {
        padding: 10px;
    }
    .photo_table td {
        padding: 10px;
    }
}


/* flow.html（撮影の流れ）
---------------------------------------------------- */
.flow_title {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 140%;
}
.flow_title span {
    font-family: 'Cookie', cursive;
    font-size: 300%;
    margin-right: 10px;
}
@media print, screen and (min-width: 768px) {
    .flow_title {
        font-size: 160%;
    }
}


/* faq.html（よくある質問）
---------------------------------------------------- */
.faq_icon {
    text-align: center;
}
.faq_icon i {
    font-size: 170%;
    color: #fff;
    background: #fba6ce;
    border-radius: 150px 150px 0px 0px;
    padding: 12px 28px 5px;
}
.faq_category {
    display: inline-block;
    position: relative;
    text-align: center;
    padding: 5px 0;
    background: #fba6ce;
    /*背景色*/
    color: #fff;
    /*文字色*/
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    cursor: pointer;
}
.faq_category h3 {
    border-top: dashed 1px #FFF;
    /*上の破線*/
    border-bottom: dashed 1px #FFF;
    /*下の破線*/
    line-height: 48px;
    font-size: 130%;
}
.faq_category:before, .faq_category:after {
    position: absolute;
    content: '';
    width: 0px;
    height: 0px;
    z-index: 1;
}
.faq_category:before {
    /*左端の山形*/
    top: 0;
    left: 0;
    border-width: 30px 0px 30px 15px;
    border-color: transparent transparent transparent #fff;
    border-style: solid;
}
.faq_category:after {
    /*右端の山形*/
    top: 0;
    right: 0;
    border-width: 30px 15px 30px 0px;
    border-color: transparent #fff transparent transparent;
    border-style: solid;
}
.faq_box dl {
    margin-top: 10px;
    border: 1px solid #ddd;
    padding: 5px 15px 15px;
    border-radius: 10px;
    line-height: normal;
}
.faq_box dl dt {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    border-bottom: 1px dotted #333;
    font-size: 110%;
    padding-bottom: 10px;
}
.faq_box dl dt span {
    font-family: 'Cookie', cursive;
    font-size: 40px;
    margin-right: 7px;
    line-height: 0.1em;
}
.faq_box dl dd span {
    font-family: 'Cookie', cursive;
    font-size: 40px;
    margin-right: 12px;
    color: #f880cf;
    line-height: 0.1em;
}
.faq_box dl dt,
.faq_box dl dd {
    padding-top: 15px;
    text-indent: -32px;
    padding-left: 32px;
}
@media print, screen and (min-width: 768px) {
    .faq_icon i {
        border-radius: 150px 150px 0px 0px;
        padding: 15px 30px 7px;
    }
    .faq_category h3 {
        font-size: 140%;
    }
    .faq_box dl {
        margin-top: 15px;
        padding: 10px 20px;
        border-radius: 15px;
    }
    .faq_box dl dt {
        font-size: 110%;
    }
}
@media print, screen and (min-width: 992px) {
    .faq_category h3 {
        font-size: 150%;
    }
    .faq_box dl {
        padding: 15px 30px 25px;
    }
    .faq_box dl dt {
        font-size: 120%;
        padding-bottom: 15px;
    }
}


/* recruit.html（採用情報）
---------------------------------------------------- */
/* トップテキスト */
.recruit_top {
    background: url("../images/bg_starmoon.png") no-repeat top center;
    background-size: 110%;
    border-radius: 15px;
    padding-top: 40px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    text-align: center;
    line-height: normal;
    padding-bottom: 20px;
}
@media print, screen and (min-width: 768px) {
    .recruit_top {
        width: 100%;
        font-size: 120%;
        padding-top: 70px;
        margin-bottom: 30px;
    }
}
@media print, screen and (min-width: 992px) {
    .recruit_top {
        background-size: cover;
        font-size: 160%;
        padding-top: 100px;
        padding-bottom: 30px;
    }
}
@media print, screen and (min-width: 1200px) {
    .recruit_top {
        background-size: auto;
        font-size: 160%;
        padding-top: 130px;
        padding-bottom: 60px;
    }
}

/* ポイント紹介 */
.recruit_box {
    background: url("../images/bg_pink.jpg") repeat;
}
.recruit_box01,
.recruit_box02,
.recruit_box03 {
    padding: 15px 20px 30px;
}
.recruit_box h3 {
    font-family: 'Cookie', cursive;
    text-align: center;
    font-size: 300%;
}
.recruit_box p {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 120%;
    text-align: center;
    line-height: normal;
}
@media print, screen and (min-width: 768px) {
    .recruit_box01 {
        background: url("../images/img_recruit01.jpg") no-repeat;
        background-size: 50%;
        padding: 50px 20px 70px;
    }
    .recruit_box02 {
        background: url("../images/img_recruit02.jpg") no-repeat right;
        background-size: 50%;
        padding: 50px 20px 70px;
    }
    .recruit_box03 {
        background: url("../images/img_recruit03.jpg") no-repeat;
        background-size: 50%;
        padding: 50px 20px 70px;
    }
}
@media print, screen and (min-width: 992px) {
    .recruit_box01,
    .recruit_box02,
    .recruit_box03 {
        padding: 70px 30px 90px;
    }
    .recruit_box h3 {
        font-size: 400%;
    }
    .recruit_box p {
        font-size: 140%;
    }
}
@media print, screen and (min-width: 1200px) {
    .recruit_box01,
    .recruit_box02,
    .recruit_box03 {
        padding: 90px 30px 120px;
    }
    .recruit_box p {
        font-size: 160%;
    }
}

.recruit_text {
    background: url("../images/bg_starmoon2.png") no-repeat center top;
    background-size: contain;
    padding-top: 120px;
    margin-bottom: 15px;
}
@media print, screen and (min-width: 768px) {
    .recruit_text {
        padding-top: 180px;
        margin-bottom: 20px;
    }
    .recruit_text p {
        text-align: center;
        font-size: 110%;
    }
}
@media print, screen and (min-width: 992px) {
    .recruit_text {
        background-size: 70%;
    }
}

/* 募集要項 */
@media print, screen and (min-width: 768px) {
    .recruit_table th {
        width: 160px !important;
    }
}


/* costume_tsukishima.html（衣装一覧　月島店）
/* costume_waterfront.html（衣装一覧　月島ウォーターフロント店）
/* costume_ariake.html（衣装一覧　有明ガーデン店）
---------------------------------------------------- */
/* メニュー切り替えナビ */
.costume_menu {
    margin-bottom: 20px;
}
.costume_menu li {
    list-style: none;
    width: 24%;
    float: left;
    margin-left: 3px;
}
.costume_menu li a {
    border-collapse: collapse;
}
.costume_menu li a:hover {
    opacity: 0.7;
}
@media print, screen and (min-width: 768px) {
    .costume_menu {
        display: table;
        width: 100%;
        table-layout: fixed;
        border-collapse: separate;
        border-spacing: 5px 0;
        margin-bottom: 40px;
    }
    .costume_menu li {
        float: none;
        width: auto;
        display: table-cell;
        margin: 0;
    }
}


/* gallery.html（ギャラリー）
---------------------------------------------------- */
/* メニュー切り替えナビ */
.gallery_menu {
    clear: both;
    margin-bottom: 20px;
}
.gallery_menu li {
    list-style: none;
    width: 48%;
    float: left;
    font-size: 80%;
    text-align: center;
    margin-right: 5px;
    margin-bottom: 5px;
}
.gallery_menu li a {
    display: block;
    border: 1px solid #333;
    padding: 10px 0px;
    color: #333;
}
.gallery_menu li a:hover {
    background-color: #333;
    border: 1px solid #333;
    color: #fff;
}
@media print, screen and (min-width: 768px) {
    .gallery_menu {
        margin-bottom: 40px;
    }
    .gallery_menu li {
        width: 24%;
    }
}
@media print, screen and (min-width: 992px) {
    .gallery_menu li {
        font-size: 100%;
    }
}


/* ギャラリー画像 */
.gallery_img {
    list-style: none;
    margin: 0px -5px 20px;
    overflow: hidden;
}
.gallery_img li {
    float: left;
    width: 30%;
    margin: 0px 5px 10px;
}
.gallery_img a {
    cursor: pointer
}
@media print, screen and (min-width: 768px) {
    .gallery_img {
        margin: 0px -10px 40px;
    }
    .gallery_img li {
        width: 17%;
        margin: 0px 10px 20px;
    }
}
@media print, screen and (min-width: 992px) {
    .gallery_img li {
        width: 17.5%;
    }
}
@media print, screen and (min-width: 1200px) {
    .gallery_img li {
        width: 18%;
    }
}




/* voice.html（お客様の声）
---------------------------------------------------- */
/* サブナビ */
.voice_navi {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 110%;
    margin-bottom: 10px;
}
.voice_navi i {
    margin-right: 5px;
}
#voice_year {
    list-style: none;
    margin-bottom: 20px;
}
#voice_year li {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    display: inline-block;
    margin-right: 10px;
}
#voice_new li a,
#voice_year li a:link {
    color: #333;
}
#voice_year li.active>a {
    color: #fff;
    background-color: #333;
    border: 1px solid #333;
}
@media print, screen and (min-width: 768px) {
    .voice_navi {
        margin-bottom: 15px;
    }
    #voice_year {
        margin-bottom: 0px;
    }
    #voice_year li {
        display: block;
        text-align: center;
        margin-bottom: 5px;
    }
    #voice_year li a {
        border: 1px solid #333;
        border-radius: 50px;
        padding: 7px 0px;
        display: block;
    }
    #voice_year li a:hover {
        color: #fff;
        background-color: #333;
        border: 1px solid #333;
    }
}
@media print, screen and (min-width: 992px) {}

/* 記事のアイテム */
.voice_box {
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 15px;
    margin-bottom: 15px;
}
.voice_box2 {
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 15px;
    margin-bottom: 15px;
}
.voice_date {
    font-size: 90%;
    margin-bottom: 5px;
}
.voice_date2 {
    font-size: 80%;
    margin-bottom: 5px;
}
.voice_store01 {
    background-color: #2050d0;
}
.voice_store02 {
    background-color: #643d0f;
}
.voice_store03 {
    background-color: #ff697e;
}
.voice_store04 {
    background-color: #FFA500;
}
.voice_store05 {
    background-color: #0a7a26;
}
.voice_store06 {
    background-color: #f75b41;
}
.voice_store07 {
    background-color: #08abc4;
}
.voice_date span {
    float: right;
    padding: 7px 0px;
    text-align: center;
    line-height: 1.0em;
    width: 170px;
    display: inline-block;
    color: #fff;
    font-size: 90%;
}
.voice_date2 span {
    padding: 7px 0px;
    text-align: center;
    line-height: 1.0em;
    width: 100%;
    display: inline-block;
    color: #fff;
    font-size: 90%;
    margin-bottom: 5px;
}
.voice_box h3 {
    clear: both;
    font-size: 120%;
    margin-bottom: 10px;
}
.voice_box2 h3 {
    font-size: 100%;
    line-height: 1.5em;
    margin-bottom: 10px;
}
.voice_box .btn-detail {
    float: right;
    font-family: 'Cookie', cursive;
    font-size: 120%;
    margin-top: 10px;
}
.voice_box2 .btn-detail {
    float: right;
    font-family: 'Cookie', cursive;
    font-size: 120%;
}
@media print, screen and (min-width: 768px) {
    .voice_box {
        border-radius: 15px;
        padding: 20px;
        margin-bottom: 30px;
    }
    .voice_box2 {
        border-radius: 20px;
        padding: 20px;
        margin-bottom: 30px;
    }
    .voice_date2 {
        font-size: 90%;
    }
    .voice_box h3 {
        font-size: 140%;
        margin-bottom: 15px;
    }
    .voice_box2 h3 {
        font-size: 110%;
        line-height: 1.5em;
        margin-bottom: 15px;
    }
}
@media print, screen and (min-width:992px) {
    .voice_box {
        border-radius: 20px;
        padding: 30px;
    }
    .voice_box h3 {
        font-size: 150%;
    }
}

/* お客様の声詳細ページの設定 */
.voice_box_mt {
    margin-top: 15px;
}
@media print, screen and (min-width: 768px) {
    .voice_box_mt {
        margin-top: 20px;
    }
}


/* access.html（アクセスマップ）
---------------------------------------------------- */
/* 店舗切り替えナビ　※衣装一覧でも使用 */
.store_menu {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 40px;
}
.store_menu li {
    list-style: none;
}
.store_menu li a {
    display: block;
    border: 1px solid #333;
    border-collapse: collapse;
    padding: 10px 0px;
    text-align: center;
    text-decoration: none;
    background: #63c4ec;
    color: #FFF;
    border-radius: 4px;
    -webkit-box-shadow: 0px 0px 0px 3px #63c4ec;
    box-shadow: 0px 0px 0px 3px #63c4ec;
    border: dashed 1px #FFF;
}
.store_menu li a:hover {
    opacity: 0.7;
}
.store_menu>li.active>a {
    -webkit-box-shadow: 0px 0px 0px 3px #fba6ce;
    box-shadow: 0px 0px 0px 3px #fba6ce;
    background: #fba6ce;
}
@media print, screen and (min-width: 768px) {
    .store_menu {
        grid-template-columns: repeat(3,1fr);
        margin-bottom: 60px;
    }
    .store_menu li a {
        padding: 10px 6px;
    }
}
@media print, screen and (min-width: 992px) {
    .store_menu li {
        font-size: 90%;
    }
    .store_menu li a {
        padding: 12px 6px;
    }
}
@media print, screen and (min-width: 1200px) {
    .store_menu li {
        font-size: 110%;
    }
}

/* 店舗概要 */
#tsukishima table,
#waterfront table,
#ariake table,
#nagareyama table {
    margin-top: 15px;
    margin-bottom: 20px;
}
@media print, screen and (min-width: 768px) {
    #tsukishima table,
    #waterfront table,
    #ariake table,
    #nagareyama table {
        margin-top: 30px;
        margin-bottom: 40px;
    }
}

/*  アクセスマップ */
#tsukishima .access,
#waterfront.access,
#ariake .access,
#nagareyama .access {
    margin-top: 10px;
}
#tsukishima iframe,
#waterfront iframe,
#ariake iframe,
#nagareyama iframe {
    height: 300px;
}
@media print, screen and (min-width: 992px) {
    #tsukishima .access,
    #waterfront.access,
    #ariake .access,
    #nagareyama .access {
        margin-top: 20px;
    }
    #tsukishima iframe,
    #waterfront iframe,
    #ariake iframe,
    #nagareyama iframe {
        height: 450px;
    }
}

/* お店までのご案内 */
.access_route {
    background: url("../images/bg_starrysky.jpg") no-repeat center;
    background-size: cover;
    padding: 15px;
}
.access_route_inr {
    background-color: rgba(255, 255, 255, 0.6);
    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    padding: 15px;
}
@media print, screen and (min-width: 992px) {
    .access_route {
        padding: 30px;
    }
    .access_route_inr {
        padding: 30px;
    }
}


/* contact.html（お問い合わせ・キャンセル待ち）
---------------------------------------------------- */
.contact_tel {
    margin-bottom: 20px;
}
.contact_left {
    background-color: #fba6ce;
    color: #fff;
    border-radius: 10px 10px 0px 0px;
    padding: 10px;
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
}
.contact_right {
    background-color: #fbeef4;
    border-radius: 0px 0px 10px 10px;
    padding: 15px 10px;
    text-align: center;
}
.contact_right div {
    text-align: center;
    margin-bottom: 5px;
    font-family: 'Cookie', cursive;
    font-size: 250%;
    vertical-align: bottom;
}
.contact_right div img {
    display: inline;
    margin-right: 5px;
}
.contact_right div a:link {
    color: #333;
}
@media print, screen and (min-width:768px) {
    .contact_tel {
        display: table;
        width: 100%;
        margin-bottom: 30px;
    }
    .contact_left {
        display: table-cell;
        vertical-align: middle;
        border-radius: 10px 0px 0px 10px;
        font-size: 120%;
        width: 40%;
    }
    .contact_right {
        display: table-cell;
        vertical-align: middle;
        border-radius: 0px 10px 10px 0px;
        padding: 30px 10px;
        width: 60%;
    }
    .contact_right div {
        font-size: 300%;
    }
}
@media print, screen and (min-width:992px) {
    .contact_tel {
        margin-bottom: 40px;
    }
    .contact_left {
        font-size: 140%;
    }
    .contact_right div {
        font-size: 350%;
    }
}


/* 中ページh2
--------------------------------------------------- */
#h2_detail { background: url("../images/bg_h2_detail.jpg") no-repeat center / cover;}
#h2_campaign { background: url("../images/bg_h2_campaign.jpg") no-repeat center / cover;}
#h2_about { background: url("../images/bg_h2_about.jpg") no-repeat center / cover;}
#h2_price { background: url("../images/bg_h2_price.jpg") no-repeat center / cover;}
#h2_studio { background: url("../images/bg_h2_studio.jpg") no-repeat center / cover;}
#h2_waterfront { background: url("../images/bg_h2_waterfront.jpg") no-repeat center / cover;}
#h2_ariake { background: url("../images/bg_h2_ariake.jpg") no-repeat center / cover;}
#h2_shrine { background: url("../images/bg_h2_shrine.jpg") no-repeat center / cover;}
#h2_birthday { background: url("../images/bg_h2_birthday.jpg") no-repeat center / cover;}
#h2_753 { background: url("../images/bg_h2_753.jpg") no-repeat center / cover;}
#h2_graduate { background: url("../images/bg_h2_graduate.jpg") no-repeat center / cover;}
#h2_half { background: url("../images/bg_h2_half.jpg") no-repeat center / cover;}
#h2_maternity { background: url("../images/bg_h2_maternity.jpg") no-repeat center / cover;}
#h2_photo { background: url("../images/bg_h2_photo.jpg") no-repeat center / cover;}
#h2_commemorative { background: url("../images/bg_h2_commemorative.jpg") no-repeat center / cover;}
#h2_faq { background: url("../images/bg_h2_faq.jpg") no-repeat center / cover;}
#h2_flow { background: url("../images/bg_h2_flow.jpg") no-repeat center / cover;}
#h2_recruit { background: url("../images/bg_h2_recruit.jpg") no-repeat center / cover;}
#h2_costume { background: url("../images/bg_h2_costume.jpg") no-repeat center / cover;}
#h2_voice { background: url("../images/bg_h2_voice.jpg") no-repeat center / cover;}
#h2_access { background: url("../images/bg_h2_access.jpg") no-repeat center / cover;}
#h2_contact { background: url("../images/bg_h2_contact.jpg") no-repeat center / cover;}
#h2_nagareyama { background: url("../images/bg_h2_nagareyama.jpg") no-repeat center / cover;}
#h2_urawa { background: url("../images/bg_h2_urawa.jpg") no-repeat center / cover;}
#h2_movie { background: url("../images/bg_h2_movie.jpg") no-repeat center / cover;}
#h2_smashcake { background: url("../images/bg_h2_smashcake.jpg") no-repeat center / cover;}
#h2_kawaguchi { background: url("../images/bg_h2_kawaguchi.jpg") no-repeat center / cover;}

.h2_wrapper {
    content: "";
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 209px;
}
@media print, screen and (min-width: 768px) {
    .h2_wrapper {
        height: 383px;
    }
}
@media print, screen and (min-width: 992px) {
    .h2_wrapper {
        height: 580px;
    }
}




.h2-style h2 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    text-align: center;
    font-size: 180%;
    text-shadow:
        #fff 2px 0px 10px, #fff -2px 0px 10px,
        #fff 0px -2px 10px, #fff -2px 0px 10px,
        #fff 2px 2px 10px, #fff -2px 2px 10px,
        #fff 2px -2px 10px, #fff -2px -2px 10px,
        #fff 1px 2px 10px, #fff -1px 2px 10px,
        #fff 1px -2px 10px, #fff -1px -2px 10px,
        #fff 2px 1px 10px, #fff -2px 1px 10px,
        #fff 2px -1px 10px, #fff -2px -1px 10px,
        #fff 1px 1px 10px, #fff -1px 1px 10px,
        #fff 1px -1px 10px, #fff -1px -1px 10px;
}
.h2-style h2 span {
    margin-top: 5px;
    font-family: 'Cookie', cursive;
    font-size: 70%;
    display: block;
    text-shadow:
        #fff 2px 0px 10px, #fff -2px 0px 10px,
        #fff 0px -2px 10px, #fff -2px 0px 10px,
        #fff 2px 2px 10px, #fff -2px 2px 10px,
        #fff 2px -2px 10px, #fff -2px -2px 10px,
        #fff 1px 2px 10px, #fff -1px 2px 10px,
        #fff 1px -2px 10px, #fff -1px -2px 10px,
        #fff 2px 1px 10px, #fff -2px 1px 10px,
        #fff 2px -1px 10px, #fff -2px -1px 10px,
        #fff 1px 1px 10px, #fff -1px 1px 10px,
        #fff 1px -1px 10px, #fff -1px -1px 10px;
}
.h2-style h2 strong {
    font-weight: normal;
    font-size: 75%;
    text-shadow:
        #fff 2px 0px 10px, #fff -2px 0px 10px,
        #fff 0px -2px 10px, #fff -2px 0px 10px,
        #fff 2px 2px 10px, #fff -2px 2px 10px,
        #fff 2px -2px 10px, #fff -2px -2px 10px,
        #fff 1px 2px 10px, #fff -1px 2px 10px,
        #fff 1px -2px 10px, #fff -1px -2px 10px,
        #fff 2px 1px 10px, #fff -2px 1px 10px,
        #fff 2px -1px 10px, #fff -2px -1px 10px,
        #fff 1px 1px 10px, #fff -1px 1px 10px,
        #fff 1px -1px 10px, #fff -1px -1px 10px;
}
.h2-style p {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    margin-top: 10px;
    text-align: center;
    font-size: 85%;
    line-height: normal;
    text-shadow:
        #fff 2px 0px 10px, #fff -2px 0px 10px,
        #fff 0px -2px 10px, #fff -2px 0px 10px,
        #fff 2px 2px 10px, #fff -2px 2px 10px,
        #fff 2px -2px 10px, #fff -2px -2px 10px,
        #fff 1px 2px 10px, #fff -1px 2px 10px,
        #fff 1px -2px 10px, #fff -1px -2px 10px,
        #fff 2px 1px 10px, #fff -2px 1px 10px,
        #fff 2px -1px 10px, #fff -2px -1px 10px,
        #fff 1px 1px 10px, #fff -1px 1px 10px,
        #fff 1px -1px 10px, #fff -1px -1px 10px;
}
@media print, screen and (min-width: 768px) {
    .h2-style h2 {
        font-size: 250%;
    }
    .h2-style h2 strong {
        font-weight: normal;
        font-size: 90%;
    }
    .h2-style p {
        font-size: 100%;
    }
}
@media print, screen and (min-width: 992px) {
    .h2-style h2 {
        font-size: 300%;
    }
    .h2-style h2 strong {
        font-weight: normal;
        font-size: 100%;
    }
}

/* 印刷時非表示 */
/*@media print{
  .h2-style,
  .h2-style2{
    display: none;
  }
}*/


/* タイトル
--------------------------------------------------- */
.h3-style {
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: 200%;
    text-align: center;
    padding-bottom: 10px;
    border-bottom: 5px solid #fba6ce;
    margin-bottom: 20px;
}
.h3-style em {
    display: block;
    font-style: normal;
    font-size: 60%;
}
.h3-style span {
    display: block;
    font-family: 'Cookie', cursive;
    font-weight: 500;
    font-size: 70%;
    margin-top: 3px;
}
@media print, screen and (min-width: 768px) {
    .h3-style {
        font-size: 225%;
        padding-bottom: 15px;
        margin-bottom: 30px;
    }
}
@media print, screen and (min-width: 992px) {
    .h3-style {
        font-size: 250%;
        padding-bottom: 20px;
        margin-bottom: 45px;
    }
}

/* 頭に星2つ */
.title01 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 150%;
    margin-bottom: 15px;
}
.title01 span {
    background: url("../images/ill_star.png") no-repeat left;
    background-size: 27px;
    padding: 12px 25px 0px;
}
@media print, screen and (min-width: 768px) {
    .title01 {
        font-size: 140%;
        margin-bottom: 20px;
    }
    .title01 span {
        background-size: 35px;
        padding: 20px 30px 0px;
    }
}
@media print, screen and (min-width: 992px) {
    .title01 {
        font-size: 170%;
        margin-bottom: 30px;
    }
    .title01 span {
        padding: 20px 40px 0px;
    }
}

/* 三日月マーク */
.title02 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 150%;
}
.title02::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
    content: "\f186";
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-size: 150%;
    margin-right: 7px;
}


/* 青いリボン右より */
.title03 {
    display: inline-block;
    position: relative;
    height: 40px;
    line-height: 40px;
    text-align: center;
    padding: 5px 0;
    background: #63c4ec;
    /*背景色*/
    color: #FFF;
    /*文字色*/
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 10px;
}
.title03 span {
    display: block;
    margin: 0;
    padding: 0 20px 0 10px;
    border-top: dashed 1px #FFF;
    border-bottom: dashed 1px #FFF;
    line-height: 26px;
    font-size: 110%;
}
.title03:after {
    position: absolute;
    content: '';
    z-index: 1;
    top: 0;
    right: 0;
    width: 0px;
    height: 0px;
    border-width: 20px 7px 20px 0px;
    border-color: transparent #fff transparent transparent;
    border-style: solid;
}
@media print, screen and (min-width: 992px) {
    .title03 {
        height: 60px;
        line-height: 60px;
        margin-bottom: 20px;
    }
    .title03 span {
        padding: 0 30px 0 15px;
        line-height: 46px;
        font-size: 120%;
    }
    .title03:after {
        border-width: 30px 15px 30px 0px;
    }
}

/* 左右にガーランド */
.title04 {
    background: url("../images/bg_title04.png") no-repeat center top;
    background-size: contain;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 120%;
    padding-top: 15px;
    text-align: center;
    margin-bottom: 15px;
}
@media print, screen and (min-width: 768px) {
    .title04 {
        font-size: 140%;
        padding-top: 30px;
        margin-bottom: 5px;
    }
}
@media print, screen and (min-width: 992px) {
    .title04 {
        font-size: 180%;
        padding-top: 50px;
        margin-bottom: 5px;
    }
}
@media print, screen and (min-width: 1200px) {
    .title04 {
        font-size: 200%;
        background-size: auto;
        padding-bottom: 10px;
    }
}

/* 青いのリボンセンター */
.title05 {
    display: inline-block;
    position: relative;
    text-align: center;
    padding: 5px 0;
    background: #63c4ec;
    /*背景色*/
    color: #fff;
    /*文字色*/
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    font-size: 150%;
    font-weight: bold;
    margin-bottom: 15px;
}
.title05 span {
    display: block;
    border-top: dashed 1px #FFF;
    /*上の破線*/
    border-bottom: dashed 1px #FFF;
    /*下の破線*/
    line-height: 48px;
}
.title05:before,
.title05:after {
    position: absolute;
    content: '';
    width: 0px;
    height: 0px;
    z-index: 1;
}
.title05:before {
    /*左端の山形*/
    top: 0;
    left: 0;
    border-width: 30px 0px 30px 15px;
    border-color: transparent transparent transparent #fff;
    border-style: solid;
}
.title05:after {
    /*右端の山形*/
    top: 0;
    right: 0;
    border-width: 30px 15px 30px 0px;
    border-color: transparent #fff transparent transparent;
    border-style: solid;
}
@media print, screen and (min-width: 768px) {
    .title05 {
        font-size: 160%;
        width: 60%;
        margin-bottom: 20px;
    }
}
@media print, screen and (min-width: 992px) {
    .title05 {
        font-size: 200%;
        width: 40%;
        margin-bottom: 30px;
    }
}

/* 下線 */
.title06 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 250%;
    text-align: center;
    margin: 1em 0;
}
.title06 .in {
    display: inline-block;
    padding: 0.5em;
    background: url("../images/line002.png") repeat-x center bottom;
}
@media screen and (max-width: 1199px) {
    .title06 {
        font-size: calc(150% + 100 * (100vw - 320px) / 880);
    }
}



/* table
---------------------------------------------------- */
.table-style {
    width: 100%;
    border-top: 1px solid #ddd;
}
.table-style th {
    display: block;
    text-align: left;
    font-weight: bold;
    padding: 5px 0px 0px 5px;
}
.table-style td {
    display: block;
    padding: 0px 5px 5px 5px;
    border-bottom: 1px solid #ddd;
}
@media print, screen and (min-width: 768px) {
    .table-style th {
        display: table-cell;
        vertical-align: middle;
        padding: 10px 0px 10px 10px;
        width: 25%;
        border-bottom: 1px solid #ddd;
    }
    .table-style td {
        display: table-cell;
        padding: 10px;
    }
}
@media print, screen and (min-width: 992px) {
    .table-style th {
        padding: 15px 0px 15px 15px;
        font-size: 105%;
    }
    .table-style td {
        padding: 15px;
    }
}

.table-style2 {
    width: 100%;
}
.table-style2 th {
    display: block;
    text-align: center;
    padding: 5px 10px;
    background-color: #999;
    color: #fff;
}
.table-style2 td {
    display: block;
    padding: 5px 10px;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}
@media print, screen and (min-width: 768px) {
    .table-style2 th {
        display: table-cell;
        vertical-align: middle;
        width: 25%;
        border-top: 1px solid #036;
        border-bottom: 1px solid #ddd;
    }
    .table-style2 td {
        display: table-cell;
        padding: 10px 15px;
        border-top: 1px solid #ddd;
        border-left: none;
    }
}


/* ボタン
---------------------------------------------------- */
.btn-style {
    display: block;
    background-color: #fff;
    border: 1px solid #333;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    border-radius: 50px;
    padding: 12px 10px;
    font-size: 120%;
    text-align: center;
    line-height: normal;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}
.btn-style:link,
.btn-style:visited,
.btn-style:active {
    color: #333;
    text-decoration: none
}
.btn-style:hover {
    color: #fff;
    background-color: #333;
    border: 1px solid #333;
}
.btn-style i {
    margin-right: 10px;
    font-size: 140%;
}
@media print, screen and (min-width: 768px) {
    .btn-style {
        padding: 15px 15px;
    }
}

.btn-detail {
    display: inline-block;
    border: 1px solid #333;
    background-color: #333;
    padding: 5px 10px;
    line-height: normal;
    border-radius: 30px;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}
.btn-detail:link,
.btn-detail:visited {
    color: #fff;
    text-decoration: none;
}
.btn-detail:hover {
    border: 1px solid #333;
    background-color: #fff;
    color: #111;
}
.btn-detail i {
    margin-right: 5px;
}
@media print, screen and (min-width: 992px) {
    .btn-detail {
        padding: 7px 15px;
        display: inline-block;
    }
}

/* 戻るボタン */
.btn-back {
    margin-top: 20px;
    background-color: #333;
    padding: 10px 0px;
    text-align: center;
    display: block;
    border-radius: 50px;
}
.btn-back:link,
.btn-back:visited {
    color: #fff;
    text-decoration: none
}
.btn-back:before {
    content: " \f104";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1.5em;
    padding-right: 10px
}
@media print, screen and (min-width: 768px) {
    .btn-back {
        margin-top: 30px;
    }
    .btn-back {
        padding: 10px 40px;
        display: inline;
    }
}

/* マップへのボタン */
.btn-map {
    background-color: #333;
    border-radius: 50px;
    padding: 10px 0px;
    text-align: center;
    display: block;
}
.btn-map:link,
.btn-map:visited {
    color: #fff;
    text-decoration: none
}
.btn-map:before {
    content: " \f3c5";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1.5em;
    padding-right: 5px
}
@media (min-width: 768px) {
    .btn-map {
        margin-top: 12px;
        text-align: right
    }
    .btn-map {
        padding: 10px 40px;
        display: inline;
    }
}




/* CMSページ関係
---------------------------------------------------- */
/* 縦横比固定 */
.photo-ofi {
    height: 0;
    display: block;
    padding-bottom: 50%;
    /* 高さを指定（ボックスの横幅を基準） */
    background-color: #fff;
    overflow: hidden;
    position: relative;
    /*margin-bottom: 10px;*/
}
.photo-ofi img {
    max-width: inherit;
    max-height: inherit;
    width: 100%;
    height: 100%;
    -o-object-fit: scale-down;
    object-fit: scale-down;
    font-family: 'object-fit: scale-down;';
    position: absolute;
    left: 0;
    top: 0;
}

/* 縦横比固定 正方形 */
.photo-ofi2 {
    height: 0;
    display: block;
    padding-bottom: 100%;
    /* 高さを指定（ボックスの横幅を基準） */
    /*background-color: #EFEFEF;*/
    overflow: hidden;
    position: relative;
    /*margin-bottom: 10px;*/
}
.photo-ofi2 img {
    max-width: inherit;
    max-height: inherit;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    position: absolute;
    left: 0;
    top: 0;
}
/**/
img.object-fit-img {
    max-width: inherit;
    max-height: inherit;
    width: 100%;
    height: 100%;
    -o-object-fit: scale-down;
    object-fit: scale-down;
    font-family: 'object-fit: scale-down; object-position: 50% 50%;';
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
}
img.object-fit-img.cover {
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover; object-position: 50% 50%;';
}

/* paging */
div.paging {
    text-align: center;
}
div.paging span.current,
div.paging span.paging-text {
    margin: 0px;
    border: 1px solid #333;
    color: #333;
    display: inline;
    zoom: 1;
    display: inline-block;
    overflow: hidden;
    text-decoration: none;
    border-radius: 10px;
}
div.paging span.paging-text a {
    padding: 2px 8px;
    display: block;
    color: #333;
}
div.paging span.current {
    background-color: #333;
    color: #fff;
    display: inline;
    zoom: 1;
    padding: 2px 8px;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
}
div.paging span.paging-text a:hover {
    background: #333;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
}
@media print, screen and (min-width: 768px) {
    div.paging span.paging-text a {
        padding: 10px 15px;
    }
    div.paging span.current {
        padding: 10px 15px;
    }
}


/* form
---------------------------------------------------- */
.contact_form_title {
    background-color: #aaa;
    color: #fff;
    text-align: center;
    padding: 15px 0px;
}
@media print, screen and (min-width:992px) {
    .contact_form_title {
        padding: 20px 0px;
        font-weight: bold;
        font-size: 120%;
    }
}

.table_form {
    width: 100%;
    border-collapse: collapse;
    background-color: #fff;
    border-bottom: 1px solid #ddd;
}
.table_form th {
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    padding: 10px;
    background-color: #f1f1f1;
    vertical-align: top;
    text-align: left;
    display: block;
}
.table_form td {
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    padding: 10px;
    display: block;
}
@media print, screen and (min-width: 768px) {
    .table_form th {
        padding: 15px;
        vertical-align: middle;
        display: table-cell;
        width: 35%;
    }
    .table_form td {
        border-top: 1px solid #ddd;
        padding: 15px;
        display: table-cell;
    }
}
@media print, screen and (min-width: 992px) {
    .table_form th {
        width: 30%;
    }
}
@media print, screen and (min-width: 1200px) {
    .table_form th {
        width: 25%;
    }
}

/* 必須・任意 */
/*p.need:before{ content: "必須";background-color:#f66; color:#fff;padding:3px 5px; font-size:11px; font-weight:normal; margin-right:5px;vertical-align:middle;border-radius: 3px;}*/
.table_form th.need:after {
    content: "必須";
    background-color: #f66;
    color: #fff;
    padding: 3px 5px;
    font-size: 11px;
    font-weight: normal;
    line-height: normal;
    vertical-align: middle;
    float: right;
    border-radius: 3px;
}
.table_form th.any:after {
    content: "任意";
    background-color: #999;
    color: #fff;
    padding: 3px 5px;
    font-size: 11px;
    font-weight: normal;
    line-height: normal;
    vertical-align: middle;
    float: right;
    border-radius: 3px;
}
.need input[type="text"],
.need input[type="password"],
.need select,
.need textarea {
    border: 1px solid #fcc;
    /*background-color:#fee;*/
    padding: 14px;
}
.need input[type="text"]:focus,
.need input[type="password"]:focus,
.need select:focus,
.need textarea:focus {
    border: 1px solid #f66;
}

/* テキストボックスのサイズ */
.form-xs {
    width: 70px;
}
.form-s, .form-m, .form-l, .form100 {
    width: 100%
}
.form-h {
    width: 100%;
    height: 100px;
}
@media print, screen and (min-width: 768px) {
    .form-s {
        width: 200px
    }
    .form-m {
        width: 300px
    }
    .form-l {
        width: 100%
    }
    .form-h {
        width: 100%;
        height: 150px;
    }
}

/* フォーム関係タグの初期設定とデザイン */
input[type="checkbox"], input[type="radio"] {
    vertical-align: text-top;
}
input[type="text"] {
    font-size: 100%;
    vertical-align: middle;
    padding: 14px;
}
textarea {
    width: 95%;
    height: 100px;
}
input[type="text"],
input[type="password"],
select,
textarea {
    border: 1px solid #ddd;
    /*background-color:#eee;*/
    padding: 14px;
    border-radius: 4px
}
input[type="text"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
    border: 1px solid #999;
}
label {
    font-weight: normal
}

/* ラジオボタンのデザイン */
input[type="radio"] {
    display: none;
    width: 20px;
    height: 20px;
}
input[type="radio"]+label {
    display: block;
    text-align: center;
    margin-bottom: 10px;
    font-size: 100%;
    border: 1px solid #333;
    border-radius: 30px;
    padding: 5px 10px;
    background: #fff;
    color: #333;
    line-height: 2.5em;
    cursor: pointer;
}
input[type="radio"]:checked+label {
    background: #333;
    color: #fff;
}
@media print, screen and (min-width: 768px) {
    input[type="radio"]+label {
        display: inline-block;
        padding: 2px 15px;
    }
}

/* チェックボックスのデザイン */
input[type="checkbox"]+label {
    display: inline-block;
    cursor: pointer;
    position: relative;
    margin-bottom: 10px;
    width: 50%;
    padding-left: 40px;
}
input[type="checkbox"]+label:before {
    content: '';
    width: 30px;
    height: 30px;
    display: inline-block;
    position: absolute;
    left: 0;
    background-color: #fff;
    border: 1px solid #666;
    border-radius: 5px;
}
input[type="checkbox"] {
    display: none;
}
input[type="checkbox"]:checked+label:before {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 20px;
    color: #fff;
    background-color: #666;
    vertical-align: middle;
    text-align: center;
}
@media print, screen and (min-width: 992px) {
    input[type="checkbox"]+label {
        width: auto;
        padding-left: 40px;
        margin-right: 30px;
    }
}

/* placeholder */
input::-webkit-input-placeholder {
    color: #999;
}
input:-ms-input-placeholder {
    color: #999;
}
input::placeholder {
    color: #999;
}

/* プライバシーポリシー */
.contact_privacy {
    margin: 20px 0px;
    height: 300px;
    overflow: auto;
    font-size: 90%;
    line-height: 1.5em;
    background-color: #f1f1f1;
    border: 1px solid #ddd;
    padding: 15px;
}
.contact_privacy h3 {
    font-family: 'Cookie', cursive;
    font-size: 220%;
    text-align: center;
    line-height: normal;
    margin-bottom: 10px;
}
.contact_privacy h3 span {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    display: block;
    font-size: 40%;
}
.contact_privacy h4 {
    margin-top: 15px;
    overflow: hidden;
    font-size: 100%;
    font-weight: bold;
    margin-bottom: 10px
}
.contact_privacy h4 span {
    position: relative;
    display: inline-block;
    margin-right: 0 2.5em;
    padding-right: 0.5em;
    text-align: left;
}
.contact_privacy h4 span::before,
.contact_privacy h4 span::after {
    position: absolute;
    top: 50%;
    content: '';
    width: 1420%;
    height: 1px;
    background-color: #333;
}
.contact_privacy h4 span::before {
    right: 100%;
}
.contact_privacy h4 span::after {
    left: 100%;
}
.contact_privacy ol {
    margin-left: 20px;
}
@media print, screen and (min-width: 768px) {
    .contact_privacy {
        margin: 30px 0px;
        padding: 15px 20px 20px;
    }
    .contact_privacy h3 {
        font-size: 250%;
        margin-bottom: 20px;
    }
}
@media print, screen and (min-width: 992px) {
    .contact_privacy {
        padding: 20px 30px 30px;
    }
}

/* buttonのデザイン */
input[type="button"], input[type="submit"] {
    -webkit-appearance: none;
    border-radius: 0;
}
/*iosのグラデ、角丸解除*/
.submit {
    width: 100%;
    display: block;
    background-color: #333;
    border: 1px solid #333;
    color: #fff;
    font-weight: normal;
    cursor: pointer;
    padding: 10px 20px;
    border-radius: 30px;
}
@media print, screen and (min-width: 768px) {
    .submit {
        width: auto;
        display: inline;
        padding: 20px 50px;
        height: auto;
        border-radius: 40px;
    }
}
@media print, screen and (min-width: 992px) {
    .submit {
        padding: 20px 80px;
    }
}


/* 動画
---------------------------------------------------- */
.movie_box {
    position: relative;
    padding-bottom: 56.25%;  /*アスペクト比 16:9の場合の縦幅*/
    height: 0;
    overflow: hidden;
    margin: 0px auto;
}
.movie_box iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.movie_box-753 {
    display: block;
    width: 100%;
}

.youtube-movie {
    width: 100%;
    height: 200px;
}

.movie_box-753 .movie-box2{
    width: 100%;
}
@media print, screen and (min-width: 576px) {
    .youtube-movie {
        width: 100%;
        height: 300px;
    }
}
@media print, screen and (min-width: 768px) {
    .youtube-movie {
        width: 100%;
        height: 300px;
    }
}

@media print, screen and (min-width: 768px) {
    .movie_box-753 {
        display: flex;
        width: 100%;
        margin-bottom: 40px;
    }
    .movie_box-753 .movie-box2{
        width: 50%;
    }
    .movie_box-753 .movie-box2:first-child{
        margin-right: 20px;
    }
}
@media print, screen and (min-width: 991px) {
    .movie_box-753 {
        margin-bottom: 60px;
    }
}

/* 画像拡大
---------------------------------------------------- */
.venobox {
    display: block;
    position: relative;
    z-index: 0;
}

.venobox:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    background-color: rgba(0, 0, 0, 0.46);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    z-index: 10;
}
.venobox:after {
    content: "\f00e"" 拡大する";
    position: absolute;
    right: 0;
    bottom: 0;
    color: #fff;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 10px;
    line-height: 1.1;
    padding: 2px 5px;
    border-radius: 5px 0 0 0;
    background-color: rgba(0, 0, 0, 0.45);
    z-index: 10;
}
.venobox:hover:before {
    visibility: visible;
    opacity: 1;
}
.venobox:hover img {
    opacity: 1;
    filter: alpha(opacity=100);
}
@media print, screen and (min-width: 768px) {
    .venobox:after {
        font-size: 11px;
        padding: 5px 10px;
    }
}

/*0514追加*/
.smaface{
padding: 20px;
border: 1px solid #333;
width: 100%;
}
.smaface h5{
  font-size: 140%;
  margin-bottom: 10px;
  color: #63c4ec;
  font-family: 'Noto Serif JP', serif;
}
.smaface h5 span{
  background: #63c4ec;
  color: #fff;
  border-radius: 50%;
  padding: 2px 5px 3px;
}
.pointbottom,.smabottom{
  margin-bottom: 30px;
}
@media print, screen and (min-width: 768px) {
  .smaface{
    width: calc(33.3% - 10px);
    float: left;
    margin-right: 10px;
  }
.pointbottom{
  margin-bottom: 60px;
}
.smabottom{
  margin-bottom: 0;
}
}
.osusume_point{
  background: url(../images/bg_photo_dline.jpg);
  padding: 20px;
  margin-bottom: 30px;
  border-radius: 20px;
}
.osusume_point h4{
  font-family: 'Noto Serif JP', serif;
  font-size: 200%;
  text-align: center;
  border-bottom: 1px solid #333;
  display: inline-block;
  margin: 0 auto 20px;
}
.osusume_point_box{
  background: #fff;
  padding: 20px;
  margin-bottom: 10px;
}
.osusume_point_box img{
  display: inline-flex;
  margin-right: 10px;
  width: 50px;
  height: 50px;
  align-self: center;
}
.osusume_point_box_flex{
  display: flex;
  justify-content: center;
}
.osusume_point_box_flex2{
  justify-content: flex-start;
}
.osusume_point_box h5{
  font-family: 'Noto Serif JP', serif;
  font-size: 130%;
  margin: 0 auto 10px;
  color: #f880cf;
  font-weight: bold;
  text-align: center;
}
.osusume_point_txt{
  align-self: center;
}
@media print, screen and (min-width: 768px) {
  .osusume_point h4{
    margin: 0 auto 30px;
  }
  .osusume_point_box h5{
    display: block;
  }
  .osusume_point_txt{
    text-align: center;
    display: block;
  }
  .osusume_point_box img{
    margin: 0 auto 30px auto;
    width: auto;
    height: auto;
  }
  .osusume_point_box_flex{
    display: block;
  }
  .osusume_point{
    padding: 40px;
  }
  .osusume_point_box{
    margin-bottom: 0;
    padding-top: 40px;
    text-align: center;
  }
}
.table_top dt{
  float: left;
  padding: 3px 0;
}

.table_top dd{
  margin-left: 120px;
    padding: 3px 0;
}
.table_top2 dd{
  margin-left: 190px;
}
.table_top3 dd{
  margin-left: 140px;
}
.table_top{
  /* margin-bottom: 10px; */
  background: #fff;
  padding: 10px;
}
@media screen and (min-width:768px){
    .table_top{ background: inherit;}
}

.photo_contact{
  background: url(../images/bg_photo_dline2.jpg);
  padding: 40px 20px 20px;
  margin-bottom: 40px;
}
.photo_contact_inner{
  background: #fff;
  padding:30px 15px;
}
.photo_contact_inner::before{
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 30px;/*画像の幅*/
  height: 50px;/*画像の高さ*/
  background-image: url(../images/photo_clip.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  position: absolute;
  top:12px;
}
.photo_contact_inner h4{
  font-family: 'Noto Serif JP', serif;
  font-size: 130%;
  margin-bottom: 20px;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  /* .photo_contact_inner h4{
text-align: left;
  } */
  .photo_contact{
    padding: 60px 40px 40px;
  }
  .photo_contact_inner{
    padding:30px;
  }
  .photo_contact_inner::before{
  top:32px;
  }
}
@media print, screen and (min-width: 992px) {
  .photo_contact{
    margin-bottom: 0px;
  }
}

.photo_contact_tel_list{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.photo_contact_tel_list li{
    padding: 0;
    margin-bottom: 30px;
    list-style: none;
}
.photo_contact_tel_list li a{
    color: #333 !important;
}
@media print, screen and (min-width: 400px) {
    .photo_contact_tel_list li{
        padding: 0 30px;
    }
}

.photo_contact_shop_name{
    margin-bottom: 10px;
    font-family: 'Noto Serif JP', serif;
    font-size: 140%;
    font-weight: bold;
    color: #f880cf;
    text-align: center;
}

.photo_contact_tel{
    font-family: 'Noto Serif JP', serif;
    font-size: 200%;
    font-weight: bold;
    text-align: center;
}
.photo_contact_reserve1{
    display: block;
    max-width: 300px;
    margin: 0 auto 20px;
  }
.photo_contact_reserve1 a{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    border-radius: 7px;
    background: #fba6ce;
    font-family: 'Noto Serif JP', serif;
    font-size: 150%;
    color: #FFF;
    text-align: center;
    text-decoration: none;
}
.photo_contact_reserve1 i{
    margin-right: 10px;
    font-size: 150%;
}

@media print, screen and (min-width: 768px) {
    .photo_contact_tel{
        font-size: 220%;
        
    }
}

#shoumei, #juken, #job{
  /* margin-top: -60px; */
  padding-top: 80px;
}
@media print, screen and (min-width: 768px) {
  #shoumei, #juken, #job{
    /* margin-top: -100px; */
    padding-top: 100px;
  }
}
.oflow{
  overflow: hidden;
}

.bd-dash{
  border-bottom: 1px dashed #333;
  padding: 20px 0;
  margin-bottom: 20px;
}
.tac{
  text-align: center;
}
.bg_photo_price{
  padding: 14px 20px 20px;
}
.bg_photo_price01{
  background: #e8edfa;
}
.bg_photo_price02{
  background: #d3dcf5;
}
.bg_photo_price03{
  background: #ffe2e6;
}
.bg_photo_price04{
  background: #ffd5da;
}
@media print, screen and (min-width: 768px) {
  .bg_photo_price{
    padding: 30px 20px 20px;
  }
}
.bg_fff{
  background: #fff !important;
}

.photo_title_num {
text-align: center;
margin-bottom: 8px;
}
.photo_title_num span{
  background-color: #f880cf;
  color: #fff;
  border-radius: 100px 100px 0px 0px;
  font-family: 'Cookie', cursive;
  font-size: 200%;
  padding: 15px 38px 5px;
}
.photo_title2 i{
  font-size: 65%;
  color: #fba6ce;
  position: absolute;
  top: 8px;
  left: -13px;
}
@media print, screen and (min-width: 768px) {
  .photo_title_num span{
    padding: 15px 40px 5px;
  }
  .photo_title_num {
  margin-bottom: 5px
  }
  .photo_title2 i{
    display: none;
  }
}
.fz230{
  font-size: 180% !important;
}
@media print, screen and (min-width: 768px) {
  .fz230{
    font-size: 210% !important;
  }
}
@media print, screen and (min-width: 992px) {
  .fz230{
    font-size: 230% !important;
  }
}
/* @media print, screen and (min-width: 768px) {
.contact_left_area{
  float: left;
}
} */
.blue-line{
  border-bottom: 5px solid #63c4ec;
}
.bg-fff{
  background: #fff;
  padding: 0 15px 0;
  border-radius: 20px;
  overflow: visible;
  margin-bottom: 30px;
}
.price_big{
  font-size: 120%;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .price_big{
    font-size: 140%;
  }
}
.photo_title small{
  color: #fff;
}
.mb_sm_30{
  margin-bottom: 30px;
}
.title_pink{
  background: #fba6ce;
  color: #fff;
  padding: 0 12px 3px;
  border-radius: 8px;
  margin-right: 10px;
}
.photo_title_sub img{
  display: inline-block;
  max-width: 85%;
}
@media print, screen and (min-width: 768px) {
  .photo_title_sub img{
    width: 320px;
  }
}
.photo_title_sub img{
  width: 450px;
}
.photo_table_print_ps{
  display: none;
}
@media print{
  .photo_table .hidden-xs{
    display: table-row !important;
  }
  .photo_table tr .hidden-xs{
    display: table-cell !important;
  }
}


/* movie.html（写真でも動画でもプラン）
---------------------------------------------------- */
.movie_top-video{
    position: relative;
    max-width: 850px;
    margin: 0 auto 30px;
    z-index: 1;
}
.movie_top-video video{
    width: 100%;
    height: auto;
}
@media print, screen and (min-width: 992px) {
    .movie_top-video{
        margin-bottom: 60px;
    }
}

.movie_theme-link{
    position: relative;
    display: flex;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
    border: 1px solid #f880cf;
    border-radius: 5px;
    overflow: hidden;
    z-index: 1;
}
.movie_theme-link:last-of-type{
    margin-bottom: 0;
}
.movie_theme-link::after{
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-size: 18px;
    font-weight: bold;
    color: #f880cf;
    transition: .2s;
    z-index: 1;
}
.movie_theme-link .image{
    flex-shrink: 0;
    width: 100px;
    overflow: hidden;
}
.movie_theme-link .image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.movie_theme-link .body{
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    padding: 15px 30px 15px 15px;
}
.movie_theme-link .theme{
    display: block;
    width: fit-content;
    padding: 3px 15px;
    margin-bottom: 10px;
    background: #f880cf;
    border-radius: 2em;
    font-family: "Noto Serif JP";
    font-size: 12px;
    font-weight: bold;
    color: #fff;
}
.movie_theme-link .detail{
    font-family: "Noto Serif JP";
    font-size: 16px;
    color: #333;
    transition: .2s;
}
.movie_theme-link:hover::after{
    right: 10px;
}
.movie_theme-link:hover .detail{
    color: #f880cf;
}
@media print, screen and (min-width: 576px) {
    .movie_theme-link .image{
        width: 150px;
    }    
    .movie_theme-link .theme{
        font-size: 13px;
    }
    .movie_theme-link .detail{
        font-size: 18px;
    }
}
@media print, screen and (min-width: 768px) {
    .movie_theme-link::after{
        font-size: 24px;
    }
    .movie_theme-link .body{
        padding: 30px;
    }
    .movie_theme-link .image{
        width: 200px;
    }    
    .movie_theme-link .theme{
        font-size: 14px;
    }
    .movie_theme-link .detail{
        font-size: 20px;
    }
}
@media print, screen and (min-width: 992px) {
    .movie_theme-link::after{
        font-size: 30px;
    }
    .movie_theme-link .image{
        width: 250px;
    }    
    .movie_theme-link .theme{
        font-size: 16px;
    }
    .movie_theme-link .detail{
        font-size: 24px;
    }
}

.movie_display-link{
    position: relative;
    display: block;
    z-index: 1;
}
.movie_display-link .link{
    position: absolute;
    bottom: 10px;
    right: 10px;
    display: block;
    padding: 8px 12px;
    background: #f880cf;
    border-radius: 2em;
    font-size: 12px;
    color: #fff;
    line-height: 1;
    z-index: 2;
}
@media print, screen and (min-width: 576px) {
    .movie_display-link .link{
        bottom: 15px;
        right: 15px;
        padding: 10px 15px;
    }
}


/* common
---------------------------------------------------- */
.bg-grey {
    background-color: #f3f3f3;
    padding: 30px 0px;
}
@media print, screen and (min-width: 768px) {
    .bg-grey {
        padding: 40px 0px;
    }
}
@media print, screen and (min-width: 992px) {
    .bg-grey {
        padding: 80px 0px;
    }
}

.bg-pink {
    background-color: #fbeef4;
    padding: 30px 0px;
}
@media print, screen and (min-width: 768px) {
    .bg-pink {
        padding: 40px 0px;
    }
}
@media print, screen and (min-width: 992px) {
    .bg-pink {
        padding: 80px 0px;
    }
}

.bg-blue {
    background-color: #dee8ec;
    padding: 30px 0px;
}
@media print, screen and (min-width: 768px) {
    .bg-blue {
        padding: 40px 0px;
    }
}
@media print, screen and (min-width: 992px) {
    .bg-blue {
        padding: 80px 0px;
    }
}

.bg-pinkblue {
    position: relative;
    background-color: #fbeef4;
    padding: 30px 0px;
    z-index: 1;
}
.bg-pinkblue::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background-color: #eeeffb;
    content: "";
    z-index: -1;
}
@media print, screen and (min-width: 768px) {
    .bg-pinkblue {
        padding: 40px 0px;
    }
}
@media print, screen and (min-width: 992px) {
    .bg-pinkblue {
        padding: 80px 0px;
    }
}


a:hover img {
    opacity: 0.8;
    filter: alpha(opacity=80);
}

iframe {
    vertical-align: bottom;
}

.f-left {
    float: left;
}
.f-right {
    float: right;
}

.lhn {
    line-height: normal;
}
.lsn {
    list-style: none;
}
.block {
    display: block
}
.bold {
    font-weight: bold;
}
.indent {
    text-indent: -1em;
    margin-left: 1em;
}

@media print, screen and (min-width: 768px) {
    .tac-sm {
        text-align: center;
    }
}
@media print, screen and (min-width: 992px) {
    .tac-md {
        text-align: center;
    }
}

.ul_star li {
    list-style: none;
}
.ul_star li:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
    content: "\f005";
    font-weight: normal;
    margin-right: 7px;
}

/* フォントサイズ */
.small-xxs {
    font-size: 70%;
}
@media print, screen and (min-width: 768px) {
    .small-xxs {
        font-size: 100%;
    }
}
.small-xs {
    font-size: 80%;
}
@media print, screen and (min-width: 768px) {
    .small-xs {
        font-size: 100%;
    }
}
.small {
    font-size: 85%;
    line-height: 1.5em;
    font-weight: normal
}
.middle {
    font-size: 110%;
}
@media print, screen and (min-width: 768px) {
    .middle {
        font-size: 120%;
    }
}
@media print, screen and (min-width: 992px) {
    .middle {
        font-size: 130%;
        line-height: 1.8em;
    }
}
.large {
    font-size: 130%;
    line-height: normal;
}
@media print, screen and (min-width: 768px) {
    .large {
        font-size: 150%;
    }
}
@media print, screen and (min-width: 992px) {
    .large {
        font-size: 180%;
    }
}
.x-large {
    font-size: 140%;
    font-weight: bold;
}
@media print, screen and (min-width: 768px) {
    .x-large {
        font-size: 180%;
        font-weight: bold;
    }
}
@media print, screen and (min-width: 992px) {
    .x-large {
        font-size: 240%;
        font-weight: bold;
    }
}

/* カラー */
.red {
    color: #f66;
}
.pink {
    color: #f880cf;
}
.blue {
    color: #63c4ec;
}

/* サイズ指定 */
.w-12 {
    width: 12%
}
.w-25 {
    width: 25%
}
.w-30 {
    width: 30%
}
.w-40 {
    width: 40%
}
.w-48 {
    width: 48%
}
.w-50 {
    width: 50%
}
.w-60 {
    width: 60%
}
.w-70 {
    width: 70%
}
.w-80 {
    width: 80%
}

.text-left {
    text-align: left !important;
}
.text-zeibetu {
    text-align: right;
    margin-top: -10px;
    position: relative;
}
@media print, screen and (min-width: 768px) {
    .text-zeibetu {
        margin-top: -30px;
    }
}
.pp00 {
    padding: 0 !important;
}
.mm00 {
    margin: 0 !important;
}
.mb05 {
    margin-bottom: 5px !important
}
.mb10 {
    margin-bottom: 10px !important
}
.mb15 {
    margin-bottom: 15px !important
}
.mb20 {
    margin-bottom: 20px !important
}
.mb30 {
    margin-bottom: 30px !important
}
.mb40 {
    margin-bottom: 40px !important
}
.mb80 {
    margin-bottom: 80px !important
}
.mt00 {
    margin-top: 0px !important
}
.mt10 {
    margin-top: 10px
}
.mt15 {
    margin-top: 15px
}
.mt20 {
    margin-top: 20px
}
.ml-15 {
    margin-left: -15px
}
.ml05 {
    margin-left: 5px
}
.ml10 {
    margin-left: 10px
}
.ml15 {
    margin-left: 15px
}
.ml20 {
    margin-left: 20px
}
.mr05 {
    margin-right: 5px
}
.mr10 {
    margin-right: 10px
}

.mb-xs {
    margin-bottom: 15px;
}
.mb-xs-10{
  margin-bottom: 10px;
}
@media print, screen and (min-width: 768px) {
    .mb-xs {
        margin-bottom: 0px;
    }
    /*解除*/
    .mb-xs-10{
      margin-bottom: 0;
    }
}

.mbottom {
    margin-bottom: 30px;
}
@media print, screen and (min-width: 768px) {
    .mbottom {
        margin-bottom: 50px;
    }
}
@media print, screen and (min-width: 992px) {
    .mbottom {
        margin-bottom: 90px;
    }
}

.mbottom2 {
    margin-bottom: 20px!important;
}

@media print, screen and (min-width: 992px){
.mbottom2 {
    margin-bottom: 30px !important;
}
}

.mbottom3 {
    margin-top: 20px !important;
    font-size: 12px;
    text-align: center;
    padding-bottom: 20px;
}

@media print, screen and (min-width: 650px) {
.mbottom3 {
    margin-top: 20px !important;
    font-size: 14px;
    text-align: center;
    padding-bottom: 20px;
}
}

@media print, screen and (min-width: 991px) {
    .mbottom3 {
        margin-top: 20px !important;
        font-size: 20px;
    }
}

@media print, screen and (min-width: 1200px) {
    .mbottom3 {
        margin-top: 30px !important;
        font-size: 24px;
    }
}

.font-l {
    font-size: 20px;
}


.deadline{ font-family: 'Noto Serif JP', serif; text-align: center; margin: 20px 0 30px;}
.deadline span{
    color: #fff;
    display: inline-block;
    background-color: #e4007f;
    border-radius: 30px;
    font-size: 1.3em;
    font-weight: bold;
    padding: 10px 30px;
}
@media print, screen and (min-width: 768px) {
.deadline{ font-family: 'Noto Serif JP', serif; text-align: center; margin: 20px 0 40px;}
.deadline span{
    color: #fff;
    display: inline-block;
    background-color: #e4007f;
    border-radius: 30px;
    font-size: 1.8em;
    font-weight: bold;
    padding: 10px 40px;
}
}


/*.no1:after{
    content: "";
    display: inline-block;
    width: 100px;
    height: 51px;
    background-image: url(../images/ill_no1.png);
    background-size: contain;
    vertical-align: bottom;
    margin: 0 0 0 5px;
}*/

.nmt-25{margin-top: -25px!important;}





.no1{
    position: absolute;
    top: 12%;
    right: 6%;
    width: 20%;
    z-index: 1;
}

@media print, screen and (min-width: 768px) {
    .no1{
        top: 12%;
        right: 4%;
        width: 24%;
    }
}



.mb-xs10{margin-bottom: 10px!important;}
.mt20-xs0{margin-top: 0px!important;}
.mb40-xs20{margin-bottom: 20px!important;}
@media print, screen and (min-width: 768px) {
    .mb-xs10{margin-bottom: 0px!important;}
    .mt20-xs0{margin-top: 20px!important;}
    .mb40-xs20{margin-bottom: 40px!important;}
}


a.anchor{
    display: block;
    padding-top: 70px;
    margin-top: -70px;
}
@media print, screen and (min-width: 768px) {
    a.anchor{
        display: block;
        padding-top: 80px;
        margin-top: -80px;
    }
}
.txt-color{font-weight: bold; color: #FF0000; font-size: 1.2em;}
.txt-color02{font-weight: bold; color: #FF0000;}

/*.price_price strong:after{
    content: ;
    display: block;
    width: 100%;
    height: 70px;
    background-image: url(../images/circle-price.png);
    background-size: contain;
    background-repeat: no-repeat;画像を繰り返さない
}*/

.price_price .circle-price{ display: inline-block; margin: 0 0 0 10px; width: 18%;}
.price_price .circle-price img{ max-width: 100%; height: auto;}
@media print, screen and (min-width: 341px) {
    .price_price .circle-price{ display: inline-block; margin: 0 0 0 10px; width: 70px;}
    .price_price .circle-price img{ max-width: 100%; height: auto;}
}
.noto{
  font-family: 'Noto Serif JP', serif;
}

/* 20200828追記 */
.redColor {
    color: #FF0000;
}

.bgc-pink{
    background-color: #fba6ce !important;
}


/*20200911*/
.balloon-right-btm {
    position: relative;
    position: absolute;
    top: -28px;
    right: 3%;
    display: inline-block;
    width: 90px;
    line-height: 36px;
    text-align: center;
    color: #FFF;
    font-size: 10px;
    font-weight: bold;
    background: #63C4EC;
    border-radius: 50%;
    box-sizing: border-box;
  }
  
  .balloon-right-btm:before {
    content: "";
    position: absolute;
    bottom: -13px;
    left: 8px;
    margin-top: -15px;
    border: 10px solid transparent;
    border-top: 15px solid #63C4EC;
    z-index: 0;
    -webkit-transform: rotate(35deg);
    transform: rotate(35deg);
  }
  @media print, screen and (min-width: 768px) {
    .balloon-right-btm {
        top: -83%;
        right: -1%;
        width: 140px;
        font-size: 15px;
        line-height: 90px;
    }
    .balloon-right-btm:before {
        bottom: -8px;
    }
  }
  @media print, screen and (min-width: 992px) {
    .balloon-right-btm {
        top: -61%;
        right: 0;
        width: 175px;
        font-size: 18px;
    }
  }
  @media print, screen and (min-width: 1200px) {
    .balloon-right-btm {
        top: -56%;
        right: 9%;
    }
  }



  .balloon-right-btm2 {
    position: relative;
    position: absolute;
    top: -28px;
    right: -8%;
    display: inline-block;
    width: 90px;
    line-height: 36px;
    text-align: center;
    color: #FFF;
    font-size: 10px;
    font-weight: bold;
    background: #63C4EC;
    border-radius: 50%;
    box-sizing: border-box;
  }
  
  .balloon-right-btm2:before {
    content: "";
    position: absolute;
    bottom: -13px;
    left: 8px;
    margin-top: -15px;
    border: 10px solid transparent;
    border-top: 15px solid #63C4EC;
    z-index: 0;
    -webkit-transform: rotate(35deg);
    transform: rotate(35deg);
  }
  @media print, screen and (min-width: 768px) {
    .balloon-right-btm2 {
        top: -43%;
        right: -1%;
        width: 140px;
        font-size: 15px;
        line-height: 90px;
    }
    .balloon-right-btm2:before {
        bottom: -8px;
    }
  }
  @media print, screen and (min-width: 992px) {
    .balloon-right-btm2 {
        top: -30%;
        right: -2%;
        width: 175px;
        font-size: 18px;
        line-height: 90px;
    }
  }
  @media print, screen and (min-width: 1200px) {
    .balloon-right-btm2 {
        top: -30%;
        right: 10%;
    }
  }
  

  .w-01{width: 100% !important;}
  @media print, screen and (min-width: 768px) {.w-01{width: 80% !important;}}
  @media print, screen and (min-width: 992px) {.w-01{width: 100% !important;}}
  @media print, screen and (min-width: 1200px) {.w-01{width: 90% !important;}}

  #anchorLink01 {
    padding-top: 70px;
    margin-top:-70px;
 }

 .btn-style01{
    /*color: #d23838;*/
    font-size: 115%;
    font-weight: bold;
    text-align: center;
    display: block;
    /*text-decoration: underline;*/
    margin-top: 10px;
 }
 .tyousei-1{
    text-decoration: underline !important;
    font-size: 140%;
    line-height: 1.5;
 }
 .tyousei-1:hover{
     text-decoration: none !important;
 }
 @media print, screen and (min-width: 768px) {
     .btn-style01{
         font-size: 220%;
         margin-top: 40px;
     }
     .tyousei-1{
        font-size: 100%;
        line-height: 1;
     }
 }
 @media print, screen and (min-width: 992px) {}
 @media print, screen and (min-width: 1200px) {}


.db{display: block !important;}

.mb20-xs10{margin-bottom: 10px;}
.fs-a{font-size: 120%;}
@media print, screen and (min-width: 768px) {
    .mb20-xs10{margin-bottom: 20px;}
    .fs-a{font-size: 140%;}
}


.txt-1em{font-size: 1em !important;}
.txt-1em-half{font-size: 1.5em !important;}
.txt-2em{font-size: 2em !important;}
.txt-2em-half{font-size: 2.5em !important;}
.lh-1em-half{line-height: 1.5;}
.pr{position: relative;}

.balloon-right-btm3 {
    position: relative;
    position: absolute;
    top: -50%;
    right: -5%;
    display: inline-block;
    width: 90px;
    line-height: 36px;
    text-align: center;
    color: #FFF;
    font-size: 10px;
    font-weight: bold;
    background: #63C4EC;
    border-radius: 50%;
    box-sizing: border-box;
}
.balloon-right-btm3:before {
    content: "";
    position: absolute;
    bottom: -13px;
    left: 8px;
    margin-top: -15px;
    border: 10px solid transparent;
    border-top: 15px solid #63C4EC;
    z-index: 0;
    -webkit-transform: rotate(35deg);
    transform: rotate(35deg);
}
@media print, screen and (min-width: 768px) {
    .balloon-right-btm3 {
        top: -57%;
        right: -9%;
        width: 160px;
        font-size: 18px;
        line-height: 90px;
    }
    .balloon-right-btm3:before {
        bottom: -8px;
    }
}
@media print, screen and (min-width: 992px) {
    .balloon-right-btm3 {
        top: -57%;
        right: -3%;
        width: 175px;
        font-size: 20px;
    }
}
@media print, screen and (min-width: 1200px) {
    .balloon-right-btm3 {
        top: -57%;
        right: 9%;
    }
}


.balloon-right-btm4 {
    position: absolute;
    top: -22%;
    right: -5%;
    display: inline-block;
    width: 90px;
    line-height: 36px;
    text-align: center;
    color: #FFF;
    font-size: 10px;
    font-weight: bold;
    background: #63C4EC;
    border-radius: 50%;
    box-sizing: border-box;
}
.balloon-right-btm4:before {
    content: "";
    position: absolute;
    bottom: -13px;
    left: 8px;
    margin-top: -15px;
    border: 10px solid transparent;
    border-top: 15px solid #63C4EC;
    z-index: 0;
    -webkit-transform: rotate(35deg);
    transform: rotate(35deg);
}
@media print, screen and (min-width: 768px) {
    .balloon-right-btm4 {
        top: -106%;
        right: -10%;
        width: 160px;
        font-size: 18px;
        line-height: 90px;
    }
    .balloon-right-btm4:before {
        bottom: -8px;
    }
}
@media print, screen and (min-width: 992px) {
    .balloon-right-btm4 {
        top: -89%;
        right: -3%;
        width: 175px;
        font-size: 20px;
    }
}
@media print, screen and (min-width: 1200px) {
    .balloon-right-btm4 {
        top: -90%;
        right: 9%;
    }
}

.balloon-right-btm5 {
    position: absolute;
    top: -20px;
    right: 20px;
    display: inline-block;
    width: 150px;
    line-height: 50px;
    text-align: center;
    color: #FFF;
    font-size: 15px;
    font-weight: bold;
    background: #63C4EC;
    border-radius: 50%;
    box-sizing: border-box;
    z-index: 1;
}
.balloon-right-btm5:before {
    content: "";
    position: absolute;
    bottom: -13px;
    left: 8px;
    margin-top: -15px;
    border: 10px solid transparent;
    border-top: 15px solid #63C4EC;
    z-index: 0;
    -webkit-transform: rotate(35deg);
    transform: rotate(35deg);
    z-index: 2;
}
@media screen and (max-width:991px){
    .balloon-right-btm5 {
        width: 110px;
        font-size: 12px;
    }
}


.balloon-right-btm6 {
    position: absolute;
    top: -20px;
    right: 20px;
    display: inline-block;
    width: 150px;
    line-height: 50px;
    text-align: center;
    color: #FFF;
    font-size: 15px;
    font-weight: bold;
    background: #63C4EC;
    border-radius: 50%;
    box-sizing: border-box;
}
.balloon-right-btm6:before {
    content: "";
    position: absolute;
    bottom: -13px;
    left: 8px;
    margin-top: -15px;
    border: 10px solid transparent;
    border-top: 15px solid #63C4EC;
    z-index: 0;
    -webkit-transform: rotate(35deg);
    transform: rotate(35deg);
    z-index: 2;
}
@media screen and (max-width:991px){
    .balloon-right-btm6 {
        width: 110px;
        font-size: 12px;
        top: -40px;
    }
}   
@media screen and (min-width: 500px) and (max-width: 767px){
    .balloon-right-btm6 {
        top: -20px;
    }
}     


.balloon-right-btm7 {
    position: absolute;
    top: -20px;
    right: 20px;
    display: inline-block;
    width: 150px;
    line-height: 50px;
    text-align: center;
    color: #FFF;
    font-size: 15px;
    font-weight: bold;
    background: #63C4EC;
    border-radius: 50%;
    box-sizing: border-box;
}
.balloon-right-btm7:before {
    content: "";
    position: absolute;
    bottom: -13px;
    left: 8px;
    margin-top: -15px;
    border: 10px solid transparent;
    border-top: 15px solid #63C4EC;
    z-index: 0;
    -webkit-transform: rotate(35deg);
    transform: rotate(35deg);
    z-index: 2;
}
@media screen and (max-width:991px){
    .balloon-right-btm7 {
        width: 110px;
        font-size: 12px;
    }
}

.balloon-right-btm8 {
    position: relative;
    position: absolute;
    top: -22%;
    right: -5%;
    display: inline-block;
    width: 90px;
    line-height: 36px;
    text-align: center;
    color: #FFF;
    font-size: 10px;
    font-weight: bold;
    background: #63C4EC;
    border-radius: 50%;
    box-sizing: border-box;
  }
  
  .balloon-right-btm8:before {
    content: "";
    position: absolute;
    bottom: -13px;
    left: 8px;
    margin-top: -15px;
    border: 10px solid transparent;
    border-top: 15px solid #63C4EC;
    z-index: 0;
    -webkit-transform: rotate(35deg);
    transform: rotate(35deg);
  }

  @media print, screen and (min-width: 300px) {
    .balloon-right-btm8 {
    top: -30px;
    right: -5%;
    }
  }

  @media print, screen and (min-width: 768px) {
    .balloon-right-btm8 {
        top: -106%;
        right: -10%;
        width: 160px;
        font-size: 18px;
        line-height: 90px;
    }
    .balloon-right-btm8:before {
        bottom: -8px;
    }
  }
  @media print, screen and (min-width: 992px) {
    .balloon-right-btm8 {
        top: -89%;
        right: -3%;
        width: 175px;
        font-size: 20px;
    }
  }
  @media print, screen and (min-width: 1200px) {
    .balloon-right-btm8 {
        top: -90%;
        right: -4%;
    }
  }

  .balloon-right-btm9 {
    position: relative;
    position: absolute;
    top: -25px;
    right: -10px;
    display: inline-block;
    width: 220px;
    line-height: 90px;
    text-align: center;
    color: #FFF;
    font-size: 20px;
    font-weight: bold;
    background: #63C4EC;
    border-radius: 50%;
    box-sizing: border-box;
  }

  @media screen and (max-width:991px){
    .balloon-right-btm9 {
        top: -15px;
        width: 110px;
        font-size: 12px;
        line-height: 50px;
    }
  }
  .balloon-right-btm9:before {
    content: "";
    position: absolute;
    bottom: -3px;
    left: 8px;
    margin-top: -15px;
    border: 10px solid transparent;
    border-top: 15px solid #63C4EC;
    z-index: 0;
    -webkit-transform: rotate(35deg);
    transform: rotate(35deg);
    z-index: 2;
  }

.txt_campaign{
    color: #fff;
    background-color: #E4007F;
    border-radius: 100vh;
    display: inline-block;
    padding: .25em 1em;
    font-weight: bold;
    text-align: center;
    font-family: 'Noto Serif JP', serif;
}

.font-red  {
    text-align: center;
    margin-top: 80px;
}
.font-red a {
    display: inline-block;
    background: #e4007f;
    text-decoration: none;
    color: white;
    font-size: 1.8em;
    text-decoration: none;
    padding: 20px 25px;
    font-family: 'Noto Serif JP', serif;
    border-radius: 100vh;
}
.font-red a:hover {
    opacity: 0.7;
}
@media screen and (max-width: 767px){
    .font-red {
        margin-bottom: 50px;
    }
}

@media screen and (max-width: 370px){
    .font-red {
        margin-top: 50px;
        margin-bottom: 30px;
    }
    .font-red a {
        font-size: 1.5em;
    }
}

      

.font-red-ver2  {
    text-align: center;
    margin-top: 50px;
    margin-bottom: 20px;
}
.font-red-ver2 a {
    display: inline-block;
    background: #e4007f;
    text-decoration: none;
    color: white;
    font-size: 1.8em;
    text-decoration: none;
    padding: 20px 25px;
    font-family: 'Noto Serif JP', serif;
    border-radius: 100vh;
}
.font-red-ver2 a:hover {
    opacity: 0.7;
}
@media screen and (max-width: 767px){
    .font-red-ver2 {
        margin-bottom: 70px;
    }
}
@media screen and (max-width: 370px){
    .font-red-ver2 {
        margin-top: 50px;
        margin-bottom: 50px;
    }
    .font-red-ver2 a {
        font-size: 1.5em;
    }
}

.font-red-ver3  {
    text-align: center;
    margin-top: 0;
    margin-bottom: 80px;
}
.font-red-ver3 a {
    display: inline-block;
    background: #e4007f;
    text-decoration: none;
    color: white;
    font-size: 1.8em;
    text-decoration: none;
    padding: 20px 25px;
    font-family: 'Noto Serif JP', serif;
    border-radius: 100vh;
}
.font-red-ver3 a:hover {
    opacity: 0.7;
}
@media screen and (max-width: 767px){
    .font-red-ver3 {
        margin-top: 30px;
        margin-bottom: 70px;
    }
}
@media screen and (max-width: 370px){
    .font-red-ver3 {
        margin-top: 30px;
        margin-bottom: 50px;
    }
    .font-red-ver3 a {
        font-size: 1.5em;
    }
}


.blank {
    margin-top: 20px;
    margin-bottom: 30px;
}

.text-753 {
    text-align: center;
    font-size: 90%;
    font-weight: bold;
    color: #f880cf;
}

.text-graduate {
    text-align: center;
    font-size: 90%;
    font-weight: bold;
    color: #f880cf;
}

@media screen and (max-width:991px){
    .mb-bottom-20 {
        margin-bottom: 20px;
    }
}

.title40-plan {
    position: relative;
}




  .matermity-text{
      font-size: 16px;
  }

  @media screen and (max-width:991px){
      .matermity-text{
          font-size: 12px;
      }
  }

  .pr{position: relative !important;}








  .li-desgin-1 {
    margin-left: 0 !important;
  }
  .li-desgin-1 li{
      list-style: none;
      text-align: left;
  }
  .li-desgin-1 li::before{
    display: inline-block;
    vertical-align: middle;
    margin-right: .25rem;
  }
  .li-desgin-1 li:nth-child(1)::before{content: "➀";}
  .li-desgin-1 li:nth-child(2)::before{content: "➁";}
  .li-desgin-1 li:nth-child(3)::before{content: "➂";}
  .li-desgin-1 li:nth-child(4)::before{content: "➃";}
  .li-desgin-1 li:nth-child(5)::before{content: "➄";}
  .li-desgin-1 li:nth-child(6)::before{content: "➅";}


  @media screen and (max-width:767px){
    .li-desgin-1 {
        margin-left: 20px !important;
      }
    .li-desgin-1 li{
        text-align: center;
    }
  }

  .anchorLink01 {
    padding-top: 100px;
    margin-top:-100px;
 }

 .indent-1 {
     padding-left:1em;
     text-indent:-1em;
}

.mb5rem{margin-bottom: 5rem !important;}

.txt-oneprice{
    font-family: 'Noto Serif JP', serif;
    text-align: center;
    font-size: 2em;
    line-height: 1.5;
    letter-spacing: .1em;
    margin-bottom: 0;
}
.btn-txt-oneprice{
    font-size: 150%;
}
@media screen and (max-width:767px){
    .txt-oneprice{
        font-size: 1em;
        margin-bottom: 10px;
    }
    .btn-txt-oneprice{
        font-size: 120%;
    }
}
.txt-18{font-size: 18px;}

@media screen and (max-width:1200px){
.font-re {
    font-size: 250% !important;
}
}

.h-adj iframe{
    height: 450px;
}


@media screen and (min-width:992px){
    .mb-adj-resposive {
        margin-bottom: -20px;
    }
}

@media screen and (min-width:1201px){
    .mb-adj-resposive {
        margin-bottom: -90px;
    }
    }
    

@media screen and (max-width:767px){
    .mb-adj-resposive {
        margin-bottom: 40px;
    }
    .h-adj{
        height: 450px;
    }
}

.border-pd-0 {
    border-bottom: 0;
    padding-bottom: 0;
}

/* 20220226追加 */
.list-shop-link{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 -15px -40px;
}
.list-shop-link li{
    width: 33.33333%;
    max-width: 400px;
    padding: 0 15px;
    margin-bottom: 40px;
    list-style: none;
}
.list-shop-link li p{
    margin-top: 20px;
    font-size: 18px;
    font-weight: bold;
}
@media screen and (max-width:991px){
    .list-shop-link li{
        width: 50%;
        padding: 0 7.5px;
    }
    .list-shop-link li p{
        margin-top: 12px;
        font-size: 16px;
    }
}
@media screen and (max-width:575px){
    .list-shop-link{
        margin: 0 -7.5px -40px;
    }
    .list-shop-link li p{
        font-size: 14px;
    }
}

.list-sns-link{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 -15px -15px;
}
.list-sns-link li{
    width: 33.333333%;
    max-width: 400px;
    padding: 0 15px;
    margin-bottom: 20px;
    list-style: none;
}
@media screen and (max-width:991px){
    .list-sns-link{
        margin: 0 -7.5px -15px;
    }
    .list-sns-link li{
        width: 100%;
        padding: 0 7.5px;
    }
}


.logo_box {
    position: relative;
}

.menu_price_shop.firstPlace {
    position: absolute;
    top: 0;
    color: #ff6a00;
}

.fnot-size-fp {
    font-size: 1.2em;
}

@media screen and (max-width:991px) and (min-width:768px) {
    .fnot-size-fp {
        font-size: 1em;
    }
    .mb-80cut {
        margin-bottom: 20px;
    }
}

@media screen and (max-width:767px) {
    .fnot-size-fp {
        font-size: 1em;
    }
    .mb-80cut {
        margin-bottom: 20px;
    }
}

/* 20220920 →　20240905修正済み*/
.price_box h6 .subttl {
    font-size: 80%;
    width: auto;
    border: none;
    padding: 0;
}

.bg_photo_price05{
    background: #fff;
    border-radius: 10px;
  }
.bg_photo_price05 img{
    /* width: 70%; */
    width: 95%;
    margin: 50px auto;
    padding: 30px 0;
  }
.ft15{
    font-size: 15px !important;
}

/* 20220920 */
.price-container{
    width: 100%;
    margin: 0 auto;
    text-align: center;
}

.img-price{
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
}

.img-price-muryo{
    width: 60%;
    margin: 0 auto;
}

.img-fukidashi{
    width: 70%;
    margin: 0 auto;
}

@media screen and (max-width:580px) {
.price_box {
    width: 94%;
 }
}


/*スマホ吹き出し画像*/

@media screen and (max-width:767px) {
    .sp_foot_btn1{
        position: relative;
    }
    .sp_foot_btn1:before{
        position: absolute;
        top: -65px;
        left: 0;
        content: '';
        display: inline-block;
        width: 150px;
        height: 84px;
        /* background-image: url(../images/f-price.png); */
        background-size: contain;
        background-repeat: no-repeat;
        vertical-align: middle;
        transform: rotate(-5deg);
        z-index: 9999;
    }
    .sp-f-btn1{
        font-size: 24px;
        font-weight: bold;
        display:flex;
        align-items: center;
    }
    .sp-f-btn1:before{
        font-family: "Font Awesome 5 Free","Font Awesome 5 Brands";
        content: "\f083";
        font-weight: 900;
        margin-right: 15px;
        color: #fff;
    }
    .sp-f-btn1 span:before{
        display: none;
    }
    .sp-f-btn1 span.sp-f-txt{
        display: flex !important;
        white-space: nowrap;
        padding-left: 0 !important;
    }
    .sp-f-btn1 span.nakaguro{
        display: inline !important;
        font-size: 1em !important;
        padding: 0 !important;
    }
    .txt-f-price{
        position: absolute;
        top: -20px;
        left: 1%;
        background: #fff;
        border-radius: 3px;
        color: #333 !important;
        border: 1px solid;
        font-weight: bold;
        font-size: 1.2em;
        padding: 7px 10px 5px;
        line-height: 1;
    }
}
@media screen and (max-width:575px) {
    .sp_foot_btn1:before{
        top: -75px;
        right: -10%;
    }
    .sp-f-btn1{
        font-size: 24px;
    }
    .sp-f-btn1 span.sp-f-txt{
        font-size: 20px !important;
        letter-spacing: .1em;
    }
    .sp-f-btn1:before{
        font-size: 30px !important;
    }
    .sp-f-btn1 span.nakaguro{
        display: none !important;
    }
}

/*2023/8/23追加*/
@media screen and (max-width:767px) {
    .menu_photo_campaign_shirine div {
        display: flex;
        padding-bottom: 6px;
    }
    .menu_photo_campaign_shirine .photo-ofi {
        overflow: visible;
    }
    .menu_photo_campaign_shirine .photo-ofi img {
        position: static;
        height: auto;
    }
}

.text-power{
    color: #c00 !important;
}


/* 20240415追加 */

/* smashcake-cake-list
----------------------------------------------------*/
.smashcake-cake-list{
    display: grid;
    grid-template-columns: repeat(5,1fr);
    column-gap: 30px;
    row-gap: 30px;
    margin-bottom: 30px;
    list-style: none;
}
@media screen and (max-width:1199px) {
    .smashcake-cake-list{
        grid-template-columns: repeat(4,1fr);
    }
}
@media screen and (max-width:991px) {
    .smashcake-cake-list{
        grid-template-columns: repeat(3,1fr);
    }
}
@media screen and (max-width:767px) {
    .smashcake-cake-list{
        grid-template-columns: repeat(2,1fr);
    }
}
@media screen and (max-width:575px) {
    .smashcake-cake-list{
        column-gap: 10px;
        row-gap: 12px;
    }
}

/* smashcake-cake-list-item
----------------------------------------------------*/
.smashcake-cake-list-item{
    position: relative;
}
.smashcake-cake-list-item .name{
    position: absolute;
    bottom: 0;
    right: 0;
    transform: rotate(-5deg);
    padding: 0.5em 1em 0.4em;
    background: #333;
    color: #fff;
    line-height: 1.4;
    white-space: nowrap;
    z-index: 1;
}
/* 202501追加 */
.smashcake-cake-list-item .soldout{
    position: absolute;
    top: -20px;
    left: 0;
    padding: 0.5em 0.4em 0.4em;
    background: rgb(255 255 255 / 80%);
    border: 1px solid #333;
    box-shadow: 10px 15px 30px 5px rgb(0 0 0 / 30%);
    color: #333;
    font-weight: bold;
    line-height: 1.4;
    white-space: nowrap;
    z-index: 1;
}
.smashcake-cake-list-item:nth-of-type(even){
    margin-top: 20px;
}
.smashcake-cake-list-item:nth-of-type(odd) .name{
    bottom: 20px;
}
/* 202501追加 */
.smashcake-cake-list-item:nth-of-type(odd) .soldout{
    top: -10px;
}

/* smashcake-seibun-box
----------------------------------------------------*/
.smashcake-seibun-box{
    padding: 15px;
    background: #fbeef4;
}

/* smashcake-seibun-list
----------------------------------------------------*/
.smashcake-seibun-list{
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    list-style: none;
}
.smashcake-seibun-list > li::before{
    content: "・";
}

/* smashcake-costume
----------------------------------------------------*/
.smashcake-costume{
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 30px;
    margin-bottom: 40px;
    z-index: 1;
}
.smashcake-costume .image{
    overflow: hidden;
    border-radius: 10px;
}
@media screen and (max-width:767px) {
    .smashcake-costume{
        column-gap: 10px;
        margin-bottom: 20px;
    }
}

/* smashcake-tenpo-box
----------------------------------------------------*/
.smashcake-tenpo-box{
    padding: 50px;
    background: #fff;
}
@media screen and (max-width:575px) {
    .smashcake-tenpo-box{
        padding: 30px;
    }
}

/* smashcake-tenpo-list
----------------------------------------------------*/
.smashcake-tenpo-list{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    column-gap: 40px;
    row-gap: 60px;
    max-width: 800px;
    margin: 0 auto;
    list-style: none;
}
@media screen and (max-width:991px) {
    .smashcake-tenpo-list{
        column-gap: 20px;
        row-gap: 40px;
    }
}
@media screen and (max-width:767px) {
    .smashcake-tenpo-list{
        grid-template-columns: repeat(2,1fr);
    }
}
@media screen and (max-width:575px) {
    .smashcake-tenpo-list{
        column-gap: 10px;
        row-gap: 30px;
    }
}

/* smashcake-tenpo-item
----------------------------------------------------*/
.smashcake-tenpo-item{
    display: block;
}
.smashcake-tenpo-item .image{
    overflow: hidden;
    border-radius: 5px;
    margin-bottom: 12px;
}
.smashcake-tenpo-item .name{
    font-size: 16px;
    color: #333 !important;
    text-align: center;
    line-height: 1.5;
}
/* 202501追加 */
.smashcake-tenpo-item .soldout{
    color: #333 !important;
    text-align: center;
}
@media screen and (max-width:991px) {
    .smashcake-tenpo-item .name{
        font-size: 14px;
    }
}
@media screen and (max-width:575px) {
    .smashcake-tenpo-item .name{
        font-size: 12px;
    }
}

/* box-white
----------------------------------------------------*/
.box-white{
    padding: 30px;
    background: #fff;
}
@media screen and (max-width:767px) {
    .box-white{
        padding: 15px;
    }
}

/* title-leftline 
------------------------------------------------------------------*/
.title-leftline{
    padding-left: 0.5em;
    border-left: 5px solid #fba6ce;
    font-size: 180%;
    font-weight: bold;
    line-height: 1.5;
}
/* 文字サイズ変更 */
.title-leftline.small{ font-size: 150%;}
.title-leftline.xsmall{ font-size: 120%;}

/* ライン色変更 */
.title-leftline.line-blue{ border-color: #63c4ec;}

@media screen and (max-width:1399px){
    .title-leftline{ font-size: 160%;}
}
@media screen and (max-width:991px){
    .title-leftline{ font-size: 150%;}
    .title-leftline.small{ font-size: 140%;}
    .title-leftline.xsmall{ font-size: 110%;}
}
@media screen and (max-width:767px){
    .title-leftline{ font-size: 140%;}
    .title-leftline.small{ font-size: 120%;}
    .title-leftline.xsmall{ font-size: 100%;}
}
@media screen and (max-width:575px){
    .title-leftline{ font-size: 120%;}
    .title-leftline.small{ font-size: 110%;}
}

/* title-underline 
------------------------------------------------------------------*/
.title-underline{
    padding-bottom: 10px;
    border-bottom: 1px solid #4e3a35;
    font-size: 180%;
    font-weight: bold;
    line-height: 1.5;
}
/* 文字サイズ変更 */
.title-underline.small{ font-size: 150%;}
.title-underline.xsmall{ font-size: 120%;}

/* ライン色変更 */
.title-underline.line-gray{ border-color: #ccc;}
.title-underline.line-pink{ border-color: #fba6ce;}
.title-underline.line-blue{ border-color: #63c4ec;}

@media screen and (max-width:1399px){
    .title-underline{ font-size: 160%;}
}
@media screen and (max-width:991px){
    .title-underline{ font-size: 150%;}
    .title-underline.small{ font-size: 140%;}
    .title-underline.xsmall{ font-size: 110%;}
}
@media screen and (max-width:767px){
    .title-underline{ font-size: 140%;}
    .title-underline.small{ font-size: 120%;}
    .title-underline.xsmall{ font-size: 100%;}
}
@media screen and (max-width:575px){
    .title-underline{ font-size: 120%;}
    .title-underline.small{ font-size: 110%;}
}