@charset "utf-8";

/* =================================================

    Style.css

----------------------------------------------------
*
        Page Layout
        Common Style
        header
        contents
        footer
        reservation
        lower
*
================================================= */

/* =================================================

        Page Layout

================================================= */

/*#document { min-width: 320px; height: 100%;}*/
#document #contents section { padding-top:65px; /*40px*/}
#document .innWid01{ width:960px; margin-left:auto; margin-right:auto;}
#document .innWid02{ width:620px; margin-left:auto; margin-right:auto;}
#document .innWid03{ width:720px; margin-left:auto; margin-right:auto;}
#document .innWid04{ width:800px; margin-left:auto; margin-right:auto;}

@media screen and (max-width: 767px) {
#document .innWid01,#document .innWid02,#document .innWid03,#document .innWid04{ width:auto; }
}


/* =================================================

        Common Style

================================================= */

/* ----------------------------------------------
        ttl
---------------------------------------------- */
#document .ttl01 {
    position:relative;
    text-align:center;
    font-family: 'Crimson Text', serif; font-style:italic;
    font-weight:bold;
    font-size:36px;
    line-height:1;
    margin:0 0 70px;
}

#document .ttl01.ttlDif01 {
    color:#FFFFFF;
}

#document .ttl01 span{
 font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; font-style:normal;
    font-size:12px;
    display:block;
    line-height:2;
}

/* ttl飾り上 */
#document .ttl01:before {
    content: "";
    position: absolute;
    left: 50%;
    top: -25px;
    transform: translateX(-50%);
 -webkit-transform: translateX(-50%);
    width: 60px;
    height:2px;
    background-color:#1ea3e1;
}

#document .ttl01.ttlDif01:before {
    background-color:#FFFFFF;
}

#document .ttl01:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -20px;
    transform: translateX(-50%);
 -webkit-transform: translateX(-50%);
    width: 60px;
    height:2px;
    background-color:#1ea3e1;
}

#document .ttl01.ttlDif01:after {
    background-color:#FFFFFF;
}

#document .ttl02 {
    position:relative;
    text-align:center;
    font-weight:bold;
    font-size:20px;
    line-height:1;
}

#document .ttl03 {
    text-align:center;
 font-family: 'Crimson Text', serif; font-style:italic;
    font-weight:bold;
    font-size:36px;
    line-height:1;
    color:#1ea3e1;
}


/* ----------------------------------------------
        btn
---------------------------------------------- */
#document .btn01 {
    margin:0 auto;
}

#document .btn01 a{
    padding: 7px 50px;
    border: 1px solid #666666;
    display:block;
    width:100%;
    background-repeat: no-repeat;
}

#document .btn01 a:hover{
    border: 1px solid #666666;
    background-color:#666666 !important;
    color:#FFFFFF;
    background-repeat: no-repeat;
    opacity:1;
}


/* =================================================

        header

================================================= */

/* ----------------------------------------------
        mainImg
---------------------------------------------- */
#header #mainImg {
    position:relative;
    background-image: url(../img/head_img01_pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    height:684px;
}

#header #mainImg #mainTxt01{
    position:absolute;
    top:0;
    left:0;
    width:93px;
}

#header #mainImg #mainTxt02{
    position:absolute;
    top:81px;
    right:344px;
}

#header #mainImg #mainTxt02 img{
    min-width:344px;
}

#header #mainImg h1{
    background-image: url(../img/head_ttl01_pc.png);
    background-repeat: no-repeat;
    background-position:center;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    width:640px;
    height:152px;
    position:absolute;
    top:491px;
    right:50px;
}


@media screen and (max-width: 1280px) {
#header #mainImg #mainTxt02{
    right:10%;
}
}


@media screen and (max-width: 767px) {
#header #mainImg {
    background-image: url(../img/head_img01_sp.jpg);
    height:0;
    padding-top:155.7333%;
}

#header #mainImg #mainTxt01{
    width:21.333%;
}

#header #mainImg #mainTxt02{
    top:0;
    right:14.266%;
    margin-top:6.2666%;
    width:45.8666%;
}

#header #mainImg #mainTxt02 img{
    min-width:inherit;
}

#header #mainImg h1{
    background-image: url(../img/head_ttl01_sp.png);
    width:85.333%;
    padding-top:25.8666%;
    padding-bottom:10.666%;
    height:0;
    top:auto;
    bottom:0;
    left:50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    background-size:100%;
}
}


/* ----------------------------------------------
        navIcon
---------------------------------------------- */
#header .navIcon {
    display: none;
}


@media screen and (max-width: 767px) {
#header .navIcon {
 display: table-cell;
    width: 62px;
    height:62px;
    vertical-align: middle;
    white-space: nowrap;
    background-color:rgba(255,255,255,0.4);
    position:fixed;
    top:0;
    right:0;
    z-index:10000;
}

#header .navIcon a {
 display: block;
    position: relative;
    width:100%;
    margin:0 auto;
    height:100%;
    color:#000000;
}

#header .navIcon a span {
    overflow: hidden;
    white-space: nowrap;
    text-indent: 100%;
    text-decoration: none;
}

#header .navIcon a span,
#header .navIcon a:before,
#header .navIcon a:after {
    content: "";
    position: absolute;
    width: 38px;
    display: block;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    height:4px;
    background-color: #0ad1fc;
}

#header .navIcon a span { top: 28px;}
#header .navIcon a:before { top: 16px;}
#header .navIcon a:after { top: 41px;}

#header .navIcon.active a span,
#header .navIcon.active a:before,
#header .navIcon.active a:after {
    background-color: #ffffff;
}

#header .navIcon.active a span { opacity:0;}
#header .navIcon.active a:before {
 -webkit-transform: translateY(12px) rotate(45deg);
 transform: translateY(12px) rotate(45deg);
    left:12px;
    top:16px;
}

#header .navIcon.active a:after {
 -webkit-transform: translateY(12px) rotate(-45deg);
 transform: translateY(12px) rotate(-45deg);
    left:12px;
    top:16px;
}
}


/* ----------------------------------------------
        globalNav
---------------------------------------------- */
#header #globalNav {
    background: -moz-linear-gradient(left, rgb(157,199,76) 0%, rgb(0,167,196) 40%, rgb(125,185,232) 100%);
    background: -webkit-linear-gradient(left, rgb(157,199,76) 0%,rgb(0,167,196) 40%,rgb(125,185,232) 100%);
    background: linear-gradient(to right, rgb(157,199,76) 0%,rgb(0,167,196) 40%,rgb(125,185,232) 100%);
    padding:13px 0 8px;
}

#header #globalNav #globalNavInn ul li {
    float:left;
    text-align:center;
}

#header #globalNav #globalNavInn ul{
    float:left;
}

#header #globalNav #globalNavInn #mainNav li a{
    color: #FFFFFF;
 font-family: 'Crimson Text', serif; font-style:italic;
    font-weight:bold;
    font-size:28px;
    text-shadow:1px 1px 2px rgba(0,0,0,0.5);
    line-height:1;
    display:block;
    width:140px;
}

#header #globalNav #globalNavInn #mainNav li a span{
 font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; font-style:normal;
    font-size:10px;
    display:block;
}

#header #globalNav #globalNavInn #subNav{
    margin-left:16px;
}

#header #globalNav #globalNavInn #subNav li{
    width:39px;
}

#header #globalNav #globalNavInn #subNav li:first-child{
    margin-right:21px;
}


@media screen and (max-width: 767px) {
#header #globalNav {
 background: -moz-linear-gradient(top, rgb(125,185,232) 0%, rgb(0,167,196) 60%, rgb(157,199,76) 100%);
 background: -webkit-linear-gradient(top, rgb(125,185,232) 0%,rgb(0,167,196) 60%,rgb(157,199,76) 100%);
 background: linear-gradient(to bottom, rgb(125,185,232) 0%,rgb(0,167,196) 60%,rgb(157,199,76) 100%);
    position:fixed;
    top:0;
    left:0;
    width:100%;
    padding:66px 0 113px;
    display:none;
    z-index:1000;
}

#header #globalNav #globalNavInn ul li {
    float:none;
}

#header #globalNav #globalNavInn ul{
    float:none;
}

#header #globalNav #globalNavInn #mainNav li a{
    width:188px;
    border-bottom:1px solid #ffffff;
    margin:0 auto;
    padding:12px 0;
}

#header #globalNav #globalNavInn #subNav{
    margin:15px auto 0;
    width:149px;
}

#header #globalNav #globalNavInn #subNav li{
    width:64px;
    float:left;
}
}


/* =================================================

        contents

================================================= */

/* ----------------------------------------------
        lead
---------------------------------------------- */
#document #contents #lead {
    padding-top:30px;
}

#contents #lead #leadBox {
    position:relative;
    background-image: url(../img/lead_bg01.png);
    background-repeat: no-repeat;
    background-position:center 27px;
    text-align:center;
    font-size:16px;
    margin-bottom:90px;
}

#contents #lead #leadBox h2 img {
    width:383px;
}

#contents #lead #leadBox p {
    margin-top:28px;
}

#contents #lead #leadBox .trainner {
    font-weight:bold;
}

#contents #lead #leadBox .trainnerImg{
    width:80px;
    display:block;
    position:absolute;
    bottom:-23px;
    right:94px;
}

#contents #lead p img {
    width:100%;
}

#contents #lead .leadImg01 img:nth-child(2) {
    display:none;
}

#contents ._flex_vimeo_box {
    display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
    margin-top: 2em;
    text-align: center;
}

#contents ._flex_vimeo_box ._vimeo {
    width: 50%;
}

#contents ._flex_vimeo_box ._vimeo > iframe {
    width: 25vw;
    height: 49vw;
}


@media screen and (max-width: 767px) {
#contents #lead #leadBox {
    background-image: none;
    font-size:14px;
    margin-bottom:90px;
}

#contents #lead #leadBox .trainnerArea {
    width:290px;
    margin:0 auto;
}

#contents #lead #leadBox .trainner {
    float:left;
    margin-right:15px;
    margin-top:40px;
}

#contents #lead #leadBox .trainnerImg{
    position:static;
    float:left;
    margin-top:14px;
}

#contents #lead .leadImg01 img:nth-child(1) {
    display:none;
}

#contents #lead .leadImg01 img:nth-child(2) {
    display:block;
}
}


@media screen and (max-width: 479px) {
#contents #lead #leadBox h2 img {
    width:68%;
}
}


/* ----------------------------------------------
        sec01
---------------------------------------------- */
#contents #sec01 ul li {
    background-repeat: no-repeat;
    background-position:left bottom;
    float:left;
    padding-left:10px;
    padding-bottom:10px;
    margin-left:-10px;
}

#contents #sec01 ul li:nth-child(1) { background-image: url(../img/sec01_bg01_pc.png);}
#contents #sec01 ul li:nth-child(2) { background-image: url(../img/sec01_bg02_pc.png);}
#contents #sec01 ul li:nth-child(3) { background-image: url(../img/sec01_bg03_pc.png);}
#contents #sec01 ul li:nth-child(4) { background-image: url(../img/sec01_bg04_pc.png);}

#contents #sec01 ul li:nth-child(even):before,
#contents #sec01 ul li:nth-child(even):after { content: ""; display: table;}
#contents #sec01 ul li:nth-child(even):after { clear: both;}

#contents #sec01 ul li:nth-child(n+3) {
    margin-top:40px;
}

#contents #sec01 ul li .sec01Ph {
    width:160px;
    float:left;
    margin-right:20px;
}

#contents #sec01 ul li dl {
    width:260px; 
    float:left;
}

#contents #sec01 ul li:nth-child(odd) dl {
    padding-right:60px;
    width:320px; /*260px*/ 
}

#contents #sec01 ul li dl dt {
    color:#1ea3e1;
    font-weight:bold;
    font-size:17px;
}

#contents #sec01 ul li dl dt span{
    font-weight:normal;
    display:block;
    font-size:11px;
    color:#666666;
}


@media screen and (max-width: 767px) {
#contents #sec01 ul li:before,
#contents #sec01 ul li:after { content: ""; display: table;}
#contents #sec01 ul li:after { clear: both;}

#contents #sec01 ul li {
    background-size:100%;
    float:none;
    padding-left:0;
    padding-bottom:21.333%;
    margin-left:0;
}

#contents #sec01 ul li:nth-child(1) { background-image: url(../img/sec01_bg01_sp.png);}
#contents #sec01 ul li:nth-child(2) { background-image: url(../img/sec01_bg02_sp.png);}
#contents #sec01 ul li:nth-child(3) { background-image: url(../img/sec01_bg03_sp.png);}
#contents #sec01 ul li:nth-child(4) { background-image: url(../img/sec01_bg04_sp.png);}

#contents #sec01 ul li:nth-child(even):before,
#contents #sec01 ul li:nth-child(even):after { content: ""; display: table;}
#contents #sec01 ul li:nth-child(even):after { clear: both;}

#contents #sec01 ul li:nth-child(n+3) {
    margin-top:0;
}

#contents #sec01 ul li .sec01Ph {
    width:42.666%; /*160px*/
    float:left;
    margin-right:20px;
}

#contents #sec01 ul li:nth-child(even) .sec01Ph{ 
    float:right;
    margin-right:0;
}

#contents #sec01 ul li dl {
    width:47.466%; 
    float:left;
    padding-top:1em;
}

#contents #sec01 ul li:nth-child(even) dl{ 
    float:right;
    padding-right:20px;
}

#contents #sec01 ul li:nth-child(odd) dl {
    padding-right:0;
    width:47.466%; /*260px*/ 
}
}

/* a#vimeo {
    font-weight:bold;
    text-decoration: underline;
    margin: 20px 0 0 0;
    display: flex;
    justify-content: center;
} */
#vimeo {
    text-align: center;
    
}

#vimeo .btn01 {
    margin-top: 3.3em;
}
#vimeo .btn01 a {
    padding: 7px 68px;
    border: 1px solid #666666;
    display: inline-block;
    width: auto;
    background-image: url(../img/icon_arr02.png);
    border-radius: 24px;
    background-size: 20px;
    background-position: center right 42px;
    background-repeat: no-repeat;
}
@media screen and (max-width:767px) {
    #vimeo .btn01 a {
        padding: 7px;
        background-position: center right 10px;
        min-width: 82vw;
    }
}
@media screen and (max-width:321px) {
    #vimeo .btn01 a {
        min-width: 94vw;
        background-position: center right 10px;
    }
}
#vimeo .btn01 a:hover {
    background-image: url(../img/icon_arr02_hv.png);
}

/* ----------------------------------------------
        sec02
---------------------------------------------- */
#contents #sec02 {
    margin-bottom:60px;
}

#contents #sec02 dl {
    float:left;
    width:360px;
    margin-left:40px;
}

#contents #sec02 dl dt{
    font-weight:bold;
    text-align:center;
    font-size:16px;
}

#contents #sec02 dl dd{
    margin-top:13px;
}

#contents #sec02 .proBox {
    margin-bottom:50px;
}

@media screen and (min-width: 768px) {
    #contents #sec02 .proBox.cf {
        display: flex;
        justify-content: space-evenly;
    }
    #contents #sec02 .proBox.cf .sec02Ph {
        order: 2;
        width: 33.4%;
    }
    #contents #sec02 .proBox.cf dl {
        display: block;
        margin-left: 0;
    }
}

#contents #sec02 .btn01{
    width:160px;
}

#contents #sec02 .btn01 a {
    background-image: url(../img/icon_blog02.png);
    background-size: 20px;
    border-radius: 21px;
    background-position:103px center;
}

#contents #sec02 .btn01 a:hover{
    background-image: url(../img/icon_blog02_hv.png);
}


@media screen and (max-width: 767px) {
#contents #sec02 .proBox{
    padding:7.4666%;
}

#contents #sec02 .sec02Ph {
    margin: 0 auto;
    width: 79%;
}

#contents #sec02 dl {
    float:none;
    width:100%;
    margin-left:0;
    margin-top:20px;
}

#contents #sec02 .proBox {
    margin-bottom:0;
}

#contents #sec02 .btn01{
    width:160px;
}

#contents #sec02 .btn01 a{
    background-image: url(../img/icon_blog02.png);
    background-size: 20px;
    border-radius: 21px;
    background-position:103px center;
}

#contents #sec02 .btn01 a:hover{
    background-image: url(../img/icon_blog02_hv.png);
}
}


/* ----------------------------------------------
        sec03
---------------------------------------------- */
#contents #sec03 {
    position:relative;
    background-image: url(../img/sec03_bg01_pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    height:720px;
}

#contents #sec03 .innBox{
    background-image: url(../img/sec03_bg01.png);
    background-repeat: repeat;
    background-size:81px 64px;
    text-align:center;
    padding-bottom:40px;
}

#contents #sec03 .innBox .ttlArea{
    width:397px;
    padding-top:30px;
    margin:0 auto;
}

#contents #sec03 .innBox .imgArea{
    width:320px;
    padding-top:20px;
    margin:0 auto;
}

#contents #sec03 .innBox .txtArea{
    margin:15px 0 20px;
}

#contents #sec03 .innBox .txtArea span{
    margin-top:5px;
    display:block;
    font-weight:bold;
}

#contents #sec03 .innBox .btn01 {
    font-size:18px;
    background-color:#ffffff;
    width:320px;
}

#contents #sec03 .innBox .btn01 a {
    background-image: url(../img/icon_arr02.png);
    border-radius: 24px;
    background-size: 20px;
    background-position:237px center;
}

#contents #sec03 .btn01 a:hover{
    background-image: url(../img/icon_arr02_hv.png);
}


@media screen and (max-width: 767px) {
#contents #sec03 {
    padding:0 2.666% 13.333%;
height:auto;
}

#contents #sec03 .innBox{
    background-size:20%;
    padding:0 4.929% 40px;;
}

#contents #sec03 .innBox .imgArea{
    width:100%;
}
}


@media screen and (max-width: 479px) {
#contents #sec03 .innBox .ttlArea{
    width:94.166%;
}

#contents #sec03 .innBox .btn01 {
    width:100%;
}

#contents #sec03 .innBox .btn01 a {
    background-position:86% center;
}
}


/* ----------------------------------------------
        sec04
---------------------------------------------- */
#contents #sec04 .ttl02 span {
    display:block;
    width: 60px;
    margin:0 auto 18px;
}

#contents #sec04 .ttl02 .dlTxt {
    display:inline;
    font-weight:bold;
}

#contents #sec04  #crs01 .crsBox { border:1px solid #048ab6;}
#contents #sec04  #crs02 .crsBox { border:1px solid #048ab6;}
#contents #sec04  #crs03 .crsBox { border:1px solid #04b6b4;}
#contents #sec04  #crs04 .crsBox { border:1px solid #04b682;}

#contents #sec04 .crsBox .crsBoxInn h4{
    font-size:18px;
    font-weight:bold;
    text-align:center;
    padding:8px 0;
}

#contents #sec04 > div  {
    margin-top:40px;
}

#contents #sec04 .ttl02  {
    margin-bottom:20px;
}

#contents #sec04 #crs01 .crsBox .crsBoxInn h4 { background-color:#def1ff; color:#0470b6;}
#contents #sec04 #crs02 .crsBox .crsBoxInn h4 { background-color:#dbf6ff; color:#048ab6;}
#contents #sec04 #crs03 .crsBox .crsBoxInn h4 { background-color:#e4f6f4; color:#04b6b4;}
#contents #sec04 #crs04 .crsBox .crsBoxInn h4 { background-color:#e6f9ed; color:#04b682;}

#contents #sec04 .crsBox .crsBoxInn h4 a.accBar { display:none; }

#contents #sec04 .crsBox .crsBoxInn h4 span{
    font-size:13px;
    font-weight:bold;
    vertical-align:middle;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk {
 display:flex;
    padding:30px 20px 36px;
    width:100%;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk.right {
 flex-direction: row-reverse;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk.left {
 display:flex;
 justify-content: flex-start;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk .picArea{
    flex-basis:440px;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk.left .picArea{
    margin-right:20px;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk .descArea{
    flex-basis:460px;
    line-height:1.6;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk.right .descArea{
    margin-right:20px;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk .descArea .topArea p.status {
    margin-bottom:6px;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk .descArea .topArea p.status span {
    background-color:#1ea3e1;
    color:#ffffff;
    font-size:11px;
    margin-right:5px;
    padding:2px 6px;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk .descArea .btmArea {
    margin-top:20px;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk .descArea .btmArea dl dt {
    font-weight:bold;
    padding-bottom:1px;
    margin-bottom:8px;
}

#contents #sec04 #crs01 .crsBox .crsBoxInn .crsBoxInnBlk .descArea .btmArea dl dt { color:#0470b6; border-bottom:1px solid #0470b6;}
#contents #sec04 #crs02 .crsBox .crsBoxInn .crsBoxInnBlk .descArea .btmArea dl dt { color:#048ab6; border-bottom:1px solid #048ab6;}
#contents #sec04 #crs03 .crsBox .crsBoxInn .crsBoxInnBlk .descArea .btmArea dl dt { color:#04b6b4; border-bottom:1px solid #04b6b4;}
#contents #sec04 #crs04 .crsBox .crsBoxInn .crsBoxInnBlk .descArea .btmArea dl dt { color:#04b682; border-bottom:1px solid #04b682;}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk .descArea .closeBtn { display:none;}

#contents #sec04 #crs05 .crsBox .crsBoxInn .closeBtn{ display:none;}

#contents #sec04 #crs05 {
    background-color:#d9f3ff;
}

#contents #sec04 #crs05 h3{
    background-image: url(../img/sec04_bg01.png);
    background-repeat: repeat;
    background-size:81px 64px;
    text-align:center;
    padding:26px 0;
    position:relative;
}

#contents #sec04 #crs05 h3 span{
    background-image: url(../img/sec04_txt01_pc.png);
    background-repeat: no-repeat;
    background-position: center;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display:block;
    height:29px;
}

#contents #sec04 #crs05 .crsBox .crsBoxInn {
    padding:30px 40px;
    position:relative;
}

#contents #sec04 #crs05 .crsBox .crsBoxInn .descArea {
    float:left;
    text-align:center;
    font-size:16px;
    width:338px;
    margin-right:60px;
}

#contents #sec04 #crs05 .crsBox .crsBoxInn .imgArea {
    float:left;
    width:320px;
}

#contents #sec04 #crs05 .crsBox .crsBoxInn .btmTxtArea {
    position:absolute;
    bottom:32px;
    left:0;
}

#contents #sec04 #crs05 .crsBox .crsBoxInn .btmTxtArea dl{
    text-align:center;
}

#contents #sec04 #crs05 .crsBox .crsBoxInn .btmTxtArea dl dt{
    font-weight:bold;
    background-color:#1ea3e1;
    padding:2px;
    color:#ffffff;
    width:200px;
    position:relative;
    z-index:10;
}

#contents #sec04 #crs05 .crsBox .crsBoxInn .btmTxtArea dl dd{
    background-color:#ffffff;
    z-index:1;
    margin:-14px 0 0 27px;
    padding:24px 35px 8px;
}


@media screen and (max-width: 767px) {
#contents #sec04 .ttl02 {
    line-height:1.4;
}

#contents #sec04 .ttl02 .dlTxt {
    display:block;
    width: auto;
    margin:0;
    font-weight:bold;
}

#contents #sec04 .crsBox{
    margin:0 2.666%;
}

#contents #sec04 #crs05 .crsBox {
    margin:0 7.333%;
}

#contents #sec04 .crsBox .crsBoxInn h4{
    text-align:left;
    padding:20px 0 20px 17px;
    line-height:1.5;
    position:relative;
    background-size:5.7%;
    background-position:94% center;
}

#contents #sec04 .crsBox .crsBoxInn h4 a.accBar,
#contents #sec04 #crs05 a.accBar {
    display:block;
    width:100%;
    position:absolute;
    top:0;
    left:0;
    height:100%;
}

#contents #sec04 .crsBox .crsBoxInn h4 span{
    display:block;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk {
 display:block;
    padding:30px 4.6% 4.8%;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk.left {
 display:block;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk.left .picArea{
    margin-right:0;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk .descArea{
    flex-basis:100%;
    line-height:1.6;
    margin-top:20px;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk.right .descArea{
    margin-right:0;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk .descArea .btmArea {
    margin-top:20px;
    padding-bottom:9.657%;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk .descArea .btmArea dl dt {
    font-weight:bold;
    padding-bottom:1px;
    margin-bottom:8px;
}

#contents #sec04 #crs05 .crsBox .crsBoxInn {
    padding:30px 0;
}

#contents #sec04 #crs05 .crsBox .crsBoxInn .descArea {
    float:none;
    width:100%;
    margin-right:0;
}

#contents #sec04 #crs05 .crsBox .crsBoxInn .imgArea {
    float:none;
    width:100%;
    margin-top:20px;
}

#contents #sec04 #crs05 .crsBox .crsBoxInn .btmTxtArea {
    position:relative;
    bottom:0;
    left:0;
}

#contents #sec04 #crs05 .crsBox .crsBoxInn .btmTxtArea dl{
    margin-top:27px;
}

#contents #sec04 #crs05 .crsBox .crsBoxInn .btmTxtArea dl dt{
    margin-left:-55px;
}

#contents #sec04 #crs05 .crsBox .crsBoxInn .btmTxtArea dl dd{
    margin:-14px 0 0 0;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk .descArea .closeBtn {
    display:block;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk .descArea .closeBtn a{
    display:block;
    position:relative;
    width:100%;
}

#contents #sec04 .crsBox .crsBoxInn .crsBoxInnBlk .descArea .closeBtn a img{
    position:absolute;
    width:9.657%;
    bottom:0;
    right:0;
}


#contents #sec04 #crs05 .crsBox .crsBoxInn .closeBtn {
    display:block;
    margin-top:14.6875%;/*94px(30px+64px)*/
}

#contents #sec04 #crs05 .crsBox .crsBoxInn .closeBtn {
    display:block;
    position:relative;
    width:100%;
}

#contents #sec04 #crs05 .crsBox .crsBoxInn .closeBtn img{
    position:absolute;
    bottom:0;
    right:0;
    width:10%;
}

/* close style */
#contents #sec04 .crsBox .crsBoxInn.close h4{
    background-repeat: no-repeat;
    background-position: 97% center;
}

#contents #sec04 #crs05.close h3 span {
    background-repeat: no-repeat;
}

#contents #sec04 .crsBox .crsBoxInn:last-child.close h4{
    border-bottom:none;
}

#contents #sec04 #crs01 .crsBox .crsBoxInn:nth-child(n+2).close h4{
    border-top:1px solid #0470b6;
}

#contents #sec04 #crs01 .crsBox .crsBoxInn h4 { background-image: url(../img/icon_close01.png);}
#contents #sec04 #crs02 .crsBox .crsBoxInn h4 { background-image: url(../img/icon_close02.png);}
#contents #sec04 #crs03 .crsBox .crsBoxInn h4 { background-image: url(../img/icon_close03.png);}
#contents #sec04 #crs04 .crsBox .crsBoxInn h4 { background-image: url(../img/icon_close04.png);}

#contents #sec04 .crsBox .crsBoxInn h4{
    background-repeat: no-repeat;
    background-position: 97% center;
    border-top:1px solid #0470b6;
}

#contents #sec04 .crsBox .crsBoxInn:first-child h4{
    border-top:none;
}

#contents #sec04 #crs01 .crsBox .crsBoxInn.close h4 { background-image: url(../img/icon_open01.png);}
#contents #sec04 #crs02 .crsBox .crsBoxInn.close h4 { background-image: url(../img/icon_open02.png);}
#contents #sec04 #crs03 .crsBox .crsBoxInn.close h4 { background-image: url(../img/icon_open03.png);}
#contents #sec04 #crs04 .crsBox .crsBoxInn.close h4 { background-image: url(../img/icon_open04.png);}

#contents #sec04 #crs05.close h3 span{
    background-image: url(../img/icon_open05.png),url(../img/sec04_txt01_pc.png);
    background-position: 97% center,center;
    background-size: 5.7%, auto;
}

#contents #sec04 .crsBox .crsBoxInn.close .crsBoxInnBlk{
    display:none;
}

#contents #sec04 #crs05.close .crsBox {
    display:none;
}

#contents #sec04 #crs05 .crsBox .crsBoxInn .btmTxtArea dl dd{
    padding:24px 0.25em 8px;
}
}


@media screen and (max-width: 479px) {
#contents #sec04 #crs01 .crsBox .crsBoxInn.close h4{
    background-position: 97% center;
}

#contents #sec04 #crs05 h3{
    background-size:20%;
    padding:26px 0;
}
#contents #sec04 #crs05 h3 span{
    background-image: url(../img/sec04_txt01_sp.png);
    background-position:center;
    height:0;
    background-size:85.333%;
    padding-bottom:14.4%;
}

#contents #sec04 #crs05.close h3 span{
    background-image: url(../img/icon_open05.png),url(../img/sec04_txt01_sp.png);
    background-position: 95% center,center;
    height:0;
    background-size: 5.7%,85.333%;
    padding-bottom:14.4%;
}
}


/* ----------------------------------------------
        sec05
---------------------------------------------- */
#contents #sec05 {
    margin-bottom:60px;
}

#contents #sec05 #mapImg {
    width:480px;
    float:left;
    margin-right:20px;
}

#contents #sec05 #mapTxt {
    width:460px;
    float:left;
}

#contents #sec05 #mapTxt ._title {
    color:#1ea3e1;
    font-size: 1.25em;
    font-weight:bold;
    margin-bottom: 0.25em;
}

#contents #sec05 #mapTxt dl {
    margin-bottom:1em;
}

#contents #sec05 #mapTxt dl dt {
    font-weight:bold;
    color:#1ea3e1;
}

#contents #sec05 #mapTxt dl dd {
    margin-bottom:1em;
}


@media screen and (max-width: 767px) {
#contents #sec05 #mapImg {
    width:100%;
    float:none;
    margin-right:0;
}

#contents #sec05 #mapImg iframe{
    width:100%;
    float:none;
    margin-right:0;
}

#contents #sec05 #mapTxt {
    width:100%;
    float:none;
    padding:0 8%;
    margin-top:30px;
}

#contents #sec05 #mapTxt .mapTxtInn{
    display:inline-block;
    text-align:left;
}
}


/* =================================================

        footer

================================================= */
#footer {
    background-image: url(../img/foot_bg01.png);
    /*background-position: 210px center;*/
    background-repeat: repeat;
    background-size:81px 64px;
    padding-top:40px;
}


@media screen and (max-width: 767px) {
#footer {
    background-size:20%;
    padding:40px 0 0;
}
}


/* ----------------------------------------------
        blogArea
---------------------------------------------- */
#footer #blogArea {
    background-color:rgba(224,249,255,0.6);
    padding:20px 0;
}

#footer #blogArea #blogInn{
    width:850px;
    margin:20px auto 0;
}


@media screen and (max-width: 767px) {
#footer #blogArea {
    margin:0 2.666%;
}

#footer #blogArea #blogInn{
    width:94.14%;
    margin:20px auto 0;
}
}


/* ----------------------------------------------
        btnArea
---------------------------------------------- */
#footer #btnArea .topArea{
    display:flex;
    justify-content: flex-start;
    justify-content: center;
    align-items: flex-start;
    /*align-items: center;*/
    margin-top:25px;
}

#footer #btnArea .topArea .btn01 {
    width:320px;
    text-align:center;
}

#footer #btnArea .topArea .btn01 a{
    background-image: url(../img/icon_arr02.png);
    background-size: 27px;
    border-width:2px;
    border-radius: 40px;
    background-position:263px center;
    background-color:#ffffff;
    font-size:18px;
    padding:20px 0;
}

#footer #btnArea .topArea .btn01 a:hover{
    background-image: url(../img/icon_arr02_hv.png);
}

#footer #btnArea .topArea .bnr01 {
    width:328px;
    text-align:center;
    color:#ffffff;
}
#footer #btnArea .topArea .bnr01 + .bnr01 {
    margin-left: 60px;
}

@media screen and (max-width: 767px) {
#footer #btnArea .topArea{
 display:block;
}
#footer #btnArea .topArea .btn01 {
    width:53.333%;
    margin:0 auto;
}

#footer #btnArea .topArea .bnr01 {
    width:85.333%;
    margin:25px auto 0;
}

#footer #btnArea .topArea .btn01 a{
    background-position:73% center;
}

#footer #btnArea .topArea .bnr01 span{
    font-size:3.733vw;
}
}


@media screen and (max-width: 639px) {
#footer #btnArea .topArea .btn01 a{
    background-position:83% center;
}
}


@media screen and (max-width: 479px) {
#footer #btnArea .topArea .btn01 {
    width:80%;
}

#footer #btnArea .topArea .bnr01 span{
    font-size:14px;
}
}


/* ----------------------------------------------
        pageTop
---------------------------------------------- */
#footer #pageTop {
    width:83px;
    margin:40px auto;
}


/* ----------------------------------------------
        copyrightArea
---------------------------------------------- */
#footer #copyrightArea {
    background-color:#ffffff;
    font-size:12px;
    text-align:center;
    padding:13px 0 44px;
}

#footer #copyrightArea .copyrightTxtInn {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#footer #copyrightArea .copyrightTxtInn p {
    width: 33%;
}
@media screen and (max-width:767px) {
    #footer #copyrightArea .copyrightTxtInn {
        flex-direction: column;
        justify-content: flex-start;
    }
    #footer #copyrightArea .copyrightTxtInn p {
        width: 100%
    }
    #footer #copyrightArea .copyrightTxtInn p + p {
        margin: 0 auto .8em;
    }
}

#footer #copyrightArea .bannerlink img {
    height: 48px;
}
@media screen and (max-width:767px) {
    #footer #copyrightArea .bannerlink img {
        height: 48px;
    }
}

#footer #copyrightArea .privacyLink{
    font-size:14px;
    text-align: left;
}

#footer #copyrightArea .copyrightTxtInn .privacyLink a {
    text-decoration: underline;
}
@media screen and (max-width:767px) {
    #footer #copyrightArea .privacyLink {
        text-align: center;
    }
}

#footer #copyrightArea .copyrightTxt{
    font-family: 'Crimson Text', serif;
    text-align: right;
}
@media screen and (max-width:767px) {
    #footer #copyrightArea .copyrightTxt{
        text-align: center;
    }
}
@media screen and (max-width: 767px) {
#footer #pageTop {
    margin:40px auto;
}

#footer #copyrightArea {
    padding:28px 0 84px;
}

#footer #copyrightArea .privacyLink{
    float:none;
    padding-bottom:1em;
}

#footer #copyrightArea .copyrightTxt{
    float:none;
}
}


/* =================================================

        reservation

================================================= */
#reservation p{
    width:100px;
}

#reservation p a{
    background-color:#0ad1fc;
    background-repeat: no-repeat;
    background-image: url(../img/icon_arr01.png);
    background-size: 20px;
    border-radius: 10px 0px 0px 10px;
    background-position:center 53px;
    border-top:2px solid #ffffff;
    border-left:2px solid #ffffff;
    border-bottom:2px solid #ffffff;
    color:#ffffff;
    display:block;
    font-size:14px;
    line-height:1.2;
    text-align:center;
    padding:10px 0 38px;
    position:fixed;
    bottom:20px;
    right:0;
    width:100px;
}

#reservation span{
    display:block;
}


@media screen and (max-width: 767px) {
#reservation p a{
    background-size: 20px;
    border-radius: 0;
    background-position:68% center;
        border-top:1px solid #ffffff;
    border-left:none;
    border-bottom:none;
    font-size:16px;
    line-height:1.2;
    padding:1em 0;
    position:fixed;
    bottom:0;
    right:0;
    width:100%;
    font-weight:bold;
}

#reservation p a span{
    display:inline;
    font-weight:bold;
}
}


@media screen and (max-width: 639px) {
#reservation p a{
    background-position:74% center;
}
}


@media screen and (max-width: 479px) {
#reservation p a{
    background-position:86% center;
}
}


/* =================================================


        lower


================================================= */

/* ----------------------------------------------
        header
---------------------------------------------- */
#document.lower #header #globalNav #globalNavInn h1.lower a img{width:200px;}


@media screen and (max-width: 767px) {
#document.lower #header #globalNav {
    position:relative;
    width:100%;
    padding:66px 0;
    display:block;
    text-align:center;
}
}


/* ----------------------------------------------
        contents
---------------------------------------------- */
@media screen and (max-width: 767px) {
#document.lower #contents {
    padding:0 8%;
}
}


/* ----------------------------------------------
        privacy
---------------------------------------------- */
#document.lower #privacy dt{ font-weight: bold;font-size: 1.2em}
#document.lower #privacy dd{ margin: 0.5em 0 1em 1em}
#document.lower #privacy a{ text-decoration:underline;}


/* ----------------------------------------------
        contact
---------------------------------------------- */
#document.lower #iframeWrap {
    height:676px; 
 -webkit-overflow-scrolling: touch;
 overflow:auto; 
}

#document.lower #iframeWrap #contact {
    display:block;
}


@media screen and (max-width: 767px) {
#document.lower #iframeWrap {
    -webkit-overflow-scrolling: touch;
    height:auto;
}
#document.lower #iframeWrap #contact {
    min-height:640px;
}
}


/* ----------------------------------------------
        footer
---------------------------------------------- */
#document.lower #footer {
    background-image: none;
    padding-top:0;
}

#document.lower #footer #copyrightArea {
    background-color:#dedede;
}


@media screen and (max-width: 767px) {
#document.lower #footer {
    padding:0 0 0;
}

#document.lower #footer #copyrightArea {
    padding:28px 0 34px;
}
}
