@charset "UTF-8";
/* 
 KUSUBURUHOUSE
 Author: Kota Yamada
*/
@import"https://fonts.googleapis.com/css2?family=Caveat&display=swap";

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* 
font-family: 'Cormorant', serif;
font-family: 'Shippori Mincho', serif;
*/

.tegaki{
    font-family: "shinryu", sans-serif;
    font-weight: 400;
    font-style: normal;
}

html {
    font-size: 53%;
}

/* *{
    outline: 1px solid magenta; 
} */

@media only screen and (min-width:600px) {
    html{
        font-size: 62.5%;
    }
}

@media only screen and (min-width:1025px) {
    font-size: 53%;
}

.bg-gray{
    background: #f0f0f0;
    color: #333;
    padding: .3em;
}
body, h1, h2, h3, h4, h5, a, b, p, span, button {
    font-size: 1.6rem;
    font-family: 'Kiwi Maru', serif;
    /* font-family: 'Zen Kaku Gothic Antique', sans-serif; */
    font-family: "游ゴシック体 Pr6N M", "Yu Gothic Pr6N M", "游ゴシック Medium", YuGothic, YuGothicM, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Hiragino Sans", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", メイリオ, Meiryo, sans-serif;
    line-height: 2.25;
    color: #333;
    font-weight: 500;
}

h1{ 
    font-size: 4rem;
}
h2{ 
    font-size: 2.4rem;
}
h3{ font-size: 2rem;}

p{ font-size: 1.6rem;}
.mincho{
    font-family: 'Shippori Mincho', serif;
}

ol, ul{
    margin: 0;
    padding: 0;
}
.cormorant{
    font-family: 'Cormorant', serif;
}

.en{
    font-family: 'Cormorant', serif;
    font-size: 1.5rem;
    color: #666;
    display: block;
    line-height: 1;
}
.jp{
    font-size: 3rem;
    line-height: 1.6;
}

.vertical{
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
}

.home h2 span{
    font-size: 4.6rem;
    line-height: 1.6;
}
/*--------------------------------
	|| 全般的なスタイル
--------------------------------*/
*{
    margin: 0;
    padding: 0;
}

img{
    max-width: 100%;
}

a{
    text-decoration: none;
    color: #333;
}

.link a:link{
    text-decoration: none;
}

.sp{
    display: block;
}
.pc{
    display: none;
}

@media only screen and (min-width:1025px) {
    .sp{
        display: none;
    }
    .pc{
        display: block;
    }
}



/* 外部リンクスタイル */
/* a[href^="http"]:after,
a[href^="//"]:after {
  margin: 0 0 0 3px;
  font-family: "Font Awesome 5 Free";
  content: '\f35d';
  font-weight: 900;
}
a[href^="https://kusuburuhouse.com/"]:after {
  margin: inherit;
  font-family: inherit;
  content: '';
  font-weight: inherit;
} */

dt{
    font-weight: normal;
}
/* 基本的な設定 */
.flex{
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    justify-content: space-between;
}


.ttl{
    margin-top: 1rem;
    margin-bottom: 2.5rem;
    line-height: 1.5;
    font-weight: 500;
}

button{
    background: none;
    border: none;
    font-family: initial;
}

#message, #japan_map, #information, #concept, #about, #detail, #price, #media, #faq, #access {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.section{
    /* width: 100vw; */
}
.inner{
    padding-left: 5vw;
    padding-right: 5vw;
    
}

/*--------------------------------
	|| header
--------------------------------*/
.header{
    position: fixed;
    width: 100%;
    height: 15vw;
    z-index: 9999;
    /* position: relative; */
}

.header-inner{
    position: relative;
}

/*--------------------------------
	|| メインヴィジュアル
--------------------------------*/

main{
    /* background: linear-gradient(rgba(0,0,0,0.1),rgba(0,0,0,0.1)),url(img/DSC02443.jpg) center center no-repeat; */
    /* background-size: cover; */
    /* width: 100%; */
    height: calc(100vh - 3vh);
    display: flex;
    padding-top: 6rem;
}

.main-inner{
    /* height: 50vh; */
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-items: center;
    align-content: center;
    margin: auto;
    gap: 2vh;
}

.logo-area{
    /* position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    padding-top: 20vh;
    text-align: center; */
    animation: fadeIn 5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
    margin: auto;
}

@keyframes fadeIn{
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}

.logo-area{
    margin:  0 auto;
    width: auto;
}
.logo-area img{
    width: 90vw;
    max-width: 320px;
}

.main-txt span{
    color: #fff;
    font-size: 3rem;
    line-height: 1.8;
    font-weight: 600;
}

.main-under{
    align-items: center;
    justify-items: center;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
}

.renewal-txt{
    width: calc(96vw - 2rem);
    background: rgba(255, 255, 255, .5);
    padding: 1rem;
    align-items: center;
    justify-items: center;
    margin: 0 auto 3rem;

}

.renewal-txt span{
    margin: 0;
    padding: 0;
    line-height: 1.5;
}

.line-area{
    max-width: 80vw;
    align-items: center;
    justify-items: center;
    margin: auto;
    align-self: flex-end;
}

.line-area a{
    display: block;
}

.line-area a:after{
    display: none;
}

.line-area img{
    max-width: 100%;
    height: auto;
}



/*--------------------------------
	|| message
--------------------------------*/

.message{
    background: url(img/goka-dorone.jpg.pagespeed.ce.0t6qrnXjAK.jpg) no-repeat top center;
    background-size: cover;
    padding-top: 20rem;
    padding-bottom: 20rem;
}
.message-txt{
    margin: auto;
    height: 26em;
}

.message-txt span{
    font-size: 2.4rem;
    color: #fff;
    
}

@media only screen and (min-width:1025px) {
    .message{
        background: url(img/goka-dorone.jpg.pagespeed.ce.0t6qrnXjAK.jpg) no-repeat center center;
        background-size: cover;
    }

    .message-txt span{
        font-size: 3rem;
    }
}

/*--------------------------------
	|| japan map
--------------------------------*/
.japan_map{
    /* padding-top: 5.4rem; */
}

.japan_bg{
    position: relative;
    overflow: hidden;
}
/* .japan_bg::before{
    content: '';
    background: url(img/ivory_top.svg) top center no-repeat;
    background-size: cover;
    position: absolute;
    top: -16rem;
    left: 0;
    display: block;
    width: 100%;
    height: 17rem;
    z-index: 2;
    overflow-x: auto;
} */

.ivory_bg{
    background-color: #F8F5F0;
}
.map_svg{
    position: absolute;
    width: 150vw;
    height: auto;
    top: 3vh;
    right: -55vw;
}

.map_svg img{
    display: block;
    vertical-align: top;
    width: 100%;
}

@media only screen and (min-width:600px) {}
@media only screen and (min-width:1025px) {
    .title--wrap{
        padding-top: 10vh;
    }
    .map_svg{
        right: -10vw;
    }
}

/*--------------------------------
	|| features
--------------------------------*/

.features-warap{
    background: linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.5)),url(img/window-bg2.jpg.pagespeed.ce.tHZ5cZIPkA.jpg) top center no-repeat;
    background-size: cover;
    padding-top: 8rem;
    padding-bottom: 8rem;
    justify-content: center;
    justify-items: center;
}

.features-warap h2{
    color: #fff;
    font-size: 3rem;
}


.features-warap span{
    color: #fff;
    font-size: 2.2rem;
}

.features-items{
    margin: 0 auto;
    line-height: 2;
}



/*--------------------------------
	|| concept
--------------------------------*/

.concept--wrap{   
}

.concept--header{
    display: flex;
    align-items: flex-start;
    justify-content:center;
    
}
.concept--header:before{
    content: '';
    display: block;
    height: 0;
    padding-top: 100%;
}

.concept--ttl{
    width: 15vw;
    transform:rotate(-180deg);
}

.concept--ttl h1{
    font-family:'Times New Roman', Times, serif;
    color: #dad6c5;
    font-size: 4rem;
}


.concept--right{
    position: relative;
    width: 80vw;
    height: 100%;
    margin-top: 0;
}

.concept--img{
    height: 100%;
}
.concept--img img{
    display: block;
}

.concept--img01{
    z-index: 1;
    width: 60vw;
    left: 0;
    top: 30px;
}
.concept--img02{
    z-index: 2;
    width: 40vw;
    top: 0;
    right: -15px;
}
.concept--txt{
    z-index: 3;
    padding-bottom: 2em;
    
}

.concept--txt h2{
    font-size: 2.3rem;
    font-weight: bold;
    margin-bottom: 10px;
    text-shadow: 2px 2px 10px #fff ,
                -2px 2px 10px #fff ,
                2px -2px 10px #fff ,
                -2px -2px 10px #fff;
    padding: 0;
    margin-top: 2rem;
}

.parent{
    position: relative;
}

@media only screen and (min-width:600px) {}

@media only screen and (min-width:1025px) {
    .map_svg{
        width: 100%;
    }
}
.child{
    position: absolute;
}
.child:before{
    content: '';
    display: block;
    padding-top: 120%;
}

.more{
    color: #1f1f1f;
    text-align: center;
    padding: 1em;
    border: 1px solid #1f1f1f;
    flex-wrap: wrap;
    width: 100%;
    margin: 2rem auto 0;
}

.more a{
    display: block;
}

/*--------------------------------
	|| Information
--------------------------------*/

dl.info{
    width: 100%;
}
dl.info dt{
    font-size: .8em;
    color: rgb(46, 46, 46);
}
dl.info dd{
    border-bottom: 1px solid #555;
    padding-bottom: 5px;
    margin-bottom: 10px;
}

/*--------------------------------
	|| access
--------------------------------*/
.access--area{}

.access--area h2{
    color: #152c51;
    margin-bottom: 1.5rem;
    font-weight: 500;
}

/* Google Mapを囲う要素 */
.gmap {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 40%; /* 比率を4:3に固定 */
  }
   
  /* Google Mapのiframe */
  .gmap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .address{
    font-size: 1.5rem;
    border: 1px solid #555;
    padding: 1.5em;
    text-align: center;
    margin: 2rem auto .5rem;
    display: table;
  }

  .bus-time{
    color: #888;
    border: 1px solid #888;
    padding: 1rem;
    margin-bottom: 2rem;
  }

  .bus-time h3{
    margin-bottom: 1rem;
  }
  
  .bus-time ul{
    padding-left: 3rem;
  }

  @media screen and (max-width:600px) {
    .gmap {
        padding-top: 60%; /* 比率を4:3に固定 */
      }
    
  }
/*--------------------------------
	|| detail
--------------------------------*/
.detail-list{}

.detail-list dt{
    width: 25%;
    padding: 2rem 0;
    border-bottom: 2px solid #152c51;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    line-height: 1.5;
}
.detail-list dd{
    width: 75%;
    padding: 2rem 0 2rem 4.5rem;
    margin: 0;
    border-bottom: 1px solid #dedede;
    line-height: 1.5;
}

/*--------------------------------
	|| YouTube
--------------------------------*/

.youtube-bg {
    background-image: linear-gradient(rgba(0,0,0,0.2),rgba(0,0,0,0.2)),url(img/xvietnam.jpg.pagespeed.ic.Cgqpcov3bf.jpg) ;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50vh;

}

.youtube-inner {
    text-align: center;
}
.youtube-inner h1 {
    background: #fff;;
}


.youtube-link a {    
}

.shiny_btn01 {
    display: inline-block;
    position: relative;
    width: 100%;
    max-width: 500px; /* ボタン幅 */
    padding: 1em 3em;
    background-color: #F88400; /* 背景色 */
    line-height: 1;
    box-shadow: 0 3px 0 0 #995100; /* 影の色 */
    border-radius: 5px;
    font-weight: normal; /* 文字の太さ */
    font-size: 1.8rem;
    color: #fff; /* 文字の色 */
    text-align: center;
    text-decoration: none;
    overflow: hidden;
    transition: 0.3s;
  }
  .shiny_btn01::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    transition: 0.2s;
    animation: shiny_btn01 3s ease-in-out infinite;
  }
  
  /* マウスオーバーした際のデザイン */
  .shiny_btn01:hover {
    text-decoration: none;
    color: #fff;
    box-shadow: none;
    -webkit-transform: translateY(3px);
  }
  
  /* 光るアニメーション */
  @-webkit-keyframes shiny_btn01 {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
  }


/*--------------------------------
	|| footer
--------------------------------*/
  .footer--top{
    background: #152c51;
    padding-top: 5rem;
    padding-bottom: 2rem;
    color: #fff;
  }

 .footer-kusuburu{
    font-size: 3rem;
    text-align: center;
    margin-bottom: 2rem;
    color: #fff;
 } 
 .footer-kusuburu span{
    font-size: 1rem;
    display: block;
    color: #fff;
 }

  .footer--under{
    background: #152c51;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.footer--menu{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2rem;
    color: #fff;
}
.footer--menu div{
    text-align: center;
    width: 100%;
}

.footer--menu a{
    display: block;
    color: #fff;
}

.footer--yoyaku{
    font-size: 2rem;
    border: 1px solid #fff;
    padding: 1rem;
    text-align: center;
    display: table;
    margin: 0 auto 2rem;
}

.footer--yoyaku a{
    color: #fff;
}
.footer--tel{
    font-size: 2rem;
    text-align: center;
    
}

.footer--tel a{
    color: #fff;
}

.footer--sns{
    font-size: 1.5rem;
    text-align: center;
    display: table;
    margin: 0 auto 2rem;
    
}

.footer--sns i{
    font-size: 4rem;
    color: #fff;
}

  .copylight{
    font-size: .8rem;
    text-align: center;
  }

.bottomFix{
    width: 100%;
}

/*メニューをページ下部に固定*/
#sp-fixed-menu{
    position: fixed;
    width: 100%;
    bottom: 0px;
    font-size: 0;
    opacity: 0.9;
    z-index: 99;
 }
 
 /*メニューを横並びにする*/
 #sp-fixed-menu ul{
    display: flex;
    list-style: none;
    padding:0;
    margin:0;
 }
 
 #sp-fixed-menu li{
    justify-content: center;
    align-items: center;
    width: 50%;
    padding:0;
    margin:0;
    font-size: 14px;
    /* border-right: 1px solid #fff; */
 }
 
 /*左側メニューを緑色に*/
 #sp-fixed-menu li:first-child{
    background: #Ffff;
    
 }
 #sp-fixed-menu li:first-child a{
    color: #152c51;
 }
 
 /*左側メニューをオレンジ色に*/
 #sp-fixed-menu li:last-child{
    background: #152c51;
    border-top: 1px solid #fff;
 }

 #sp-fixed-menu li:last-child a{
    color: #fff;
 }
 
 /*ボタンを調整*/
 #sp-fixed-menu li a{
    color: #fff;
    text-align: center;
    display:block;
    width: 100%;
    padding:20px;
    line-height: 1;
 }

@media only screen and (min-width:600px)  {
    .concept--ttl{
        width: 10vw;
    }
    .concept--ttl h1{
        font-size: 4rem;
    }    
    
}

@media only screen and (min-width:1025px)  {

    body{
        max-width: 100%;
        background-size: auto;
    }

    main{
        height: auto;
        padding-top: 0;
        
    }

    .main-inner{
        max-width: 1200px;
    }

    .logo-area{
        /* padding-top: 15vh; */
    }

    .renewal-txt{
        max-width: 1200px;
        margin: 0 auto 30px;
        font-size: inherit;
    }

    .line-area{    
        max-width: 400px;
    }

    .section{
        
    }
    .inner{
        max-width: 90vw;
        margin: 0 auto;
    }

    .concept--header{
        display: flex;
        align-items: flex-start;
        justify-content:center;
        
    }

    .concept--ttl h1{
        font-size: 8rem;
    }

    .concept--right{
        width: 80vw;
        height: auto;
        margin-top: 0;
    }
    
    .concept--img{
        height: 100%;
    }
    .concept--img01{
        z-index: 1;
        width: 60%;
        
        left: 0;
        top: 80px;
    }
    .concept--img02{
        z-index: 2;
        width: 40%;
        top: 0;
        right: -;
    }
    .concept--txt{
        z-index: 3;
        top: -9em;
    }
    
    .concept--txt h2{
        font-size: 4rem;
        margin-bottom: 10px;
        text-shadow: 0 0 10px #fff;
        padding: 0;
    }    
}
/*--------------------------------
	|| price
--------------------------------*/
#price{
}

.c-table {
    width: 100%;
    box-sizing: border-box;
    background: #fff;
    margin: 3rem auto 0
}

.c-table thead {
    border-right: 1px solid #1b2f5b
}

.c-table thead tr td {
    background: #1b2f5b;
    color: #fff;
    font-family: "FOT-ç­‘ç´«Aã‚ªãƒ¼ãƒ«ãƒ‰æ˜Žæœ Pr6 D","TsukuAOldMinPr6-D",serif;
    line-height: 1;
    padding: 1.5rem;
    box-sizing: border-box;
    text-align: center
}

.c-table thead tr td span {
    line-height: 1.4
}

.c-table thead tr td+td {
    border-left: 1px solid rgba(255,255,255,.2)
}

.c-table tbody {
    border-right: 1px solid #e6e6e6;
    border-bottom: 1px solid #e6e6e6
}

.c-table tbody tr th {
    background: #d0d1d2;
    color: #fff;
    font-family: "FOT-ç­‘ç´«Aã‚ªãƒ¼ãƒ«ãƒ‰æ˜Žæœ Pr6 D","TsukuAOldMinPr6-D",serif;
    font-weight: normal;
    line-height: 1;
    padding: 2rem;
    box-sizing: border-box
}

.c-table tbody tr th span {
    line-height: 1.4
}

.c-table tbody tr td {
    box-sizing: border-box;
    padding: 1.5rem
}

.c-table tbody tr td:first-child {
    border-left: 1px solid #e6e6e6
}

.c-table tbody tr td+td {
    border-left: 1px solid #e6e6e6
}

.c-table tbody tr+tr th {
    border-top: 1px solid rgba(255,255,255,.1)
}

.c-table tbody tr+tr td {
    border-top: 1px solid #e6e6e6
}

.c-table.clm1 {
    border-top: 1px solid #e6e6e6
}

.c-table.clm1 tr th {
    background: #1b2f5b;
    color: #fff;
    font-family: "FOT-ç­‘ç´«Aã‚ªãƒ¼ãƒ«ãƒ‰æ˜Žæœ Pr6 D","TsukuAOldMinPr6-D",serif;
    line-height: 1;
    padding: 1.5rem;
    box-sizing: border-box;
    text-align: center;
    vertical-align: middle
}

.c-table.clm1 tr th span {
    line-height: 1.4
}

.c-table.clm1 tr td {
    padding: 1.5rem
}

.c-table.feelist {
    margin-top: 3rem;
    margin-bottom: 1rem;
}

.c-table.feelist tr:first-child th,.c-table.feelist tr:first-child td {
    width: 18rem
}

.c-table.feelist tr td {
    text-align: center
}

@media screen and (max-width: 767px) {
    .c-table thead tr td {
        padding:1rem
    }

    .c-table tbody tr th {
        padding: 1.5rem 1rem;
        width: 20%;
    }

    .c-table tbody tr th span {
        font-family: 'Shippori Mincho', serif;
        line-height: 1.4;
    }

    .c-table tbody tr td {
        padding: 1.5rem 1rem
    }

    /* .c-table.feelist tr:first-child th,.c-table.feelist tr:first-child td {
        width: 9rem;
        padding: 2rem 0;
    } */

    .c-table.feelist thead td {
        padding-left: 0;
        padding-right: 0
    }
}

em{
    font-style: normal;
}
.t-price {
    font-family: 'Shippori Mincho', serif;
    color: rgb(147, 53, 53);
    display: block;
    line-height: 1.4;
}

.t-price em {
    font-size: 2.4rem;
}

.ans{
    color: #555;
    font-size: 1.4rem;
    line-height: 1.6;
}

.c-list_ans{
    list-style-type: none;
    padding-left: 0;
    line-height: 1.5;
    color: #555;
    letter-spacing: .2rem;
}
.c-list_ans li{
    margin-bottom: 1rem;
}

.option-list dl{
    margin-bottom: 0;
}

.option-list dt{
    width: 70%;
    padding: 1rem 0;
    padding-left: 1.5rem;
    border-bottom: 1px dotted#333;
    /* display: flex; */
    justify-content: flex-start;
    align-items: center;
    line-height: 1.5;
}
.option-list dd{
    width: 30%;
    padding: 1rem 0 1rem 0;
    margin: 0;
    text-align: right;
    border-bottom: 1px dotted#333;
    
    line-height: 1.5;
}

.price{
    /* background: linear-gradient(rgba(255,255,255,0.5),rgba(255,255,0.5)),url(img/price_bg.jpg) no-repeat top center; */
    background-size: cover;
    background-attachment: fixed;
}
.price h1{
    line-height: 1;
}
.price h2{
    margin-top: 3rem;
    line-height: 1.6;
}
.price h3{
    margin-top: 3rem;
    line-height: 1;
}

.osusume{
    background: rgb(147, 53, 53);
    color: #fff;
    padding: 0 .5rem;
    line-height: 1.6;
    font-size: 1.4rem;
    margin-right: .5rem;
    display: inline-block;

}

.tenperoff{
    font-family: 'Shippori Mincho', serif;
    color: rgb(147, 53, 53);
    font-size: 1.8rem;
    font-weight: bold;
}

/*==================================================
スライダーのためのcss
===================================*/
.slider img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

.slider .slick-slide {
    margin:0 10px;/*スライド左右の余白調整*/
}

/*infoエリアをはじめは非表示*/
#info{
	display: none;
}

/*モーダルの横幅を変更したい場合*/
.modaal-container{
    max-width: 600px;
}

/*モーダルのボタンの色を変更したい場合*/
.modaal-close:after, 
.modaal-close:before{
	background:#ccc;	
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
	background:#666;
}

.modaal-content-container p{
    line-height: 1.6;
}

/*==================================================
アコーディオンCSS
===================================*/

/*アコーディオン全体*/
.accordion-area{
    list-style: none;
    width: 96%;
    max-width: 900px;
    margin:0 auto;
}

.accordion-area li{
    margin: 10px 0;
}

.accordion-area section {
	border: 1px solid #ccc;
}

.accordion-area section p{
    margin-bottom: 0;
    line-height: 1.5;
    gap: 1em;
}
/*アコーディオンタイトル*/
.title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-size:1.75rem;
    line-height: 1.5;
    font-weight: normal;
    padding: 3% 3% 3% 50px;
    transition: all .5s ease;
    display: flex;
    justify-content: space-between;
    margin-bottom: 0;
}

/*アイコンの＋と×*/
.title::before,
.title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #333;
    
}
.title::before{
    top:48%;
    left: 15px;
    transform: rotate(0deg);
    
}
.title::after{    
    top:48%;
    left: 15px;
    transform: rotate(90deg);

}
/*　closeというクラスがついたら形状変化　*/
.title.close::before{
	transform: rotate(45deg);
}

.title.close::after{
	transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.box {
    display: none;/*はじめは非表示*/
    background: #f3f3f3;
	margin:0 3% 3% 3%;
    padding: 3%;
}

.title span.facility {
    color: #fff;
    background: red;

}
.header_faq{
}

.main-inner {
    display: flex;
}
.osirase202502 {
    position: absolute;
    background: rgba(255,255,255,.7);
    padding: 1em;
    width: 800px;
    max-width: 90%;
    margin-left: 5%;
    display: grid;
    place-items: center;
    justify-content: center;
    ;
}

.osirase202502 h2{
    text-align: center;
}
.osirase202502 p{
    line-height: 1.5;
}


.osirase202502-pc {
    display: none;
}

.price__wrap2025{
    display: flex;
    align-items:stretch;
    justify-content:space-between;
    gap: 1%;
}

.price_box{
    width: 50%;
    display: flex;
    flex-direction:column;
    background: #f4f3f3;
    padding: 20px;   
}

.price_box dl{
    margin-bottom: 0;
}
.price_ttl{}

.price_ttl h2 {
    margin-top: 0;
}
.price_ttl h2 span{
    font-size: .6em;
}
.price_body{
    border-bottom: 1px solid #555;
    flex-grow:1;
}
.price_body dl dt{
    float: left;
}
.price_body dl dd{
    text-align: right;
    margin-left: 40%;
}

.price_total dl dt{
    float: left;
}
.price_total dl dd{
    text-align: right;
    margin-left: 40%;
    margin-bottom: 15px;
}

.price_btn {
    
}

.price_btn a{
    color: #fff;
    display: block;
    text-align: center;
    line-height: 2.5;
}

.price_menu01 {
    background-color: #dfe9f8;
}
.price_menu02 {
    background-color: #f8e7df;
}
.price_menu03 {
    background-color: #e2f7e2;
}
.price_btn01 {
    background: #669df0;
}
.price_btn02 {
    background: #f08666;
}
.price_btn03 {
    background: #50bb4a;
}

@media only screen and (max-width:600px) {
    .price__wrap2025 {
        flex-direction: column;
    }
    .price_box {
        width: 100%;
        margin-bottom: 20px;
    }
}

@media only screen and (min-width:1025px) {
 
}