@charset "utf-8";
/* CSS Document */

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
/*ゴシック：100 300 -400- 500 700 900 
  font-family: 'Noto Sans JP', sans-serif; */

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&display=swap');
/*丸ゴシック：100 300 -400- 500 700 800 900 
  font-family: 'M PLUS Rounded 1c', sans-serif; */

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&family=Sawarabi+Mincho&display=swap');
/*明朝：200 300 -400- 500 600 700 900 
  font-family: 'Noto Serif JP', serif; */

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@100;300;400;500;700;800;900&display=swap');
/* font-family: 'M PLUS 1p', sans-serif; */

@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');
/* font-family: 'Zen Maru Gothic', serif; */


@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/css/yakuhanjp.min.css');
/* font-family: YakuHanJP, ゴシック*/

@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/css/yakuhanmp.min.css');
/* font-family: YakuHanMP, 明朝*/

@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/css/yakuhanrp.min.css');
/* font-family: YakuHanRP, 丸ゴ*/

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap');
/* font-family: "M PLUS 2", sans-serif; */

@import url('https://fonts.googleapis.com/css2?family=Saira+Condensed:wght@100;200;300;400;500;600;700;800;900&display=swap');
/* font-family: "Saira Condensed", sans-serif; */

@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;400;500&display=swap');
/*  font-family: "Kiwi Maru", serif; */

@import url('https://fonts.googleapis.com/css2?family=RocknRoll+One&display=swap');
/* font-family: "RocknRoll One", serif; */


@import url('https://fonts.googleapis.com/css2?family=Dela+Gothic+One&display=swap');
/* font-family: "Dela Gothic One", sans-serif; */


/* =============================================================================
   リセットCSS
   ========================================================================== */

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}


/* =============================================================================
   基本デザイン
   ========================================================================== */

*{
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

:root {
  --main-txt-color: rgba(126,76,67,1.00);
  --main-txt2-color: rgba(243,218,140,1.00);
  --main-point-color: rgba(255,45,180,1.00);
  --main-point2-color: rgba(127,190,39,1.00);
  --main-point3-color: rgba(0,181,238,1.00);
}


html,body{
   min-width: auto;
   font-size: 100%;
}

body {
   overflow-y: scroll;
   font-family: 'Noto Sans JP', "Helvetica Neue", Helvetica, Arial, "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
   line-height: 1.6;
   color: rgba(34,24,21,1.00);
}

.clear {
	clear: both;
	display: block;
}

.mincho{
   font-family: 'Noto Serif JP', serif;
}

/* 全画面メニューの縦スクロール制御 */
.overlay_scll{
   overflow-y: hidden;
}

.overlay_sclln{
   overflow-y: hidden;
}

ul, ol, dl {
	list-style-type: none;
}

h1,h2,h3,h4,h5,p,ol,ul,li,dl,dt,dd{
	margin:0;
	padding:0;
}

p{
	padding-top:0.5em;
}

img {
   vertical-align:bottom;
}

strong{
   font-weight: bold;
}

a{
   text-decoration: none;
}

.lh_16{
   line-height: 1.6;
}


/* -----------------------------------------
   区切り指定
   -----------------------------------------*/
.ne span{
  display:inline-block;
}


/* -----------------------------------------
   文字下げ
   -----------------------------------------*/
.sage{
    padding-left: 1em; 
    text-indent: -1em; 
}

.sage1_5{
    padding-left: 1.5em; 
    text-indent: -1.5em; 
}

.sage2{
    padding-left: 2em; 
    text-indent: -2em; 
}

.sage2_5{
    padding-left: 2.5em; 
    text-indent: -2.5em; 
}

.sage3{
    padding-left: 3em; 
    text-indent: -3em; 
}

.sage4{
    padding-left: 4em; 
    text-indent: -4em; 
}

.sage5{
    padding-left: 5em; 
    text-indent: -5em; 
}

.sage6{
    padding-left: 6em; 
    text-indent: -6em; 
}

.sage7{
    padding-left: 7em; 
    text-indent: -7em; 
}


.sage_link{
  position: relative;
  padding-left: 1.2em;
}
.sage_link::before {
  position: absolute;
  left: 0;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f35a';
  color: rgba(0,0,0,1.00);
}

.sage_dot{
  position: relative;
  padding-left: 1.2em;
}
.sage_dot::before {
  position: absolute;
  left: 0;
  font-weight: 900;
  content: '・';
}

.sage_kome{
  position: relative;
  padding-left: 1.2em;
}
.sage_kome::before {
  position: absolute;
  left: 0;
  font-weight: 900;
  content: '※';
}



/* -----------------------------------------
   下空け
   -----------------------------------------*/
.mb05{
  margin-bottom: 0.1rem;
}

.mb07{
  margin-bottom: 7px;
}

.mb10{
  margin-bottom: 10px;
}

.mb15{
  margin-bottom: 15px;
}

.mb20{
  margin-bottom: 20px;
}

.mb25{
  margin-bottom: 25px;
}

.mb30{
  margin-bottom: 30px;
}

.mb40{
  margin-bottom: 40px;
}

.mb50{
  margin-bottom: 50px;
}

.mb60{
  margin-bottom: 60px;
}

.mb70{
  margin-bottom: 70px;
}

.mb80{
  margin-bottom: 80px;
}

/* -----------------------------------------
   上空け
   -----------------------------------------*/
.mt07{
  margin-top: 7px;
}

.mt10{
  margin-top: 10px;
}

.mt15{
  margin-top: 15px;
}

.mt20{
  margin-top: 20px;
}

.mt25{
  margin-top: 25px;
}

.mt30{
  margin-top: 30px;
}

.mt40{
  margin-top: 40px;
}

.mt50{
  margin-top: 50px;
}

/* -----------------------------------------
   左空け
   -----------------------------------------*/
.ml10{
  margin-left: 10px;
}

.ml15{
  margin-left: 15px;
}

.ml20{
  margin-left: 20px;
}

.ml25{
  margin-left: 25px;
}

.ml30{
  margin-left: 30px;
}

.ml40{
  margin-left: 40px;
}

.mlh5{
   margin-left: 1.3em;
}

.ml_h5{
   margin-left: 1.3em;
}

.ml_em{
   margin-left: 1.0em;
}


/* -----------------------------------------
   右空け
   -----------------------------------------*/
.mr10{
  margin-right: 10px;
}

.mr15{
  margin-right: 15px;
}

.mr20{
  margin-right: 20px;
}

.mr25{
  margin-right: 25px;
}

.mr30{
  margin-right: 30px;
}

.mr40{
  margin-right: 40px;
}

/* -----------------------------------------
   インデックス
   -----------------------------------------*/

h1 {
   position: relative;
   padding: 10px 10px;
   background-color: rgba(0,0,0,1.00);
   font-family: 'M PLUS Rounded 1c', sans-serif;
   transform: rotate(0.03deg);
   line-height: 1.2;
   font-weight: 600;
   color: rgba(255,255,255,1.00);
   letter-spacing: 2px;
}
   @media screen and (max-width: 700px) {
      h1{
         font-size: 100%;
      } 
   }


h1:before,
h1:after {
  position: absolute;
  left: 0;
  width: 100%;
  content: '';
  border-top: 3px dotted #FFFFFF;
}

h1:before {
  top: 3px;
}

h1:after {
  bottom: 3px;
}




h2 {
   font-family: 'M PLUS Rounded 1c', sans-serif;
   transform: rotate(0.03deg);
   position: relative;
   padding:  6px 10px 8px 10px;
   font-weight: 600;
   line-height: 1.4;
   color: rgba(58,58,58,1.00);
   background-color: rgba(255,255,255,0.10);
   border-top: rgba(0,0,0,1.00) 3px solid;
}

h2:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  background: -webkit-repeating-linear-gradient(-45deg, rgba(0,0,0), rgba(0,0,0) 2px, rgba(250,244,225,1.00) 2px, rgba(250,244,225,1.00) 4px);
  background: repeating-linear-gradient(-45deg, rgba(0,0,0), rgba(0,0,0) 2px, rgba(250,244,225,1.00) 2px, rgba(250,244,225,1.00) 4px);
}

/*
h3{
   font-family: YakuHanJP, 'Noto Sans JP', "Helvetica Neue", Helvetica, Arial, "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
   font-weight: 600;
   line-height: 1.4;
   color: rgba(0,0,0,1.00);
   border-bottom: rgba(0,135,245,1.00) 3px solid;
   padding-bottom: 7px;
}
   @media screen and (max-width: 1024px) {
      h3{
      } 
   }
*/ 


h3 {
  border-bottom: solid 3px rgba(0,0,0,1.00);
  position: relative;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  transform: rotate(0.03deg);
  font-weight: 600;
  line-height: 1.4;
  padding: 0 0 5px 0;
  box-sizing: border-box;
  color: rgba(0,0,0,1.00);
}
   @media screen and (max-width: 700px) {
      h3{
         font-size: 100%;
      } 
   }


h3 span{
   padding: 0 10px;
   display: block;
}

h3:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px rgba(255,45,180,1.00);
  bottom: -3px;
  width: 30%;
}


h4 {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  transform: rotate(0.03deg);
  border-left: solid 10px rgba(255,45,180,1.00);
  color: rgba(0,0,0,1.00);
  padding-left: 10px;
  padding-bottom: 5px;
  position: relative;
  font-weight: 800;
  line-height: 1.4;
}

h4.noborder{
   border: none;
   padding-left: 0;
}

h5 {
   font-family: 'M PLUS Rounded 1c', sans-serif;
   position: relative;
   box-sizing: border-box;
   font-weight: 600;
   line-height: 1.4;
   margin-bottom: 0.4em;
   padding-left: 1.0em;
   transform: rotate(0.03deg);
   font-size: 105%;
   color: rgba(0,0,0,1.00);
}

h5:before {
   content: "";
   position: absolute;
   left: 0;
   top: 0.3em;
   background-image: url("../images/tmp/k_h5.png");
   background-repeat: no-repeat;
   width: 0.8em;
   height: 0.8em;
   background-size: contain;
   vertical-align: middle;
}
   @media screen and (max-width: 600px) {
      h5:before{
         
      } 
   }


h5 a{
   text-decoration: none;
}

/* -----------------------------------------
   リンク装飾
   -----------------------------------------*/
a.link_hover{
   color: rgba(255,45,180,1.00);
   text-decoration: none;
   font-weight: 600;
   border-bottom: rgba(255,45,180,1.00) 2px dotted;
}

a.link_hover:hover{
   background-color: rgba(255,45,180,1.00);
   color: rgba(255,255,255,1.00);
   border-bottom: none;
}

.link_img{
 background-color: rgba(255,255,255,1.00);
}

.link_img img:hover{
	opacity: 0.8;
}

/* -----------------------------------------
   注意
   -----------------------------------------*/
.cau_red{
   background-color: rgba(203,0,3,1.00);
   padding: 0 10px;
   color: rgba(255,255,255,1.00);
}

.cau_yellow{
   background-color: rgba(255,237,0,1.00);
   padding: 2px 10px;
    vertical-align: middle;
   color: rgba(255,255,255,1.00);
  letter-spacing : 2px;                /* 文字間 */
  text-shadow    : 
       1px  1px 2px #666666,
      -1px  1px 2px #666666,
       1px -1px 2px #666666,
      -1px -1px 2px #666666,
       1px  0px 2px #666666,
       0px  1px 2px #666666,
      -1px  0px 2px #666666,
       0px -1px 2px #666666;        /* 文字の影 */
}

/* -----------------------------------------
   区切りバー
   -----------------------------------------*/
.bar01{
   border-bottom: rgba(249,241,179,1.00) 5px dotted;
 }
 
.bar02{
   border-bottom: rgba(0,0,0,1.00) 2px dotted;
 }
 
.bar03{
   border-bottom: rgba(91,91,91,1.00) 1px dotted;
 }
   
/* -----------------------------------------
   ボーダー
   -----------------------------------------*/

.border_gray{
  border: rgba(142,142,142,1.00) 1px solid;
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   -o-box-sizing: border-box;
   -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.border_gray2{
  border: rgba(191,191,191,1.00) 1px solid;
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   -o-box-sizing: border-box;
   -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.border_pink{
  border: rgba(254,112,150,1.00) 2px solid;
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   -o-box-sizing: border-box;
   -ms-box-sizing: border-box;
   box-sizing: border-box;
}

.border_white{
  border: rgba(255,255,255,1.00) 1px solid;
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   -o-box-sizing: border-box;
   -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.border_blue{
  border: rgba(29,162,255,1.00) 2px solid;
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   -o-box-sizing: border-box;
   -ms-box-sizing: border-box;
   box-sizing: border-box;
}

.border_blown{
  border: rgba(147,113,33,1.00) 1px solid;
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   -o-box-sizing: border-box;
   -ms-box-sizing: border-box;
   box-sizing: border-box;
}

.border_black{
   border: rgba(0,0,0,1.00) 1px solid;
}

.border_green{
   border: rgba(30,185,153,1.00) 1px solid;
}


.border_goumon_01{
  border: rgba(255,45,180,1.00) 2px solid;
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   -o-box-sizing: border-box;
   -ms-box-sizing: border-box;
   box-sizing: border-box;
}

.border_goumon_02{
  border: rgba(0,181,238,1.00) 2px solid;
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   -o-box-sizing: border-box;
   -ms-box-sizing: border-box;
   box-sizing: border-box;
}

.border_goumon_03{
  border: rgba(127,190,39,1.00) 2px solid;
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   -o-box-sizing: border-box;
   -ms-box-sizing: border-box;
   box-sizing: border-box;
}


/* -----------------------------------------
   フォントサイズ
   -----------------------------------------*/
.fsize50{
	font-size:50%;
}

.fsize60{
	font-size:60%;
}

.fsize70{
	font-size:70%;
}

.fsize80{
	font-size:80%;
}

.fsize90{
	font-size:90%;
}

.fsize95{
	font-size:95%;
}

.fsize98{
	font-size:98%;
}

.fsize100{
	font-size:100%;
}

.fsize105{
	font-size:105%;
}

.fsize110{
	font-size:110%;
}

.fsize120{
	font-size:120%;
}

.fsize130{
	font-size:130%;
}

/* -----------------------------------------
   フォントカラー
   -----------------------------------------*/

.txt_futa_pink{
   color: rgba(236,109,128,1.00);
}

.txt_futa_blue{
   color: rgba(133,163,213,1.00);
}

.txt_red1{
	color:rgba(230,0,0,1.00);
}

.txt_red2{
	color:rgba(144,7,7,1.00);
}

.txt_pink1{
	color:rgba(255,45,180,1.00);
}

.txt_pink2{
	color:rgba(253,217,229,1.00);
}

.txt_pink3{
	color:rgba(255,133,172,1.00);
}

.txt_pink4{
	color:rgba(244,204,207,1.00);
}

.txt_blue1{
	color:rgba(28,131,203,1.00);
}

.txt_blue2{
	color:rgba(0,107,181,1.00);
}

.txt_green1{
	color:rgba(127,190,39,1.00);
}

.txt_green2{
	color:#00A6A3;
}

.txt_green3{
	color:#7FBF39;
}

.txt_gray1{
	color:#999;
}

.txt_gray2{
	color: rgba(77,77,77,1.00);
}

.txt_Purple1{
	color:#90C;
}

.txt_orange1{
	color:#F60;
}

.txt_yellow{
	color:rgba(245,236,153,1.00);
}

.txt_brown{
  color: rgba(223,174,91,1.00);
}

.txt_brown2{
  color: rgba(138,120,88,1.00);
}

.txt_brown3{
  color: rgba(126,76,67,1.00);
}

.txt_brown4{
  color: rgba(76,60,52,1.00);
}



/* -----------------------------------------
   テキスト寄せ
   -----------------------------------------*/
.txt_center{
  text-align: center;
}

.txt_right{
  text-align: right;
}

.txt_left{
  text-align: left;
}

/* -----------------------------------------
   サムネイル全体リンク
   -----------------------------------------*/
a.thumb_link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* -----------------------------------------
   イメージサイズ
   -----------------------------------------*/
.img_100 img{
  width: 100%;
  height: auto;
}

/* -----------------------------------------
   イメージオーバー
   -----------------------------------------*/
.img_over{
   background-color: rgba(255,255,255,1.00);
   opacity: 1.0;
}

.img_over img:hover{
   opacity: 0.8;
}

/* -----------------------------------------
   youtube埋め込み
   -----------------------------------------*/
.yt_movie{
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}

.yt_movie iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}

/* -----------------------------------------
   TOPへ戻る
   -----------------------------------------*/
#back-top {
    position: fixed;
    bottom: 10px;
    right: 20px;
	 z-index:210;
}
#back-top a {
    width: 70px;
    height: 70px;
    display: block;
}

#back-top img{
   width: 70px;
   height: 70px;
}



#back-top_index {
    position: fixed;
    bottom: 10px;
    right: 20px;
	 z-index:210;
    cursor: pointer;
}
@media screen and (max-width: 1024px) {
   #back-top_index{
      display: none;
   }
}


#back-top_index a {
    width: 90px;
    height: 140px;
    display: block;
}

#back-top_index img{
   width: 90px;
   height: 140px;
}

.back_top_m{
   display: none;
}
   @media screen and (max-width: 1024px) {
      .back_top_m{
         display: block;
         width: 80px;
         margin: 20px auto 30px auto;
      } 
   }
   @media screen and (max-width: 600px) {
      .back_top_m{
         display: block;
         width: 20%;
         margin: 20px auto 30px auto;
      } 
   }



 /* =============================================================================
   フッター
   ========================================================================== */  

footer .inner{
   position: relative;
   width: min(90% , 1800px);
   margin: 0 auto 0 auto;
   display: flex;
   justify-content: space-between;
   flex-wrap: wrap;
}
   @media screen and (max-width: 1024px) {
      footer .inner{
         display: block;
         padding-top: 0;
      } 
   }

footer .f_bar{
   position: relative;
   width: 100%;
   height: 180px;
   margin-bottom: 20px;
}
   @media screen and (max-width: 1024px) {
      footer .f_bar{
        background-size: 100px auto;
        height: 80px;
      } 
   }
   @media screen and (max-width: 600px) {
      footer .f_bar{
        background-size: 80px auto;
        height: 60px;
      } 
   }


footer .f_sns_wrap{
   position: relative;
   width: 100%;
   margin: auto;
}
   @media screen and (max-width: 1024px) {
      footer .f_sns_wrap{
         margin: auto;
         width: 100%;
      } 
   }


footer .copy{
   position: relative;
   color: rgba(0,0,0,1.00);
   font-size: 99%;
   text-align: center;
   margin-bottom: 50px;
   font-display: 600;
}
   @media screen and (max-width: 1024px) {
      footer .copy{
         text-align: center;
         margin: 0 auto;
         padding-bottom: 50px;
      } 
   }
   @media screen and (max-width: 600px) {
      footer .copy{
         font-size: 3vw;
      } 
   }


/* フッダメニュー */

.global_menu_foot_pc{
}
   @media screen and (max-width: 800px) {
      .global_menu_foot_pc{
      } 
   }

.fmenu_wrap_pc ol{
   width: 100%;
   list-style: none;
   display: flex;
   flex-wrap: wrap;
   gap: 15px 30px;
   margin-bottom: 60px;
}
   @media screen and (max-width: 1024px) {
      .fmenu_wrap_pc ol{
         justify-content: center;
         margin-bottom: 20px;
      } 
   }
   @media screen and (max-width: 800px) {
      .fmenu_wrap_pc{
         display: none;
      } 
   }


.fmenu_wrap_pc ol li{
   position: relative;
   width: 100%;
   line-height: 1.6;
   font-size: 120%;
}
   @media screen and (max-width: 1024px) {
      .fmenu_wrap_pc ol li{
         font-size: 90%;
         width: auto;
      } 
   }


.fmenu_wrap_pc ol li a{
   color: rgba(54,117,150,1.00);
   text-decoration: none;
   padding: 0;
   font-weight: 800;
   letter-spacing: 2px;
   display: block;
}
   @media screen and (max-width: 1200px) {
      .fmenu_wrap_pc ol li a{
         letter-spacing: 0px;
      } 
   }



.fmenu_wrap_pc ol li:hover a{
   color: rgba(54,117,150,1.00);
}



/* -----------------------------------------
   SNS追加
   -----------------------------------------*/
.share_wrap{
   position: relative;
   width: 100%;
}
   @media screen and (max-width: 1024px) {
      .share_wrap{
         margin: auto;
      } 
   }
   @media screen and (max-width: 1200px) {
      .share_wrap{
         
      } 
   }
.share_index{
   position: relative;
   width: 100%;
   text-align: center;
   color: rgba(0,0,0,1.00);
   font-weight: 800;
   margin-bottom: 5px;
   font-size: 140%;
}

/* -----------------------------------------
   ＰＣ・スマホ表示切り替え
   -----------------------------------------*/
.style_pc{
  display: block;
}

.style_pc.inline{
   display: inline-block;
}

.style_mobile{
  display: none !important;
}

.style_tab{
  display: none !important;
}


/* =============================================================================
   Flex 
   ========================================================================== */
   
.flex_wrapper{
  position: relative;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.flex_wrapper2 {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.flex_wrapper2 .fw_left{
   white-space: nowrap;
}

.flex_wrapper2 .fw_right{
}



.flex_wrapper3 {
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: flex-start;
}

.flex_wrapper3 .fw_left{
   white-space: nowrap;
}

.flex_wrapper3 .fw_right{
}


.fb08{
  position: relative;
  overflow: hidden;
  width: 8%;
}
.fb10{
  position: relative;
  overflow: hidden;
  width: 10%;
}
.fb18{
  position: relative;
  overflow: hidden;
  width: 18%;
}
.fb20{
  position: relative;
  overflow: hidden;
  width: 20%;
}
.fb23{
  position: relative;
  overflow: hidden;
  width: 23%;
}
.fb24{
  position: relative;
  overflow: hidden;
  width: 24%;
}
.fb25{
  position: relative;
  overflow: hidden;
  width: 25%;
}
.fb28{
  position: relative;
  overflow: hidden;
  width: 28%;
}
.fb30{
  position: relative;
  overflow: hidden;
  width: 30%;
}
.fb33{
  position: relative;
  overflow: hidden;
  width: 33.3333%;
}
.fb32{
  position: relative;
  overflow: hidden;
  width: 32%;
}
.fb38{
  position: relative;
  overflow: hidden;
  width: 38%;
}
.fb40{
  position: relative;
  overflow: hidden;
  width: 40%;
}
.fb48{
  position: relative;
  overflow: hidden;
  width: 48%;
}
.fb49{
  position: relative;
  overflow: hidden;
  width: 49%;
}
.fb50{
  position: relative;
  overflow: hidden;
  width: 50%;
}
.fb55{
  position: relative;
  overflow: hidden;
  width: 55%;
}
.fb58{
  position: relative;
  overflow: hidden;
  width: 58%;
}
.fb60{
  position: relative;
  overflow: hidden;
  width: 60%;
}
.fb67{
  position: relative;
  overflow: hidden;
  width: 67%;
}
.fb68{
  position: relative;
  overflow: hidden;
  width: 68%;
}
.fb70{
  position: relative;
  overflow: hidden;
  width: 70%;
}
.fb78{
  position: relative;
  overflow: hidden;
  width: 78%;
}
.fb80{
  position: relative;
  overflow: hidden;
  width: 80%;
}
.fb100{
  position: relative;
  overflow: hidden;
  width: 100%;
}

/*-----------------------------------------
   コンテンツ枠
  -----------------------------------------*/
.w98{
   width: 98%;
   margin-left: auto;
   margin-right: auto;
}

.w95{
   width: 95%;
   margin-left: auto;
   margin-right: auto;
}

.w90{
   width: 90%;
   margin-left: auto;
   margin-right: auto;
}

/*-----------------------------------------
   メニューFIX
  -----------------------------------------*/
.menufix{
  position: -webkit-sticky;
  position: sticky;
  /*top: 50px;
  margin-top: 30px;*/
}

.menufix_main{
  position: -webkit-sticky;
  position: sticky;
  top: 80px;
}


.menu_stop{
   position: absolute;
   top: 0;
   left: 0;
}

.menu_stop.fixed{
   position: fixed;
   top: 0;
   left: 0;
}

.snsfix{
  position: -webkit-sticky;
  position: sticky;
  top: 140px;
}


/*==================================================
Fadeアニメ
===================================*/

/* ぼかしから出現 */
.blur{
  animation-name:blurAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
}

@keyframes blurAnime{
  from {
  filter: blur(10px);
  transform: scale(1.02);
  opacity: 0;
  }

  to {
  filter: blur(0);
  transform: scale(1);
  opacity: 1;
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.blurTrigger{
    opacity: 0;
}
  

/* 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
   タブレット版
   〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓 */

@media screen and (max-width: 1024px) {

html,body{
   min-width: 100%;
}


.style_tab{
  display: block !important;
}


}


/* 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
   スマホ版
   〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓 */

@media screen and (max-width: 480px) {


/* ==========================================================================
   デザイン基本
   ========================================================================== */

html,body{
	min-width:100%;
	max-width:100%;
}


img{
	width:100%;
	height:auto;
}


body{
  font-size: 85%;
}


/* -----------------------------------------
   ＰＣ・スマホ表示切り替え
   -----------------------------------------*/
.style_pc{
  display: none !important;
}

.style_pc.inline{
  display: none;
}

.style_mobile{
  display: block !important;
}

.style_tab{
   display: none !important;
}


/* -----------------------------------------
   インデックス
   -----------------------------------------*/


/* =============================================================================
   マージン調整
   ========================================================================== */
.mlc{
   margin-left: 0;
}

.wcl{
   margin-left: 0;
   margin-right: 0;
}

/* =============================================================================
   Flex 
   ========================================================================== */
   
.flex_wrapper{
  display:block;
}

.flex_wrapper2 {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
}

.fb08{
  width: 100%;
}
.fb10{
  width: 100%;
}
.fb18{
  width: 100%;
}
.fb20{
  width: 100%;
}
.fb23{
  width: 100%;
}
.fb24{
  width: 100%;
}
.fb25{
  width: 100%;
}
.fb28{
  width: 100%;
}
.fb30{
  width: 100%;
}
.fb33{
  width: 100%;
}
.fb32{
  width: 100%;
}
.fb38{
  width: 100%;
}
.fb40{
  width: 100%;
}
.fb48{
  width: 100%;
}
.fb49{
  width: 100%;
}
.fb50{
  width: 100%;
}
.fb55{
  width: 100%;
}
.fb58{
  width: 100%;
}
.fb60{
  width: 100%;
}
.fb68{
  width: 100%;
}
.fb70{
  width: 100%;
}
.fb78{
  width: 100%;
}
.fb80{
  width: 100%;
}
.fb100{
  width: 100%;
}

.fb_m80{
   width: 80%;
   margin-left: 0;
}

.fb_m60{
   width: 60%;
   margin-left: 0;
}


/* ==========================================================================
   テーブル整形
   ========================================================================== */

.tbl2{
  width: 100%;
  margin-top: 10px;
}

.tbl2 td, .tbl2 th {
  display: block;
  width: calc(100% - 20px);
  padding: 10px;
}

.tbl2 th{
  border-bottom: rgba(254,112,150,1.00) 1px dotted;
  font-weight: bold;
}



.tbl3{
  width: 100%;
  margin-top: 10px;
}

.tbl3 td, .tbl3 th {
  display: block;
  width: calc(100% - 20px);
  padding: 10px;

}

.tbl3 th{
  border-bottom: rgba(254,112,150,1.00) 1px dotted;
  font-weight: bold;
  text-align: left;
}


/* -----------------------------------------
   TOPへ戻る
   -----------------------------------------*/
#back-top {
    position: fixed;
    bottom: 80px;
    right: 10px;
	 z-index:100;
}
#back-top img{
    width: 60px;
    height: 93px;
}

#back-top a {
    width: 60px;
    height: 93px;
}


#back-top_index {
    position: fixed;
    bottom: 80px;
    right: 10px;
	 z-index:100;
    display: none !important;
}
#back-top_index img{
    width: 60px;
    height: 93px;
}

#back-top_index a {
    width: 60px;
    height: 93px;
}



}