/*-------------------------
  【style.css】：全ページに適用しているCSS
-------------------------*/
@charset "utf-8";

/* 画面幅指定 */
  .layout{
    position: relative;
    width: auto;
    margin-left: auto;
    margin-right: auto;
}

/* フォント */
@font-face{
  font-family: "ほのか丸ゴシック";
  src: url("./font_1_honokamarugo_1.1.ttf") format("truetype")
}

/* 下線_青ストライブ */
.stripe {
  position: relative;
}

.stripe:after {
  content: "";
    position: absolute;
    top:32px;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 7px;
    background: -webkit-repeating-linear-gradient(-45deg, #6BC8F2, #6BC8F2 2px, #fff 2px, #fff 4px);
    background: repeating-linear-gradient(-45deg, #6BC8F2, #6BC8F2 2px, #fff 2px, #fff 4px);
}

/* 下線_青ストライプ(responsive) */
.stripe-res {
  position: relative;
}

.stripe-res:after {
  content: "";
    position: absolute;
    top:55px;
    left: -30;
    bottom: 0;
    width: 120%;
    height: 7px;
    background: -webkit-repeating-linear-gradient(-45deg, #6BC8F2, #6BC8F2 2px, #fff 2px, #fff 4px);
    background: repeating-linear-gradient(-45deg, #6BC8F2, #6BC8F2 2px, #fff 2px, #fff 4px);
}

/* 吹き出し */
.balloon {
    position: relative;
    padding: 20px;
    background-color: #D0F0FF;
    border-radius: 10px;
}

.balloon:before{
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: 0;
    right: 0;
    bottom: -20px;
    margin: 0 auto;
    border-top: 20px solid #D0F0FF;
    border-right: 20px solid transparent;
    border-left: 20px solid transparent;
}

/* 吹き出し (responsive) */
.balloon_res {
    position: relative;
    padding: 15px;
    font-size: 18px;
    background-color: #D0F0FF;
    border-radius: 20px;
}

.balloon_res:before{
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: 0;
    right: 0;
    bottom: -12px;
    margin: 0 auto;
    border-top: 15px solid #D0F0FF;
    border-right: 15px solid transparent;
    border-left: 15px solid transparent;
}

/*縁取り（浮かび上がり）文字*/
.huchidori{
  display     : inline-block;
  font-weight : bold;
  color       : #ffffff;
  text-shadow:  2px  2px 10px #777 ,
               -2px  2px 10px #777 ,
                2px -2px 10px #777 ,
               -2px -2px 10px #777;
}

/*赤い取り消し線*/
.del {
  text-decoration-line: line-through;
  text-decoration-style:solid;
  text-decoration-color: red;
}
/*赤文字*/
.red {
  color:red;
}

/*ボタン(WEB)*/
.btn {
    background-color: #FFCE61;
    border: 3px solid #FFCE61;
    border-radius:8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .5);
    color: #fff;
    display: inline-block;
    font-weight: 700;
    padding: 1.00rem 2rem;
    position: relative;
    text-align: center;
    transition: .3s;
}

.btn:hover {
    background-color: #fff;
    color: FFCE61;
}

/*ピンクボタン(WEB)*/
.btn_pink {
    background-color: #FF8D8D;
    border: 3px solid #FF8D8D;
    border-radius:8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .5);
    color: #fff;
    display: inline-block;
    font-weight: 700;
    padding: 1.00rem 2rem;
    position: relative;
    text-align: center;
    transition: .3s;
}

.btn_pink:hover {
    background-color: #fff;
    color: FF8D8D;
}

/*ボタン(responsive)*/

.btn_res {
    background-color: #FFCE61;
    border: 3px solid #FFCE61;
    border-radius:8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .5);
    color: #fff;
    display: inline-block;
    font-weight: 700;
    padding: 0.50rem 1rem;
    position: relative;
    text-align: center;
    transition: .3s;
}

.btn_res:hover {
    background-color: #fff;
    color: FFCE61;
}

/*ピンクボタン(responsive)*/

.btn_res_pink {
    background-color: #FF8D8D;
    border: 3px solid #FF8D8D;
    border-radius:8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .5);
    color: #fff;
    display: inline-block;
    font-weight: 700;
    padding: 0.50rem 1rem;
    position: relative;
    text-align: center;
    transition: .3s;
}

.btn_res_pink:hover {
    background-color: #fff;
    color: FF8D8D;
}

/* 料金プランカード(web) */
.plan_card{
    border-radius:10px;
    box-shadow: 0 4px 4px rgba(0, 0, 0, .25);
}

/* 料金プランカードタイトル部分(web) */
.plan_card_title{
    border-radius:10px 10px 0px 0px;
    color:white;
}
/* グレー点線(web) */
.dot_gray{
    border-top:dotted;
    border-color:gray;
}

}

.movie{
position:relative;
width:100%;
height:0;
padding-top:75%;
}
.movie iframe{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}

/*強調赤ボタン*/
/* ボタン本体 */
.btn_red {
  display: inline-block;
  padding: 0.8em 3em;
  background-color: #e3364a; /* 背景色 */
  box-shadow: 0 10px 0 #ca1c30; /* 影の太さ・色 */
  border-radius: 60px;
  color: #fff;
  cursor: pointer;
  text-decoration: none; /* 文字の下線を消す */
}

/* ホバー時 */
.btn_red:hover {
  box-shadow: none;
  transform: translateY(5px);
  color: #fff;
}

/*ボタン上部キャッチコピー(web)*/
.btn-copy {
  font-size: 1.5rem;
  font-weight: bold;

  position: relative;

  margin-bottom: .2em;

  text-align: center;
}

.btn-copy:before {
  margin-right: 1rem;

  content: '＼';
}

.btn-copy:after {
  margin-left: 1rem;

  content: '／';
}

/*ボタン上部キャッチコピー(responsive)*/
.btn-copy-res {
  font-size: 1.0rem;
  font-weight: bold;

  position: relative;

  margin-bottom: .2em;

  text-align: center;
}

.btn-copy-res:before {
  margin-right: 0.7rem;

  content: '＼';
}

.btn-copy-res:after {
  margin-left: 0.7rem;

  content: '／';
}

/*スクロール追従バナー*/
.fixed_scroll_banner {
position: fixed;
z-index: 99999;
bottom: 85px;
text-align:right;
left:0;
right:0;
}
/*スクロール追従バナー　レスポンス対応*/
@media screen and (max-width: 959px) {
.fixed_scroll_banner {
bottom: 20px;
}
}

/*機能紹介スクリーンショット(mobile)*/
.shadow{
    box-shadow: 0 10px 20px 0 rgba(0, 0, 0, .5);
}

/*scroll_up ｜下から上へ出現*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}



/*サイドメニュー*/
.side_scroll{
    position: sticky;
    overflow-y: auto;
    top: 80px;
    max-height: calc(100vh - 80px);
}

/*TOPお知らせ画像*/
#topnews{
    position: relative;
    margin-top: 30px;
    justify-content: center;
    display: flex;
}
#detail_button{
    display: block;
    position: absolute;
    top: 80%;
    margin: 0 auto;
    width: 15em;
    height: 3em;
}

/*TOPお知らせ画像レスポンシブ*/
#topnews_res{
    position: relative;
    margin-top: 30px;
    justify-content: center;
    display: flex;
}
#detail_button_res{
    display: block;
    position: absolute;
    top: 80%;
    margin: 0 auto;
}