@charset 'UTF-8';
/********************************************************************/
/* reset */
/********************************************************************/
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,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video
{font-size: 100%; 

    margin: 0; padding: 0; vertical-align: baseline; border: 0; outline: 0; background: transparent;
}

body
{
    font-size: 12px; line-height: 1.8; -webkit-text-size-adjust: 100%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
section,
main
{
    display: block;
}
article:after,
aside:after,
details:after,
figcaption:after,
figure:after,
footer:after,
header:after,
hgroup:after,
menu:after,
section:after,
main:after
{display: block; clear: both; 

    height: 0; content: '';
}

h1,
h2,
h3,
h4,
h5,
h6,
strong,
th
{
    font-weight: normal;
}

ol,
ul
{
    list-style: none;
}

blockquote,
q
{
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after
{
    content: '';    content: none;
}

a
{font-size: 100%; 

    margin: 0; padding: 0; vertical-align: baseline; text-decoration: none; background: transparent;
}

ins
{text-decoration: none; color: #000; 
    background-color: #fff;
}

mark
{font-weight: bold; font-style: italic; color: #000; 
    background-color: #fff;
}

del
{
    text-decoration: line-through;
}

abbr[title],
dfn[title]
{cursor: help; 

    border-bottom: 1px dotted;
}

table
{border-spacing: 0; 
    border-collapse: collapse;
}

hr
{
    display: block; height: 1px; margin: 1em 0; padding: 0; border: 0; border-top: 1px solid #ccc;
}

img
{
    vertical-align: top;
}

input,
select
{
    vertical-align: middle;
}

button
{cursor: pointer; 

    border: none;
}

/********************************************************************/
/* layout */
/********************************************************************/
html
{
    font-size: 62.5%;
}

body
{font-family: Helvetica Neue, Helvetica, Arial, Roboto, 'Droid Sans', '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; font-size: 12px; font-size: 1.2rem; text-align: center; color: #303030; 
background-color: #fff !important;
}
body a
{
    color: #303030;
}
body a:hover
{
    color: #303030;
}

/***********************************/
/* header */
/***********************************/
header{width: 100%; min-width: 1200px;}
header .inner{
    position: relative; /* ロゴ */ /* 電話番号 & 営業時間 */ /* お問合せボタン */ 
    height: 200px;
}
header .inner:after {
    display: block;
    clear: both;
    height: 0;
    content: '';
}
header .inner .logo{
    float: left; margin: 25px 0 0; transition: .3s ease-in-out;
}
header .inner .logo:hover{
    opacity: .5;
}
header .inner .info_box {
    font-size: 22px;
    line-height: 1.4;
    float: right;
    text-align: right;
    letter-spacing: 2px;
    color: #474747;
    font-weight: 400;
    background: linear-gradient(270deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 25%, rgba(255,255,255,0.8) 75%, rgba(255,255,255,0) 100%);
    margin: 40px 0 0;
    padding: 10px 40px;
    font-weight: 500;
}
header .inner .info_box .font_s{
    font-size: 20px;
}
header .inner .info_box li
{overflow: hidden; 

    white-space: nowrap;
}
header .inner .info_box li.line{
    display: inline-block;
    padding: 5px 15px;
    letter-spacing: 1px;
    color: #fff;
    background: #85bd7a;
    font-size: 20px;
    margin-top: 5px;
}
header .inner .info_box li a
{
    color: #474747;
}
header .inner .info_box li.description
{font-size: 12px; font-size: 1.2rem; overflow: hidden; 

    padding-top: 5px; white-space: nowrap; letter-spacing: 1px;
}
header .inner .btn_contact
{
    position: absolute; top: 0; right: 45px; transition: .3s ease-in-out;
}
header .inner .btn_contact:hover
{
    opacity: .5;
}

/***********************************/
/* グローバルメニュー */
/***********************************/
nav
{
    display: none;
}

/* header横型 */
nav#nav_01
{
    display: block; background: linear-gradient(to bottom, #f698a2 0%, #f698a2 100%);
}
nav#nav_01 ul
{display: table; 

    width: 1200px; margin: 0 auto; table-layout: fixed;
}
nav#nav_01 ul li
{
    display: table-cell;
}
nav#nav_01 ul li a
{font-size: 18px; font-size: 1.8rem; font-weight: normal; line-height: 40px; display: block; 

    height: 40px; transition: .3s ease-in-out; letter-spacing: 2px; color: #fff; border-right: solid 1px #ffc6cd;
}
nav#nav_01 ul li a:not(:target)
{
    line-height: 40px\9;
}
:root nav#nav_01 ul li a
{
    line-height: 40px\9;
}
nav#nav_01 ul li a:hover
{
    opacity: .5; color: #fff;
}
nav#nav_01 ul li:first-child a
{
    border-left: none;
}
nav#nav_01 ul li:last-child a
{
    border-right: none;
}
nav#nav_01 ul li.active
{
    background: rgba(255, 255, 255, .5);
}

/***********************************/
/* mainvisual */
/***********************************/
.mainvisual_box
{position: relative; overflow: hidden; 

    width: 1200px; min-height: 620px; /* フレックス左右の矢印 */ /* フレックス下部の丸*/ /*  画像の下に出したいときは.mainvisual_boxのoverflowを消していい感じに*/ margin: 0 auto 20px; padding: 24px 0;
}
.mainvisual_box ul li img
{
    position: absolute; left: 50%; overflow: hidden; width: 1200px; margin-left: -600px;
}
.mainvisual_box .flex-direction-nav a
{
    opacity: 1; text-shadow: none;
}
.mainvisual_box .flex-direction-nav a:before
{
    color: #000;
}
.mainvisual_box .flex-direction-nav .flex-prev
{
    left: -4px;
}
.mainvisual_box .flex-direction-nav .flex-next
{
    right: 4px;
}
.mainvisual_box .flex-nav-next,
.mainvisual_box .flex-nav-prev
{position: absolute; top: 0; bottom: 0; 

    width: 100%; max-width: 2000px;
}
.mainvisual_box ol
{
    position: absolute; z-index: 999; bottom: 5px; display: block;
}
.mainvisual_box ol li
{display: inline; 

    margin-right: 8px;
}
.mainvisual_box ol li:last-child
{
    margin-right: 0;
}
.mainvisual_box ol li a
{font-size: 10px; line-height: 1; display: inline-block; 

    width: 10px; height: 10px; color: rgba(0, 0, 0, 0); border-radius: 50%; background: rgba(0, 0, 0, .2); box-shadow: 0 0 2px 2px rgba(255, 255, 255, .4);
}
.mainvisual_box ol li .flex-active
{
    background: rgba(0, 0, 0, .6);
}

/***********************************/
/* contents */
/***********************************/
#contents
{
    padding-bottom: 50px; /* パンくずリスト */
}
#contents:after
{display: block; clear: both; 

    height: 0; content: '';
}
#contents .breadcrumb_box
{
    margin-bottom: 15px;
}
#contents .breadcrumb_box:after
{display: block; clear: both; 

    height: 0; content: '';
}
#contents .breadcrumb_box li
{position: relative; float: left; 

    margin-right: 25px;
}
#contents .breadcrumb_box li:after
{font-family: FontAwesome; position: absolute; top: 0; right: -15px; 

    display: inline-block; content: '\f105';
}
#contents .breadcrumb_box li:last-child:after
{
    display: none;
}
#contents .breadcrumb_box li a:hover
{
    text-decoration: underline;
}

/***********************************/
/* maincontents */
/***********************************/
main
{float: right; 

    width: 940px;
}

/***********************************/
/* sidebar */
/***********************************/
#sidebar
{float: left; 

    width: 220px; padding-top: 36px; /* ピックアップガール */
}
#sidebar .pickup_box
{
    margin-bottom: 20px;
}
#sidebar .pickup_box .thept_box li
{font-size: 14px; font-size: 1.4rem; position: relative; 

    width: 220px;
}
#sidebar .pickup_box .thept_box li a
{
    display: block; transition: .3s ease-in-out;
}
#sidebar .pickup_box .thept_box li a:hover
{
    opacity: .5;
}
#sidebar .pickup_box .thept_box li a div
{padding: 10px; 

    background: #fff0f1;
}
#sidebar .pickup_box .thept_box li .img_box
{overflow-y: hidden; 

    width: 220px; height: 330px;
}
#sidebar .pickup_box .thept_box li .img_box img
{
    width: 100%; max-width: 100%; max-height: 100%;
}
#sidebar .pickup_box .thept_box li .frame
{
    position: absolute; top: 0; left: 0; display: none;
}
#sidebar .pickup_box .thept_box li .frame img
{
    width: 100%;
}
#sidebar #bnr_line
{
    position: relative;
}
#sidebar #bnr_line p
{font-size: 15px; font-size: 1.5rem; line-height: 1; 

    position: absolute; z-index: 5; bottom: 15px; left: 50px;
}

/***********************************/
/* footer */
/***********************************/
footer
{
    width: 100%; min-width: 1200px; /* メニュー */
}
footer .footer_nav
{font-size: 12px; font-size: 1.2rem; 

    margin-bottom: 20px; background: linear-gradient(to bottom, #ffabb5 0%, #ffabb5 100%);
}
footer .footer_nav ul
{display: table; 

    width: 1200px; padding: 8px 0; table-layout: fixed;
}
footer .footer_nav ul li
{
    display: table-cell;
}
footer .footer_nav ul li a
{font-weight: normal; line-height: 22px; display: block; box-sizing: border-box; 
    height: 22px; transition: .3s ease-in-out; letter-spacing: 3px; color: #fff; border-right: solid 1px #ffc6cd;
}
footer .footer_nav ul li a:not(:target)
{
    line-height: 22px\9;
}
:root footer .footer_nav ul li a
{
    line-height: 22px\9;
}
footer .footer_nav ul li a:hover
{
    opacity: .5;
}
footer .footer_nav ul li:first-child a
{
    border-left: none;
}
footer .footer_nav ul li:last-child a
{
    border-right: none;
}
footer .footer_nav ul li.active
{
    background: #ff8ea9;
}
footer .inner
{
    margin: 0 auto 20px; /* 電話番号 & 営業時間 */
}
footer .inner .info_box li
{font-size: 16px; font-size: 1.6rem; display: inline-block; 

    margin-right: 10px;
}
footer .inner .info_box li.line{
    display: inline-block;
    padding: 1px 10px;
    color: #fff;
    background: #85bd7a;
    font-size: 14px;
    letter-spacing: 1px;
}
footer .inner small
{
    font-size: 10px;    font-size: 1rem;
}
footer .footer_link
{font-family: sans-serif; font-size: 12px; 

    padding: 5px 0; text-align: center; color: #474747; background: #f5e9ea;
}
footer .footer_link a
{text-decoration: underline; 

    color: #474747; -webkit-text-decoration-color: #d0d0d0;         text-decoration-color: #d0d0d0;
}

/********************************************************************/
/* page */
/********************************************************************/
/*********************************/
/* index */
/*********************************/
.index_box
{
    width: 1200px; min-height: 540px; margin: 0 auto 80px auto; padding-top: 140px;
}
.index_box .info_box
{font-size: 26px; font-size: 2.6rem; 

    margin-bottom: 40px; letter-spacing: 2px; color: #0d458b;
}
.index_box .info_box a
{
    color: #0d458b;
}
.index_box .info_box .description
{
    font-size: 14px;    font-size: 1.4rem;
}
.index_box .btn_box li
{
    display: inline-block;
}
.index_box .btn_box li:first-child
{
    margin-right: 40px; text-align: center;
}
.index_box .freetxt_box
{
    padding: 50px;
}

/*********************************/
/* top */
/*********************************/
/* 新着情報 */
.topics_box
{
    margin-bottom: 40px;
}
.topics_box .accordion_box
{
    margin-bottom: 20px; background: rgba(255, 255, 255, .8);
}
.topics_box article
{
    text-align: left;
}
.topics_box article h3 {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 35px;
    overflow: hidden;
    height: 35px;
    padding: 5px 25px 5px 10px;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #303030;
    border-top: 1px solid #f9bec5;
    background: #fff;
}
.topics_box article:first-of-type h3{
    border-top: none;
}
.topics_box article:last-of-type h3{
    border-bottom: 1px solid #f9bec5;
}
/*.topics_box article{
     border-bottom: 1px solid #f9bec5;
     }*/
     .topics_box article:last-of-type h3 + div{
        border-bottom: 1px solid #f9bec5;
        border-top: none;
    }
    .topics_box article h3 time
    {font-size: 10px; font-size: 1rem; line-height: 20px; display: inline-block; 

        height: 20px; margin-right: 10px; padding: 0 8px; text-align: center; vertical-align: text-bottom; color: #fff; border-radius: 2px; background: #fb818e;
    }
    .topics_box article h3 + div{
        padding: 15px; color: #303030; border-top: 1px solid #f9bec5;
    }

    /* 新着情報 開閉 */
    .topics_box .accordion_box article h3
    {
        position: relative; cursor: pointer;
    }
    .topics_box .accordion_box article h3:after
    {font-family: FontAwesome; font-size: 18px; font-size: 1.8rem; position: absolute; top: 5px; right: 10px; 

        display: inline-block; content: '\f105'; color: #fb818e;
    }
    .topics_box .accordion_box article h3.open:after
    {
        content: '\f107';
    }
    .topics_box .accordion_box article h3 + div
    {font-size: 14px; font-size: 1.4rem; 

        display: none;
    }

    /* メッセージ */
    .message_box
    {
        margin-bottom: 40px; background: rgba(255, 255, 255, .8);
    }
    .message_box > div
    {
        background: rgba(255, 255, 255, .8);
    }

    /* YouTube */
    .youtube_box
    {
        margin-bottom: 40px;
    }
    .youtube_box iframe
    {
        width: 100%; height: 466px;
    }

    /*********************************/
    /* therapist・schedule */
    /*********************************/
    /* セラピストリスト */
    .top_schedule_box .thept_box,
    .thept_list_box .thept_box,
    .schedule_box .thept_box
    {display: -ms-flexbox; display: flex; 

        padding: 20px; background: rgba(255, 255, 255, .9); -ms-flex-wrap: wrap;     flex-wrap: wrap;
    }

    .top_schedule_box .thept_box li a,
    .thept_list_box .thept_box li a,
    .schedule_box .thept_box li a
    {display: block; 

        transition: .3s ease-in-out;
    }
    .top_schedule_box .thept_box li a .img_box img,
    .thept_list_box .thept_box li a .img_box img,
    .schedule_box .thept_box li a .img_box img
    {
        width: 100%;
    }
    .top_schedule_box .thept_box li a .img_box + div,
    .thept_list_box .thept_box li a .img_box + div,
    .schedule_box .thept_box li a .img_box + div
    {
        font-size: 14px;    font-size: 1.4rem; padding: 10px; background: #fdf7f8;letter-spacing: 0.5px;
    }
    .top_schedule_box .thept_box li a .img_box + div p:last-child,
    .thept_list_box .thept_box li a .img_box + div p:last-child,
    .schedule_box .thept_box li a .img_box + div p:last-child
    {
        color: #fff; background: linear-gradient(270deg, #fabec5 0%, #f697a2 35%, #f697a2 65%, #fabec5 100%);
    }
    .top_schedule_box .thept_box li a .frame,
    .thept_list_box .thept_box li a .frame,
    .schedule_box .thept_box li a .frame
    {
        position: absolute; top: 0; left: 0; display: none;
    }
    .top_schedule_box .thept_box li a .frame img,
    .thept_list_box .thept_box li a .frame img,
    .schedule_box .thept_box li a .frame img
    {
        width: 100%;
    }
    .top_schedule_box .thept_box li a:hover,
    .thept_list_box .thept_box li a:hover,
    .schedule_box .thept_box li a:hover
    {
        opacity: .5;
    }

    /* スケジュール 日毎*/
    .top_schedule_box .thept_box li,
    .thept_list_box .thept_box li,
    .schedule_box .thept_box li
    {position: relative; 

        width: 260px; margin: 0 60px 20px 0;
    }
    .top_schedule_box .thept_box li:nth-of-type(3n),
    .thept_list_box .thept_box li:nth-of-type(3n),
    .schedule_box .thept_box li:nth-of-type(3n)
    {
        margin-right: 0;
    }
    .top_schedule_box .thept_box li a .img_box,
    .thept_list_box .thept_box li a .img_box,
    .schedule_box .thept_box li a .img_box
    {
        width: 260px; height: 390px;
    }
    .top_schedule_box .thept_box li a .img_box img,
    .thept_list_box .thept_box li a .img_box img,
    .schedule_box .thept_box li a .img_box img
    {
        max-width: 100%; max-height: 100%;
    }

    #schedule_day
    {
        /* 日付切替ボタン */
    }
    #schedule_day .sch_nav_box
    {
        position: relative;
    }
    #schedule_day .sch_nav_box .flex-direction-nav a
    {
        top: 20px; width: auto; height: auto; padding: 4px 20px; opacity: 1; color: #8f8583; border: 1px solid #8f8583; border-radius: 4px; background-color: white;
    }
    #schedule_day .sch_nav_box .flex-direction-nav a:before
    {
        display: none;
    }
    #schedule_day .sch_nav_box .flex-direction-nav .flex-next
    {
        right: 0;
    }
    #schedule_day .sch_nav_box .flex-direction-nav .flex-prev
    {
        left: 0;
    }
    #schedule_day .sch_nav_box .flex-direction-nav .flex-disabled
    {
        pointer-events: none; background-color: transparent;
    }
    #schedule_day .schedule_nav
    {
        margin-bottom: 30px;
    }
    #schedule_day .schedule_nav li
    {font-size: 12px; font-size: 1.2rem; line-height: 20px; display: inline-block; 

        margin-right: 5px; text-align: center; color: #fff; border-radius: 4px; background: #fabdc5;
    }
    #schedule_day .schedule_nav li a
    {display: block; 

        padding: 5px 10px; transition: .3s ease-in-out; color: #fff; border-radius: 4px;
    }
    #schedule_day .schedule_nav li a:hover
    {
        opacity: .5;
    }
    #schedule_day .schedule_nav .active
    {
        background: #f18b97;
    }

    /*  スケジュール 週間 */
    #schedule_week
    {
        /* 1週間Style */ /* 2週間Style */ /* 日付切替ボタン */ /* セラピストリスト */
    }
    #schedule_week .sch_nav_box
    {
        position: relative;
    }
    #schedule_week .sch_nav_box .flex-direction-nav a
    {
        top: -16px; width: auto; height: auto; padding: 4px 20px; opacity: 1; color: #8f8583; border: 1px solid #8f8583; border-radius: 4px; background-color: white;
    }
    #schedule_week .sch_nav_box .flex-direction-nav a:before
    {
        display: none;
    }
    #schedule_week .sch_nav_box .flex-direction-nav li
    {
        margin-bottom: 0;
    }
    #schedule_week .sch_nav_box .flex-direction-nav .flex-next,
    #schedule_week .sch_nav_box .flex-direction-nav .flex-prev
    {
        right: 0; left: auto; background-color: white;
    }
    #schedule_week .sch_nav_box .flex-direction-nav .flex-disabled
    {
        pointer-events: none; background-color: transparent;
    }
    #schedule_week .schedule_nav
    {
        margin-bottom: 30px;
    }
    #schedule_week .schedule_nav li
    {font-size: 12px; font-size: 1.2rem; line-height: 20px; display: inline-block; 

        margin-right: 5px; text-align: center; color: #fff; border-radius: 4px; background: #8f8583;
    }
    #schedule_week .schedule_nav li a
    {display: block; 

        padding: 5px 10px; transition: .3s ease-in-out; color: #fff; border-radius: 4px;
    }
    #schedule_week .schedule_nav li a:hover
    {
        opacity: .5;
    }
    #schedule_week .schedule_nav .active
    {
        background: #5a5352;
    }
    #schedule_week .thept_list li
    {
        margin-bottom: 10px; background: #fff;
    }
    #schedule_week .thept_list li:after
    {display: block; clear: both; 

        height: 0; content: '';
    }
    #schedule_week .thept_list li .img
    {float: left; 

        width: 70px;
    }
    #schedule_week .thept_list li .img img
    {
        width: 100%; vertical-align: middle;
    }
    #schedule_week .thept_list li .column
    {float: right; width: 850px; 
        padding-top: 5px;
    }
    #schedule_week .thept_list li .column .name
    {font-size: 14px; font-size: 1.4rem; line-height: 25px; 

        height: 25px; text-align: left;
    }
    #schedule_week .thept_list li .column .name:not(:target)
    {
        line-height: 25px\9;
    }
    :root #schedule_week .thept_list li .column .name
    {
        line-height: 25px\9;
    }
    #schedule_week .thept_list li .column .name img
    {
        vertical-align: sub;
    }

    /*********************************/
    /* profile */
    /*********************************/
    .profile_box .profile_box_right
    {font-size: 14px; font-size: 1.4rem; float: right; 

        width: 590px; margin-bottom: 50px;
    }
    .profile_box .profile_box_left
    {float: left; 

        width: 330px; margin-bottom: 50px;
    }
    .profile_box .profile_box_left .img_box
    {position: relative; width: 330px; height: 495px; 
        margin-bottom: 12px;
    }
    .profile_box .profile_box_left .img_box img
    {
        max-width: 100%; max-height: 100%;
    }
    .profile_box .profile_box_left .img_box .frame
    {
        position: absolute; top: 0; left: 0; display: none;
    }
    .profile_box .profile_box_left a
    {display: inline-block; 

        width: 60px; height: 90px; margin: 0 8px;
    }
    .profile_box .profile_box_left a .cast_thumb
    {display: inline-block; clear: both; 

        max-width: 100%; max-height: 100%; transition: .3s ease-in-out;
    }
    .profile_box .profile_box_left a .cast_thumb:hover
    {
        opacity: .5;
    }
    .profile_box .sch_prof_box
    {
        position: relative; clear: both; padding: 0;
    }
    .profile_box .sch_prof_box .slides
    {
        width: 100%; margin: 0 auto;
    }
    .profile_box .sch_prof_box .flex-direction-nav a
    {
        top: -16px; width: auto; height: auto; padding: 4px 20px; opacity: 1; color: #8f8583; border: 1px solid #8f8583; border-radius: 4px; background-color: white;
    }
    .profile_box .sch_prof_box .flex-direction-nav a:before
    {
        display: none;
    }
    .profile_box .sch_prof_box .flex-direction-nav .flex-next,
    .profile_box .sch_prof_box .flex-direction-nav .flex-prev
    {
        right: 0; left: auto; background-color: white;
    }
    .profile_box .sch_prof_box .flex-direction-nav .flex-disabled
    {
        pointer-events: none; background-color: transparent;
    }

    /*********************************/
    /* system */
    /*********************************/
    .system_box
    {
        /* 料金表 */ /* 2カラム */ /* 3カラム */
    }
    .system_box > div
    {
        background: rgba(255, 255, 255, .8);
    }
    .system_box .table_2column,
    .system_box .table_3column
    {
        width: 100%;
    }
    .system_box .table_2column th,
    .system_box .table_3column th
    {box-sizing: border-box; 
        padding: 6px 10px; text-align: center; vertical-align: middle; border: 1px solid #efe6e8; background: #ffe7ea;
    }
    .system_box .table_2column td,
    .system_box .table_3column td
    {box-sizing: border-box; 
        padding: 10px 20px 10px 10px; text-align: right; border: 1px solid #efe6e8; border-bottom: 1px solid #efe6e8;
    }
    .system_box .table_2column th,
    .system_box .table_2column td
    {
        width: 50%;
    }
    .system_box .table_3column th,
    .system_box .table_3column td
    {
        width: 33.33%;
    }

    /*********************************/
    /* access */
    /*********************************/
    .access_box > div
    {
        padding-bottom: 15px; background: rgba(255, 255, 255, .8);
    }
    .access_box #map-canvas
    {
        width: 910px; height: 500px; margin: 0 auto; text-align: left;
    }
    .access_box .table_01 th{
        width: auto;
        background: #faf6f5;
    }
    /*********************************/
    /* recruit */
    /*********************************/
    .recruit_box > div
    {
        background: rgba(255, 255, 255, .8);
    }

    /*********************************/
    /* link */
    /*********************************/
    .link_box > div
    {
        padding: 20px; background: rgba(255, 255, 255, .8);
    }
    .link_box .list_link_box
    {
        font-size: 10px;    font-size: 1rem;
    }
    .link_box .list_link_box:after
    {display: block; clear: both; 

        height: 0; content: '';
    }
    .link_box .list_link_box li
    {
        float: left; margin: 0 28px 20px 0;
    }
    .link_box .list_link_box li a
    {overflow: hidden; 

        width: 90px; height: 70px;
    }
    .link_box .list_link_box li:nth-of-type(8n)
    {
        margin-right: 0;
    }

    /*********************************/
    /* contact */
    /*********************************/
    .contact_box > div
    {
        padding: 20px; background: rgba(255, 255, 255, .8);
    }

    /*********************************/
    /* reserve */
    /*********************************/
    .contact_box #reserve select
    {
        margin-bottom: 4px;
    }

    /*********************************/
    /* enquete */
    /*********************************/
    /*********************************/
    /* magazine */
    /*********************************/
    .magazine_box > div
    {
        padding: 20px; background: rgba(255, 255, 255, .8);
    }
    .magazine_box > div .img_box
    {float: left; 

        width: 130px; margin-left: 270px;
    }
    .magazine_box > div .box
    {float: left; 

        padding: 25px 0; text-align: left;
    }

    /*********************************/
    /* free */
    /*********************************/
    .free_box > div
    {
        padding: 20px; background: rgba(255, 255, 255, .8);
    }

    /*********************************/
    /* 404err */
    /*********************************/
    .err_box
    {
        margin-bottom: 30px; padding: 20px 40px; background: rgba(255, 255, 255, .8);
    }
    .err_box > div
    {
        text-align: left;
    }

    /********************************************************************/
    /* parts */
    /********************************************************************/
    /*********************************/
    /* ボックス */
    /*********************************/
    .inner
    {
        width: 1200px; margin: 0 auto;
    }

    /* テキストボックス */
    .txt_box
    {margin-bottom: 20px; 
        padding: 15px; text-align: left; border: 1px solid #fff; background: rgba(255, 255, 255, .8);
    }

    /* フリーテキストボックス */
    .freetxt_box
    {font-size: 14px; font-size: 1.4rem; overflow: hidden; 

        padding: 15px; text-align: justify; background: rgba(255, 255, 255, .8);
    }
    .freetxt_box strong
    {
        font-weight: bold;
    }

    /*********************************/
    /* 見出し */
    /*********************************/
    /* 小見出し */
    .subtitle
    {font-size: 16px; font-size: 1.6rem; 

        height: 30px; text-align: left;
    }

    /*********************************/
    /* テキスト */
    /*********************************/
    /* 色 */
    .atten_01
    {
        color: #ff007e;
    }
    .atten_01 a
    {
        color: #ff007e;
    }

    .atten_02
    {
        color: #3172c3;
    }
    .atten_02 a
    {
        color: #3172c3;
    }

    /* サイズ */
    .fs_14
    {
        font-size: 14px;
    }

    .fs_18
    {
        font-size: 18px;
    }

    .fs_22
    {
        font-size: 22px;
    }

    .fs_30
    {
        font-size: 30px;
    }

    .fs_60
    {
        font-size: 60px;
    }

    .fw_b
    {
        font-weight: bold;
    }

    .txt_center
    {
        text-align: center;
    }

    .txt_left
    {
        text-align: left;
    }

    /* 必須 */
    .required
    {font-size: 17px; font-size: 1.7rem; line-height: 18px; display: inline-block; 

        height: 18px; text-align: center; color: #dd1760;
    }
    .required:not(:target)
    {
        line-height: 18px\9;
    }
    :root .required
    {
        line-height: 18px\9;
    }

    /*********************************/
    /* ボタン */
    /*********************************/
    .btn_01
    {font-size: 14px; font-size: 1.4rem; line-height: 40px; position: relative; display: inline-block; box-sizing: border-box; 
        width: 180px; height: 40px; transition: .1s ease-in-out; color: #fff; border-radius: 4px; background: #8f8583; box-shadow: 0 2px 0 #5f5351;
    }
    .btn_01:not(:target)
    {
        line-height: 40px\9;
    }
    :root .btn_01
    {
        line-height: 40px\9;
    }
    .btn_01:after
    {font-family: FontAwesome; font-size: 14px; font-size: 1.4rem; position: absolute; top: 0; right: 8px; bottom: 0; display: inline-block; 

        height: 40px; margin: auto; content: '\f105'; color: #fff;
    }
    .btn_01:hover
    {opacity: .8; color: #fff; 
        box-shadow: 0 2px 0 #5f5351;
    }

    .btn_02
    {font-size: 14px; font-size: 1.4rem; line-height: 34px; position: relative; display: inline-block; box-sizing: border-box; 
        width: 180px; height: 40px; transition: .1s ease-in-out; color: #fff; border: none; border-radius: 4px; background: #8f8583; box-shadow: 0 2px 0 #5f5351;
    }
    .btn_02:after
    {font-family: FontAwesome; font-size: 14px; font-size: 1.4rem; position: absolute; top: 0; right: 8px; bottom: 0; display: inline-block; 

        height: 40px; padding-top: 3px; content: '\f105'; color: #fff;
    }
    .btn_02:hover
    {opacity: .8; color: #fff; 
        box-shadow: 0 2px 0 #5f5351;
    }

    /*********************************/
    /* テーブル */
    /*********************************/
    .table_01
    {font-size: 14px; font-size: 1.4rem; 

        width: 100%; text-align: left; border-right: 1px solid #e4d7d9; border-left: 1px solid #e4d7d9;
    }
    .table_01 th,
    .table_01 td
    {
        padding: 10px; border: 1px solid #e4d7d9; border-top: 1px solid #e4d7d9; border-bottom: 1px solid #e4d7d9;
    }
    .table_01 th
    {
        width: 200px; vertical-align: middle; background: #ffe7ea;
    }

    .table_02
    {
        width: 100%; margin-bottom: 20px; text-align: left;
    }
    .table_02 th,
    .table_02 td
    {
        padding: 5px 5px 5px 10px; text-align: center; border: 1px solid #e4d7d9;
    }
    .table_02 th
    {vertical-align: top; 

        background: #ffe7ea;
    }
    .table_02 td
    {
        height: 20px;
    }

    /*********************************/
    /* フォーム */
    /*********************************/
    input[type='text'],
    input[type='email'],
    input[type='tel']
    {font-size: 14px; font-size: 1.4rem; 

        width: 200px; height: 35px; padding: 0 10px; border: 1px solid #c6c6c6; border-radius: 4px;
    }

    .input_3culumn input[type='text']
    {font-size: 14px; font-size: 1.4rem; 

        width: 80px; height: 35px; padding: 0 10px; border: 1px solid #c6c6c6; border-radius: 4px;
    }

    select
    {font-size: 14px; font-size: 1.4rem; 

        width: 222px; height: 35px; padding: 0 10px; border: 1px solid #c6c6c6; border-radius: 4px;
    }

    input[type='radio']
    {
        display: none; margin-right: 5px; cursor: pointer;
    }
    input[type='radio'] + label
    {
        margin-right: 20px; cursor: pointer;
    }
    input[type='radio'] + label:before
    {font-family: FontAwesome; font-size: 20px; font-size: 2rem; display: inline-block; 

        width: 22px; content: '\f10c'; vertical-align: sub;
    }
    input[type='radio']:checked + label:before
    {
        content: '\f192';
    }

    textarea
    {font-size: 14px; font-size: 1.4rem; 

        width: 582px; padding: 10px; border: 1px solid #c6c6c6; border-radius: 4px;
    }

    /*********************************/
    /* その他 */
    /*********************************/
    /* マージン */
    .mb_10
    {
        margin-bottom: 10px;
    }

    .mb_15
    {
        margin-bottom: 15px;
    }

    .mb_20
    {
        margin-bottom: 20px;
    }

    .mb_30
    {
        margin-bottom: 30px;
    }

    .mb_40
    {
        margin-bottom: 40px;
    }

    /* clear */
    .cl_b
    {
        clear: both;
    }

    /* hover */
    .link_act_01
    {
        transition: .3s ease-in-out;
    }
    .link_act_01:hover
    {
        opacity: .5;
    }

    .bnr
    {
        text-align: center;
    }

    .bnr img
    {
        max-width: 100%;
    }
