:root {
    /* add setting over ride  共通のrootを上書き */

    /* mobile 倍率 */

    /* mpbile用 PCで読み込む際に計算式で必要 数字に影響が出ないように1とする */
    --mobile-margin-top-balance: 1.05;
    --mobile-margin-left-balance: 1.33;
    --mobile-font-balance :1.85;
    --mobile-width-balance :1.16;

    --d-font-line-h:2;

    /* font weight */
    --d-font-weight-bold: 500;
    --d-font-weight-bold-1: 650;

    /* font size */
    --d-font-size: 1rem;

    --d-font-size-1: calc( var(--d-font-size) * 1.15 );
    --d-font-size-2: calc( var(--d-font-size) * 1.25 );
    --d-font-size-3: calc( var(--d-font-size) * 1.3 );
    --d-font-size-4: calc( var(--d-font-size) * 1.45 );
    --d-font-size-5: calc( var(--d-font-size) * 1.88 );

    --d-font-size-min-1: calc( var(--d-font-size) * 0.85 );
    --d-font-size-min-2: calc( var(--d-font-size) * 0.7 );

    /* 読み物用 size */
    --read-font-size: 1rem;
    --read-line-height: 2.2;

    /* hamburger-menu */
    --hamburger-menu-size: 50px; /* メニューの大きさ */
    --hamburger-menu-padding: 1em;
    --hamburger-boder-padding: 16px;
    --hamburger-menu-border-px: 2px; /* 線の太さ */
    --hamburger-menu-border-color: #FFFFFF; /* 線の色 */
    --hamburger-menu-transition: 0.3s; /* アニメーション秒数 */

    /* heroImage用 */
    --hero-height : 50vh;
}
/**********************
google develop blog config
***********************/
body{
    color:var(--d-color);
}
h2{
    font-size: var(--d-font-size-1);
}
ul{
    padding: 0 1em 1em 4em;
    list-style-type: disc;
}
ol{
    padding: 0 1em 1em 4em;
    list-style-type: decimal;
}
th{
    font-weight: var(--d-font-weight);
}
th,td{
    font-size: var(--d-font-size);
}
dt,dd{
    font-size: var(--d-font-size);
    line-height: var(--d-font-line-h);
}
dd{
    padding-left:1.5em ;
    margin-bottom:2em;
}
select{
    padding-right: 0.5em;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}
li{
    font-size: var(--d-font-size);
    line-height: var(--d-font-line-h);
    margin: 0 0 1.75em 0;
}
p{
    font-size: var(--d-font-size);
    line-height: var(--d-font-line-h);
    margin-bottom:var(--d-font-margin-b);
}
div p:last-child{
    margin: 0 0 2.5em 0;
}
.sp-only{
    display: block;
}
.title_box .h3,
.title_box p.h3{
    font-size: var(--d-font-size-3);
    font-family: var(--font-f-en);
    text-align: center;
    margin: 0;
}
.title_box h3{
    font-size: var(--d-font-size-1);
    text-align: center;
    font-family: var(--font-f-mincho);
}
.title_box{
    text-align: center;
    padding: 3em 1.5em;
}
.h1{
    font-size: var(--d-font-size-2);
    margin-bottom: var(--d-font-size-2-margin-b);
}
.h3{
    font-size: var(--d-font-size-4);
    margin-bottom: var(--d-font-size-4-margin-b);
}
/**********************
common
***********************/
.indent{
    letter-spacing: -1px;
}
.hidden{
    display: none;
}
html{
    height: 100%;
}
body {
    height: 100%;
    margin: 0;

    /*iphone フォントサイズが横にした時に変わるやつ*/
    -webkit-text-size-adjust: none;
}
/*
in page main{
    padding: 0 1.2em;
}
*/
.menu_wraps {
    width: 100%;
    font-size: 16px;
}
.flexbox {
    display: flex;
}
img {
    width: 100%;
    height: auto;
}

/**********************
header
***********************/
header nav.view p{
    margin: 0;
}

header nav.view p a{
    padding: 1em;
}

header i.property{
    font-size: var(--d-font-size-1);
    color: var(--d-brand-color);
}
header.head_wrap:before{
    position: relative;
}
header.head_wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 0.6em 1em 1em;
    /*background: var(--d-brand-color);*/
    display: flex;
    align-items: center;
    z-index: 3;
}

header.head_wrap nav.view{
    margin: 0 auto;
}
header.head_wrap nav.view .icon_contacts{
    position: relative;
    right: 16.5%;
    top: 2.5%;
}

header.head_wrap p.logo {
    margin: 0 0.5em 0 0;
}
header.head_wrap .logo_text{
    margin: 0;
    padding: 0;
    list-style-type: none;
}
header.head_wrap .logo_text li:nth-child(1){
    line-height: 1;
    margin: 0 0 0.25em 0;
}
header.head_wrap .logo_text li:nth-child(2){
    line-height: 1;
    margin: 0;
    width: 50%;
}
/**********************
footer 上部 nav
***********************/
.foot_nav{
    margin: 3em 0 0 0;
}
.foot_nav.no_fix_nav{
    padding:0;
}
.foot_nav p{
    text-align: center;
    margin: 0 ;
    padding: 0.6em 0;
    font-family: var(--font-f-en);
    font-size: var(--d-font-size-1);
}
.foot_nav ul{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    list-style-type: none;
    margin: 0;
    padding: 0;
}
.foot_nav li a:before{
    position: relative;
    content: '\f054';
    font-family: fontAwesome;
    z-index: 0;
    font-size:var(--d-font-size-min-2);
    line-height: 1;
    color:var(--d-color-thin-3);
    margin: 0.5rem 0.5rem 0.5rem 0;
}
.foot_nav li{
    width: 50%;
    background: #EEE;
    margin: 0;
}
.foot_nav li:nth-child(even){
    border-left: solid 1px #FFF;
}

.foot_nav li:nth-child(n + 3) {
    border-top: solid 1px #FFF;
}
.foot_nav li a{
    width: 100%;
    display: block;
    text-decoration: none;
    color:var(--d-brand-color);
    padding: 0.5em 0 0.5em 0.8rem;
}
.foot_nav li i{
    margin: 0 1em 0 2em;
    padding: 0 0 0.5rem 0;
    color: #CCC;
}
.foot_nav li i.property{
    font-size: 0.5rem;
}
.copy_right span{
    display: block;
    font-size: var(--d-font-size-min-2);
    line-height: 1;
}
.copy_right{
    clear: both;
    padding-top: 2em;
    padding-bottom: 5em;
    text-align: center;
    color: var(--d-brand-sub-color);
    font-family: var(--font-f-en);
}
.copy_right a{
    color: var(--d-brand-sub-color);
    line-height: 0.2;
}
div.sms_box p:last-child{
    margin: 0;
}
.sms_box{
    width: 90%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.sms_box p{
    font-size: var(--d-font-size-min-1);
    color:var(--d-brand-sub-color);
    text-align: left;
}
.sms_box p.sms_logo{
    width: 40%;
    text-align: center;
    margin: 0;
}
/**********************
Fix footer nav
***********************/
footer{
    width: 100%;
    background: #FFFFFF;
}
.foot{
    position: fixed;
    display: flex;
    background: var(--d-brand-color-deep-1);
    bottom: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style-type: none;
    justify-content: center;
    align-items: center;
    z-index: 2;
}
.foot li{
    margin: 0;
    padding: 0;
    width: 50%;
    text-align: center;
    color: #FFFFFF;
    line-height: 1.5;
    font-size: var(--d-font-size-min-3);
}
.foot li:first-child,
.foot li:last-child
{
    border-right: solid 1px #ABE2E0;
}
.foot a.access:before,
.foot a.bookings:before{
    display: block;
    font-family: fontAwesome;
    z-index: 0;
    font-size:var(--d-font-size-5);
    line-height: 1;
}
.foot li a{
    display: block;
    font-size: var(--d-font-size-min-3);
    text-decoration: none;
    color: #FFF;
    width: 100%;
    padding: 0.8rem 0;
}
.foot a.access:before{
    content: '\f3c5';

}
.foot a.bookings:before{
    content: '\f274';
}

footer .time_box{
    text-align: center;
    margin: 2em auto 9em;
    width: 60%;
}
footer .time_box dt,
footer .time_box dd{
    font-size: var(--d-font-size-min-1);
    float: left;
}
footer .time_box dt {
    clear: left;
    width: 40%;
    margin: 0;
    padding: 0;
    text-align: left;
}
footer .time_box dd{
    margin: 0;
    padding: 0;
}
.time_box i{
    margin: 0 0.5em 0 0;
}

/* wave Animation position start */
.waves {
    position:relative;
    width: 100%;
    height:15vh;
    margin-bottom:-10px; /*Fix for safari gap*/
    min-height:100px;
    max-height:150px;
}
/* wave Animation position end */

.waves.footer_wave{
    position: relative;
    bottom:9vh;
    left: 0;
    width: 100%;
}
figure{
    margin: 0;
}
.sp-display-block{
    display: block;
}
.first-block{
    order: 1;
}
.second-block{
    order: 2;
}
.three-block{
    order: 3;
}
/* google recaptcha badge 非表示へ */
.grecaptcha-badge { visibility: hidden; }