﻿@import url('https://fonts.googleapis.com/css2?family=Merriweather&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Allison&display=swap');
.font1,#global-nav li,.contact_box .letter_3,.fat-nav li a,.cms_title h2,#page_title h2{
    font-family: 'Merriweather', serif;
}
.font2{font-family: 'Allison', cursive;}


/*-all page-----------------------
-----------------------------------*/
#body{background-color:#f5f5f5;}
#global-nav li a span{color: #0c66c7;}

.more span.after{background-color: #d8cdb4;}
.hamburger{
    background-color: #0c66c7;
    height: 53px;
    border-radius: 50%;
}
.hamburger__icon{margin-top: 13px;}
.gotop{border-radius:50%;}
.gotop a{background-color: #0c66c7;}
.fat-nav li a{color:#0c66c7;}
#bottom_menu li{background-color:#f5f5f5;}
.gotop{display:none!important;}
#page-top {
    z-index: 99;
    margin: auto;
    right: 20px;
    transform: translateY(-30px);
    padding: 10px;
    line-height: 1;
    cursor: pointer;
}
.hamburger {
    background-color: transparent;}
.hamburger__icon, .hamburger__icon:before, .hamburger__icon:after{background-color: #0c66c7;}
.hamburger.active .hamburger__icon:before,.hamburger.active .hamburger__icon:after{background-color: #0c66c7;}
#copyright,#copyright a{color: #0c66c7;}
.linkStyle{
    color:#bf9d74;
    text-decoration:underline;
}
.linkStyle:hover{
    transition:all 0.3s;
    opacity:0.7;
}

.header_lerated_link a,
.header_reserve_link a{
    padding: 8px 25px 6px;
}



/*-top page-----------------------
-----------------------------------*/
#main_img{
    height:90vh;
    overflow:hidden;
}
.copy{
    top:25%;
    right:30%;
    z-index:2;
    width:20vw;
    height:auto;
}
.copy img{filter:drop-shadow(1px 1px 3px #fff);}
.index_header .nav_box li{
    text-align:center;
    font-weight:bold;
}
#catch .font1,#contents .font1,#contents2 .font1{
    font-size: 2rem;
    letter-spacing: 10px;
    font-weight: bold;
}
#catch h2,#contents h2,#contents2 h2{
    color: #0c66c7;
    font-size:1.2rem;
}
#catch .catch_txt h2 span, #contents2 .contents_txt h2 span{
    height:1px;
}
#contents{padding-bottom:130px;}
.hito1 img{width:115px;}
.hito2 img{width:175px;}
#contents h2{
    padding-bottom: 30px;
    background-image: url(./Dup/img/hoshi.png);
    background-repeat: no-repeat;
    background-position: center bottom;    
}
#contents2{margin-top:130px;}
.cms_title,.cms_title_inner{border-bottom:0;}
.cms_title h2{
    letter-spacing:10px;
    padding-top:30px;
    background:url(./Dup/img/hoshi1.png) no-repeat center top;
}
.top_cms_box{position:relative;}
.top_cms_box::before{
    content:'';
    position:absolute;
    display:block;
    width:100%;
    height:85%;
    background-color:#fff;
    bottom:-50px;
    left:0;
    right:0;
    margin:auto;
    z-index:-1;
    pointer-events:none;
}
#top_cms .cms_title .cms_title_inner span.border_anime.start{
    height:80px;
    top:165px;
}
.more{z-index:0;}


/* じわっと出現 */
.load-blurTrigger{
    opacity: 0;
}
.load-blur{
  animation-name:load-blurAnime;
  animation-duration:2s;
  animation-fill-mode:forwards;
}

@keyframes load-blurAnime{
  from {
  filter: blur(10px);
  transform: scale(1.02);
  opacity: 0;
  }

  to {
  filter: blur(0);
  transform: scale(1);
  opacity: 1;
  }
}



/*-under page-----------------------
-----------------------------------*/
#page_title{
    max-width:none;
    width:100%;
}
#page_title .page_title_img{width:100%!important;}
#page_title,.page_title_inner{
    border-bottom:0;
}
#page_title h2{letter-spacing:10px;}
#page_title .page_title_inner span.border_anime.start{
    display:none;
}
/*料金表ページ*/
#cms_3-f .cate_box {
    margin:0;
    padding: 0;
}
#cms_3-f .box_item{
    padding:20px;
    background-color:#fff;
    padding:20px;
    border:1px solid #f5f5f5;
}
/*よくある質問ページ*/
#cms_5-b .cate_box .open_bt .box_title1, .cms_5-b .cate_box .open_bt .box_title1{
    margin-left:50px;
}
#cms_5-b .cate_box .open_bt .box_title1::before, .cms_5-b .cate_box .open_bt .box_title1::before{
    font-size: 1.5rem;
    top: -7px;
    color:#0c66c7!important;
}
#cms_5-b .cate_box .arrow, .cms_5-b .cate_box .arrow {
    position: absolute;
    left:auto;
    right: 20px;
    top: 50%;
    margin-top: -17px;
}
.cms_5-b .cate_box .open_bt .box_title1::before{color:rgb(216,202,39)!important;}
#cms_5-b .cate_box .box_item, .cms_5-b .cate_box .box_item{padding: 10px 0 10px;}
#cms_5-b .cate_box .box_txt1, .cms_5-b .cate_box .box_txt1{
    padding-right:20px;
    margin-left:50px;
    position:relative;
}
#cms_5-b .cate_box .box_txt1::before, .cms_5-b .cate_box .box_txt1::before{
    content: "A.";
    position: absolute;
    left: -32px;
    top: -8px;
    display: inline-block;
    vertical-align: baseline;
    color: rgb(216,113,39)!important;
    font-size:1.5rem;
}
#cms_5-b .arrow_be img, .cms_5-b .arrow_be img{
    transform: rotate(45deg)!important;
    transition:all 0.3s;
}

/* ---------- responsive ---------- */
@media screen and (max-width: 2300px){
#catch{margin-top:3%;}
}


@media screen and (max-width: 1000px){
.copy{right:35%;}
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
.copy {
    top: 7%;
    right: 40%;
    z-index: 2;
    width: 20vw;
}
#catch {padding-bottom: 120px;}
#catch .catch_txt h2 span{display:none;}
#contents2 .contents_txt {padding: 0 20px 60px;}
#contents .contents_inner h2{padding-bottom:30px;}
}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
#logo{
    max-width:120px;
}
header {
    padding-bottom: 25px;
}
.copy {
    top: 40%;
    right: 10%;
    width: 30vw;
}
#main_img {
    height: 37vh;
    padding-top:70px!important;
}
#main_img .inner {padding-bottom: 0;}
#catch,#contents {padding-bottom: 80px;}
#catch .font1, #contents .font1, #contents2 .font1 {
    font-size: 1.2rem;}
#catch .catch_txt h2 span, #contents2 .contents_txt h2 span{
    display:none;
}
#catch h2, #contents h2, #contents2 h2{font-size:1rem;}
#contents .contents_inner h2{letter-spacing:1.2px;}
#contents2{margin-top:80px;}
.cms_5-b .cate_box,
#cms_5-b .cate_box{
    margin:0;
    
}
#cms_5-b .cate_box .open_bt .box_title1, 
.cms_5-b .cate_box .open_bt .box_title1 {
    margin-left: 40px;
    margin-right:30px;
}
#cms_5-b .cate_box .arrow, .cms_5-b .cate_box .arrow {
    right:5px;
}
#cms_5-b .cate_box .box_txt1, .cms_5-b .cate_box .box_txt1{
    margin-left:40px;
    padding-right:5px;
}
#page_title{padding-top:20px!important;}
}

/* ---------- IEの処理 ---------- */
@media all and (-ms-high-contrast: none){
#contact_tel a{padding-top:35px;}
}


