@charset "utf-8";
/*--------------------------------------------------
body
--------------------------------------------------*/
.sp {
    display: none!important;
}
@font-face {
    font-family: YuGothicM;
    src: local("Yu Gothic Medium");
}
#main {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
    -webkit-font-smoothing: antialiased;
    font-size: 14px;
    line-height: 1.3;
    overflow: hidden;
    width: 100%;
    color: #333;
}
.clearfix:after {
    content: "";
    clear: both;
    display: block;
}
body {
    overflow-x: hidden;
}
#main a:link {
    color: #000000;
    text-decoration: none
}
#main a:visited {
    color: #000000;
    text-decoration: none
}
#main a:hover {
    color: #000000;
    text-decoration: none
}
#main a:active {
    color: #000000;
    text-decoration: none
}
#main a:hover {
    opacity: 0.8;
}
#main h3 {
    font-size: initial;
    text-shadow: initial;
    font-weight: initial;
    line-height: initial;
    width: initial;
    height: initial;
    margin: 0;
    padding: 0;
}
.flex_box{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
}
#main .inner{
    width: 1100px;
    margin: 0 auto;
}
.hide_con {
    display: block;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
}
/*--------------------------------------------------
 insta
--------------------------------------------------*/
#insta{
    background-color: #8866cc;
    background-image: url(../images/insta_bg.gif);
}
#insta .inner03 {
    height: 102px;
    width: 1100px;
    margin: 0 auto;
}
#insta .instabox {
    display: block;
    line-height: 1.4;
    width: 1100px;
    margin: 0 auto;
    position: relative;
}
#insta .inner03 p {
    width: 102px;
    height: 102px;
    margin: 0 10px 0 0;
    background: url("../images/img_op-info.png") 0 0 no-repeat;
    float: left;
}
#insta ul {
    float: left;
    padding: 10px 0 0 0 !important;
    box-sizing: border-box;
    color: #fff;
}
#insta .text_01 {
    font-size: 35px;
    font-weight: bold;
}
#insta .inner03 .li01 {
    font-size: 20px;
    color: #fff;
    line-height: 1.2;
}
#insta .inner03 .li02 {
    font-size: 16px;
    line-height: 1.2;
}
#insta .inner03 .text_y {
    color: #fffc04;
}
#insta .inner03 .insta_logo {
    float: right;
    margin-right: 30px;
}

/*--------------------------------------------------
mv
--------------------------------------------------*/
#main #mv {
    background-color: #538ca6;
}
#main #mv .visual{
    background: url("../images/main_bg.jpg")center bottom no-repeat;
    background-size: cover;
}
#main #mv .visual img{
    margin: 50px 0 15px;
}
#main #mv .visual_wrap{
    text-align: center;
    padding: 0 0 50px;
}
#main #mv h2.pht_main{
    font-size:26px;
    font-weight: 700;
    line-height: 1.5;
    color: #fff!important;
    text-align: center;
    text-shadow: 0px 0px 10px rgba(0,0,0,0.25);
}
#main #mv .wrap {
    padding: 2em 0;
    text-align: center;
}
#main #mv p{
    font-size: 16px;
    line-height: 1.75;
    color: #fff!important;
}
#main #mv a{
/*background: url(../../images/main_bg.jpg)center center no-repeat;
background-size: cover;*/
border: solid 2px #fff;
border-radius: 50px;
display: block;
padding: 18px 0;
width: 800px;
margin: 20px auto 0;
text-align: center;
font-size: 24px;
font-weight: 700;
letter-spacing: 4px;
color: #fff!important;
background-color: #ffffff26;
transition: 0.2s;
}
#main .op_cmp {
    padding: 2em 0;
    text-align: center;
    background-color: #7797c3;
    background: radial-gradient(#2c67b9,#caa9ff);
}

#main .op_cmp .inner .flex_wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}
#main .op_cmp .inner .flex_wrap li {
    width: 24%;
    padding: 0 0 20px;
    background: #fff;
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.3);
    font-family: sans-serif;
    border-radius: 20px;
}
#main .op_cmp .inner .flex_wrap .step {
    font-size: 24px;
    font-weight: bold;
    color: #333;
    background: #ffe14a;
    margin-top: 15px;
}
#main .op_cmp .inner .flex_wrap .tokuten_pht {
    border-radius: 20px 20px 0 0;
}
#main .op_cmp .inner .flex_wrap li p.tokuten_txt {
    font-size: 16px;
    font-weight: bold;
    color: #2862b0;
    line-height: 1.4em;
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 0 20px;
}
#main .op_cmp .inner .flex_wrap li p.cap {
    font-size: 13px;
    color: #333;
    line-height: 1.4em;
    padding: 0 20px;
}
#main .op_cmp .inner .tokuten02 {
    text-align: center;
    margin-top: 20px;
}
#main .op_cmp .inner .tokuten02_txt {
    font-size: 16px;
    color: #fff;
    line-height: 1.5;
}
#main .op_cmp .inner .l {
    font-size: 20px;
    font-weight: bold;
    color: #2862b0;
    line-height: 1.74em;
    border-bottom: solid 4px #ffe14a;
}
#main .op_cmp .inner .flex_wrap li a {
    font-weight: bold;
    text-align: center;
    border: solid 1px #2862b0;
    display: block;
    color: #2862b0;
    padding: 0.5em 0 0.4em;
    font-size: 14px;
    text-decoration: none;
    margin: 15px 25px 0;
    letter-spacing: 1px;
    border-radius: 4px;
    background-color: #fff;
}
#main .cmp_ttl{
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 15px;
}
/*--------------------------------------------------
menu_wrap
--------------------------------------------------*/
#menu_wrap{
    /*background-color: #dff0f7;*/
    padding: 40px 0!important;
}
#menu_wrap a{
    display: inline-block;
    width: 273px;
    height: 130px;
    text-align: center;
    color: #fff!important;
    font-weight: 700;
    font-size: 25px;
    line-height: 1.25;
    padding-top: 20px;
    position: relative;
    transition: 0.2s;
}
#menu_wrap a:hover {
    opacity: 1;
    letter-spacing: 4px;
}
#menu_wrap .time{
    font-size: 30px;
    font-weight: 700;
}
#menu_wrap .arrow{
    border-width: 4px;
    width: 16px;
    height: 16px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    border-top: 6px solid #FFF;
    border-right: 6px solid #FFF;
    display: block;
    margin: 0 auto;
    margin-top: 15px;
    -webkit-transition: 0.2s;
    transition: 0.2s;
}
#menu_wrap span.arrow:hover {
    margin-top: 25px;
}
#menu_wrap a.bottom{
    width: 548px;
}
#menu_wrap .flex_box{
    justify-content: center;
}
#menu_wrap li{
    background-size: cover;
    border: solid 1px #fff;
}
#menu_wrap .menu01{
    background: url("../images/menu01.png")center no-repeat;
}
#menu_wrap .menu02{
    background: url("../images/menu02.png")center center no-repeat;
}
#menu_wrap .menu03{
    background: url("../images/menu03.png")center no-repeat;
}
#menu_wrap .menu04{
    background: url("../images/menu04.png")center no-repeat;
}
#menu_wrap .menu05{
    background: url("../images/menu05.png")center no-repeat;
}
#menu_wrap .menu06{
    background: url("../images/menu06.png")center bottom no-repeat;
}
#menu_wrap .menu07{
    background: url("../images/menu07.png")center no-repeat;
}
#menu_wrap .menu08{
    background: url("../images/menu08.png")center no-repeat;
}
/*--------------------------------------------------
con_wrap
--------------------------------------------------*/
.con_wrap{
    margin: 0 auto;
    padding: 40px 0 80px;
}
#main .con_wrap:nth-child(odd){
    background-color: #dff0f7;
}
#main .con_wrap:last-child{
    padding-bottom: 120px;
}
.con_wrap h2{
    color: #4c4c4c!important;
    font-size: 32px;
    line-height: 2em;
    margin-top: -110px!important;
    margin-bottom: 40px!important;
    text-align: center;
    font-weight: 700;
}
.con_wrap p.time{
    font-size: 160px;
    font-weight: 700;
    color: #c2ddea;
    text-align: center;
    letter-spacing: 40px;
}
.con_wrap p.long{
    font-size: 130px;
    letter-spacing: 0;
}
.read_area p{
    color: #4c4c4c;
    font-size: 16px;
    line-height: 2em;
    width: 420px;
    margin: 0 0 20px!important;
    font-weight: 700;
}
.cap{
    font-size: 12px;
    line-height: 2em;
}
#main .point_area{
    margin-top: 20px;
    color: #538ca6;
}
#main .point_area .circle{
    width: 160px;
    height: 160px;
    border: solid 1px #538ca6;
    border-radius: 80px;
    background-color: #fff;
    margin: 0 10px;
}
#main .point_area .circle p{
    font-size: 16px;
    line-height: 1.5;
    font-weight: 700;
    text-align: center;
    padding-top: 28px;
}
#main .point_area .circle p.three_line{
    padding-top: 40px;
}
#main .point_area .example{
    position: relative;
}
#main .point_area .mark{
    border-color: #538ca6;
    border-top: 4px solid #538ca6;
    border-right: 4px solid #538ca6;
    display: block;
    width: 14px;
    height: 14px;
    position: absolute;
    right: -55px;
    top: 50%;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -10px;
}
#main .point_area .point{
    width: 640px;
    height: 160px;
}
#main .point_area .point p{
    display: inline-block;
    font-size: 18px;
    font-weight: 700;
    padding: 0.25em 1em;
    letter-spacing: 5px;
    border: solid 1px #538ca6;
    border-bottom: none;
    background-color: #fff;
}
#main .point_area .point span{
    font-weight: 700;
    background: linear-gradient(transparent 60%, #ffff66 60%);
}

#main .point_area .point ul{
    padding: 0.5em 1em;
    background-color: #fff;
    border: solid 1px #538ca6;
}
#main .point_area .point li{
    margin: 0.5em 0;
    font-weight: 700;
    letter-spacing: 1px;
    padding-left: 1em;
    text-indent: -1em;
}
#main #btn_area{
    margin: 35px 0 0;
}
#main #btn_area a{
    display: block;
    padding: 25px 0;
    width: 420px;
    margin: 0 auto;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 4px;
    color: #fff;
    background-color: #f2973d;
    transition: 0.2s;
    border-radius: 10px;
}
#main #btn_area a:hover {
    opacity: 1;
    letter-spacing: 8px;
    box-shadow: initial;
}
#main #btn_area a{
    position: relative;
}
#main #btn_area .arrow{
    border-color: #fff;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    right: 20px;
    top: 50%;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -5px;
    -webkit-transition: 0.2s;
    transition: 0.2s;
}

/*--------------------------------------------------
tour_btn,area_btn
--------------------------------------------------*/
#main #tour_btn {
    background-color: #fff;
    padding: 40px 0!important;
    background: url("../images/btn_bg.png")center center no-repeat;
    background-size: cover;
    text-align: center;
}
#main #tour_btn img{
    margin: -112px auto 10px;
}
#main #tour_btn h3 {
    width: 1100px;
    margin: 0 auto;
    padding-bottom: 1rem;
    font-size: 32px;
    font-weight: 700;
    text-align: center;
    color: #fff;
    letter-spacing: 8px;
}
#main #tour_btn a {
    display: block;
    padding: 25px 0;
    width: 800px;
    margin: 0 auto;
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 4px;
    color: #fff;
    background-color: #ea5958;
    transition: 0.2s;
    border: solid 2px #fff;
    border-radius: 10px;
}
#main #tour_btn a:hover {
    opacity: 1;
    letter-spacing: 8px;
    box-shadow: initial;
}
#tour_btn a,#area_btn a{
    position: relative;
}
#tour_btn .arrow, #area_btn .arrow{
    border-color: #fff;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    right: 20px;
    top: 50%;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -5px;
    -webkit-transition: 0.2s;
    transition: 0.2s;
}
#main .area_btn{
    padding: 40px 0;
}
#main .area_btn a{
    background: url("../images/main_bg.jpg")center no-repeat;
    background-size: cover;
    display: block;
    padding: 32px 0;
    width: 800px;
    margin: 0 auto;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 4px;
    color: #fff!important;
    transition: 0.2s;
}
#main .area_btn a.ayurveda_btn{
    background: url("../images/menu05.png")center center no-repeat;
    background-size: cover;
    display: block;
    padding: 32px 0;
    width: 800px;
    margin: 0 auto;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 4px;
    color: #fff!important;
    transition: 0.2s;
}
#main #tour_btn a:hover {
    opacity: 1;
    letter-spacing: 8px;
}
#main .area_btn p{
    text-align: center;
    padding: 20px 0;
}
/*--------------------------------------------------
tour_bar
--------------------------------------------------*/
#main #tour_bar {
    height: 96px;
    width: 540px;
    position: fixed;
    left: 40px;
    bottom: 0;
    z-index: 100;
}
#main #tour_bar a {
    display: flex;
    width: 540px;
    margin: 0;
}
#main #tour_bar a .fukidashi{
    padding: 15px 20px;
    width: 400px;
    height: 25px;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #4e4e4e;
    background-color: #ffe14a;
    transition: 0.2s;
    border: solid 2px #fff;
    border-radius: 35px 35px 35px 0;
    margin: 5px 0 0 0;
}
.add_bottombnr {
    transition: .5s;
}
.add_bottombnr.hide {
    transform: translateY(110%);
}
/*--------------------------------------------------
page top
--------------------------------------------------*/
.page-top {
    width: 60px;
    height: 60px;
    position: fixed;
    right: 40px;
    bottom: 20px;
    z-index: 9999;
}

/*-----------------------------------------------------------------------------------------------------------------
sp
-----------------------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 736px) {
/*--------------------------------------------------
  body
--------------------------------------------------*/
#wrapper {
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
}
.pc {
    display: none!important;
}
.sp {
    display: block!important;
}
#main {
    font-size: 14px;
    line-height: 1.5;
}
#main img {
    width: 100%;
}
.flex_box{
    flex-direction: column;
}
#main .inner{
    width: 94%;
}
#main .inner_insta{
    width: 100%;
}
/*--------------------------------------------------
mv
--------------------------------------------------*/
#main #mv .visual .inner{
    width: 100%;
    padding-bottom: 2%;
}
#main #mv .visual img{
    margin: 0 auto;
    width: 90%;
    padding: 20px 0 10px;
}
#main #mv .visual_wrap{
    height: auto;
}
#main #mv h2.pht_main{
    top: 15px;
    left: 5%;
    font-size: 4.3vw;
}
#main #mv h2.pht_main span{
    font-size: 20px;
}
#main #mv .wrap {
    padding: 15px 0;
}
#main #mv p {
    font-size: 13px;
}
#main #mv a{
    padding: 6px 5%;
    width: 75%;
    font-size: 14px;
    letter-spacing: 0;
    line-height: 1.3;
    margin: 15px auto;
    border: solid 1px #fff;
}


#main .cmp_ttl{
    font-size: 18px;
    margin-bottom: 10px;
    line-height: 1.3;
}
#main .op_cmp .inner .flex_wrap {
    margin-top: 10px;
    flex-wrap: wrap;
    /*flex-direction: column;*/
}
#main .op_cmp .inner .flex_wrap li {
    width: 49%;
    padding: 0 0 15px;
    box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.3);
    border-radius: 10px;
    margin-bottom: 6px;
}
#main .op_cmp .inner .flex_wrap .step {
    font-size: 14px;
    margin-top: 10px;
}
#main .op_cmp .inner .flex_wrap li p.tokuten_txt {
    font-size: 14px;
    line-height: 1.2em;
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 0 10px;
}
#main .op_cmp .inner .flex_wrap li p.cap {
    font-size: 12px;
    line-height: 1.2em;
    padding: 0 10px;
}
#main .op_cmp .inner .tokuten02 {
    text-align: left;
    margin-top: 10px;
}
#main .op_cmp .inner .tokuten02_txt {
    font-size: 13px;
    line-height: 1.3;
}
#main .op_cmp .inner .l {
    font-size: 14px;
    line-height: 1.74em;
}
#main .op_cmp .inner .flex_wrap li a {
    padding: 0.5em 0 0.4em;
    font-size: 13px;
    margin: 10px 10px 0;
    letter-spacing: 0;
}

/*--------------------------------------------------
menu_wrap
--------------------------------------------------*/
#menu_wrap {
    padding: 20px 0!important;
    background-color: #fff;
}
#menu_wrap li{
    width: 100%;
}
#menu_wrap a{
    width: 96%;
    height: auto;
    text-align: left;
    font-size: 20px;
    line-height: 20px;
    padding-top: 20px;
    padding-left: 4%;
    padding-bottom: 20px;
}
#menu_wrap .time{
    font-size: 15px;
    font-weight: 700;
    margin-right: 8px;
}
#menu_wrap a:hover {
    letter-spacing: 0;
}
#menu_wrap .arrow{
    width: 8px;
    height: 8px;
    bottom: 40%;
    right: 5%;
    border-top: 3px solid #FFF;
    border-right: 3px solid #FFF;
    position: absolute;
    margin-top: 0;
}
#menu_wrap span.arrow:hover {
    margin-top: 0;
}
#menu_wrap a.bottom{
    width: 95%;
}
/*--------------------------------------------------
con_wrap
--------------------------------------------------*/
.con_wrap{
    border-top: solid 6px #c2ddea;
    padding: 0 0 40px;
}
.con_wrap p.time {
    font-size: 60px;
    letter-spacing: 4px;
    margin-top: 10px!important;
}
.con_wrap p.long {
    font-size: 42px;
    letter-spacing: 0;
}
.con_wrap h2{
    font-size: 18px;
    line-height: 1.5em;
    margin: -30px 5px 15px!important;
    letter-spacing: 0;
}
.read_area p{
    font-size: 13px;
    line-height: 1.75em;
    width: 90%;
    padding: 0 5%!important;
    text-align: justify;
    margin-top: 10px!important;
}
.read_area .pht_sub{
    width: 90%!important;
    padding: 0 5%;
}
.cap{
    font-size: 10px;
    line-height: 1.2em;
}
#main .point_area{
    margin-top: 15px;
}
#main .con_wrap .flex_box{
    flex-direction: row;
    justify-content: space-around;
}
#main .point_area .circle {
    width: 125px;
    height: 125px;
    border-radius: 50%;
    margin: 0 5px;
}
#main .point_area .circle p {
    font-size: 12px;
    padding-top: 22px;
}
#main .point_area .circle p.three_line {
    padding-top: 30px;
}
#main .point_area .mark {
    right: 50%;
    top: 90%;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    margin-top: 0;
    margin-right: -10px;
}
#main .point_area .point {
    width: 100%;
    height: auto;
    z-index: 1;
    padding: 0 5%;
}
#main .point_area .point p {
    font-size: 16px;
    letter-spacing: 2px;
    padding: 0.25em 0.6em;
}
#main .point_area .point ul {
    padding: 0.25em 0.751em;
}
#main .point_area .point li {
    font-size: 13px;
    letter-spacing: 0px;
}

#main #btn_area{
    margin: 20px auto 0;
    width: 100%;
}
#main #btn_area a{
    padding: 1.4em 0;
    width: 95%;
    font-size: 16px;
    letter-spacing: 0px;
    border-radius: 5px;
    line-height: 16px;
}
#main #btn_area a:hover {
    letter-spacing: 0px;
}
#main #btn_area .arrow{
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    width: 6px;
    height: 6px;
    right: 15px;
}

/*--------------------------------------------------
tour_btn,area_btn
--------------------------------------------------*/
#main #tour_btn {
}
#main #tour_btn img{
    margin: -80px auto 10px;
    width: 25%;
}
#main #tour_btn h3 {
    width: 100%;
    font-size: 18px;
    letter-spacing: 4px;
}
#main #tour_btn a {
    padding: 0.75em 5%;
    width: 70%;
    font-size: 16px;
    letter-spacing: 0;
    border-radius: 5px;
}
#main #tour_btn a:hover {
    opacity: 1;
    letter-spacing: 0;
}
#tour_btn .arrow, #area_btn .arrow{
    border-top: 3px solid #fff;
    border-right: 3px solid #ffff;
    width: 6px;
    height: 6px;
    right: 15px;
}
#main .area_btn a{
    padding: 12px 5%;
    width: 80%;
    font-size: 18px;
    letter-spacing: 0;
}
#main .area_btn a.ayurveda_btn{
    padding: 12px 5%;
    width: 80%;
    font-size: 18px;
    letter-spacing: 0;
}
#main #tour_btn a:hover {
    opacity: 1;
    letter-spacing: 0;
}
#main .area_btn{
    padding: 40px 0 0;
}
#main .area_btn p{
    padding: 0 0 20px;
}
/*--------------------------------------------------
tour_bar
--------------------------------------------------*/
#main #tour_bar {
    height: 70px;
    width: 80%;
    left: 0;
    bottom: 0;
    z-index: 100;
}
#main #tour_bar a {
    width: auto;
}
#main #tour_bar img {
    width: 70px;
    height: 70px;
}
#main #tour_bar a .fukidashi{
    padding: 6px 14px;
    width: auto;
    height: 100%;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0;
    border-radius: 14px 14px 14px 0;
    margin: 5px 0 0 0;
}
/*--------------------------------------------------
page top
--------------------------------------------------*/
.page-top {
    width: 44px;
    height: 44px;
    right: 10px;
    bottom: 10px;
    z-index: 1;
}
}
/*-----------------------*/
#return_top {
    text-align: center;
    margin: 10px;
}
#return_top a {
    background: url(//image.stworld.jp/images/common/tri01.gif) no-repeat scroll left 5px #0000;
    line-height: 1em;
    padding-left: 10px;
}
