@charset "UTF-8";

/* ----------------------------------------------------------------------
CLEARFIX
---------------------------------------------------------------------- */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
} 
.clearfix:before {
  content: "";
  display: block;
  clear: both;
} 
.clearfix {
  display: block;
}

/* ----------------------------------------------------------------------
フォントサイズ
---------------------------------------------------------------------- */

.text40{font-size:40% !important}     
.text50{font-size:50% !important}
.text60{font-size:60% !important}
.text70{font-size:70% !important}     
.text80{font-size:80% !important}
.text90{font-size:90% !important}
.text100{font-size:100% !important}
.text110{font-size:110% !important}
.text120{font-size:120% !important}
.text130{font-size:130% !important}
.text140{font-size:140% !important}
.text150{font-size:150% !important}
.text160{font-size:160% !important}
.text170{font-size:170% !important}
.text180{font-size:180% !important}
.text190{font-size:190% !important}
.text200{font-size:200% !important}
.text210{font-size:210% !important}
.text220{font-size:220% !important}
.b{font-weight:700}    
.u{text-decoration:underline}     
.del{text-decoration:line-throug}
.text-sp2{letter-spacing:2px;}
.text-sp5{letter-spacing:5px;}
.text-sp10{letter-spacing:10px;}                  

/* ----------------------------------------------------------------------
フォントの色
---------------------------------------------------------------------- */
.red{color:red !important}   
.blue{color:#2ca9e1 !important}  
.green{color:#82ae46 !important}  
.orange{color:#ff7d00 !important} 
.yellow{color:#fff000 !important} 
.pink{color:#ff0084 !important} 
.gray{color:#999999 !important} 


/* ----------------------------------------------------------------------
 背景の色
---------------------------------------------------------------------- */
.bg-yellow{padding:2px;background-color:#ff0 !important}
.bg-blue{padding:2px;background-color:#4ab0f5 !important}
.bg-red{padding:2px;background-color:red !important}


/* ----------------------------------------------------------------------
 横位置
---------------------------------------------------------------------- */
.t-center{text-align:center !important}
.t-right{text-align:right !important}
.t-left{text-align:left !important}


/* ----------------------------------------------------------------------
 回り込み
---------------------------------------------------------------------- */
.f-right{float:right;margin:10px}
.f-left{float:left;margin:10px}
.f-clear{clear:both}    


/* ----------------------------------------------------------------------
 リンクのオーバー
---------------------------------------------------------------------- */
a img.fade { background:none !important; outline:none; -webkit-transition:all .3s; transition:all .3s; }
a:hover img.fade { opacity:0.7; filter:alpha(opacity=70); -ms-filter:"alpha( opacity=70 )"; background:none !important; }


/* ----------------------------------------------------------------------
 テキストインデント
---------------------------------------------------------------------- */
.att {padding-left:1em;text-indent:-1em;}
.att_box { margin:2em 0 2.5em; padding:1em 1.2em; line-height:2.0; border:1px dotted #cccccc; background:#fcfcfc; box-shadow:0px 4px 0px 0px #f7f7f7; } 


/* ----------------------------------------------------------------------
 マージン
---------------------------------------------------------------------- */
.m0{margin:0 !important}  
.mt0{margin-top:0 !important}  
.mr0{margin-right:0 !important} 
.mb0{margin-bottom:0 !important} 
.ml0{margin-left:0 !important}   

.m5{margin:5px !important}
.mt5{margin-top:5px !important}
.mr5{margin-right:5px !important}
.mb5{margin-bottom:5px !important}
.ml5{margin-left:5px !important}

.m10{margin:10px !important}
.mt10{margin-top:10px !important}
.mr10{margin-right:10px !important}
.mb10{margin-bottom:10px !important}
.ml10{margin-left:10px !important}

.m15{margin:15px !important}
.mt15{margin-top:15px !important}
.mr15{margin-right:15px !important}
.mb15{margin-bottom:15px !important}
.ml15{margin-left:15px !important}

.m20{margin:20px !important}
.mt20{margin-top:20px !important}
.mr20{margin-right:20px !important}
.mb20{margin-bottom:20px !important}
.ml20{margin-left:20px !important}

.m25{margin:25px !important}
.mt25{margin-top:25px !important}
.mr25{margin-right:25px !important}
.mb25{margin-bottom:25px !important}
.ml25{margin-left:25px !important}

.m30{margin:30px !important}
.mt30{margin-top:30px !important}
.mr30{margin-right:30px !important}
.mb30{margin-bottom:30px !important}
.ml30{margin-left:30px !important}

.m35{margin:35px !important}
.mt35{margin-top:35px !important}
.mr35{margin-right:35px !important}
.mb35{margin-bottom:35px !important}
.ml35{margin-left:35px !important}

.m40{margin:40px !important}
.mt40{margin-top:40px !important}
.mr40{margin-right:40px !important}
.mb40{margin-bottom:40px !important}
.ml40{margin-left:40px !important}

.m45{margin:45px !important}
.mt45{margin-top:45px !important}
.mr45{margin-right:45px !important}
.mb45{margin-bottom:45px !important}
.ml45{margin-left:45px !important}

.m50{margin:50px !important}
.mt50{margin-top:50px !important}
.mr50{margin-right:50px !important}
.mb50{margin-bottom:50px !important}
.ml50{margin-left:50px !important}

.m55{margin:55px !important}
.mt55{margin-top:55px !important}
.mr55{margin-right:55px !important}
.mb55{margin-bottom:55px !important}

.ml55{margin-left:55px !important}
.m60{margin:60px !important}
.mt60{margin-top:60px !important}
.mr60{margin-right:60px !important}
.mb60{margin-bottom:60px !important}
.ml60{margin-left:60px !important}

.m65{margin:65px !important}
.mt65{margin-top:65px !important}
.mr65{margin-right:65px !important}
.mb65{margin-bottom:65px !important}
.ml65{margin-left:65px !important}

.m70{margin:70px !important}
.mr70{margin-right:70px !important}
.mb70{margin-bottom:70px !important}
.ml70{margin-left:70px !important}

.m75{margin:75px !important}
.mt75{margin-top:75px !important}
.mr75{margin-right:75px !important}
.mb75{margin-bottom:75px !important}
.ml75{margin-left:75px !important}

.m80{margin:80px !important}
.mt80{margin-top:80px !important}
.mr80{margin-right:80px !important}
.mb80{margin-bottom:80px !important}
.ml80{margin-left:80px !important}

.m-center{margin:0 auto;}


/* ----------------------------------------------------------------------
 パディング
---------------------------------------------------------------------- */
.p0{padding:0 !important}  
.pt0{padding-top:0 !important}  
.pr0{padding-right:0 !important} 
.pb0{padding-bottom:0 !important}
.pl0{padding-left:0 !important} 

.p5{padding:5px !important}
.pt5{padding-top:5px !important}
.pr5{padding-right:5px !important}
.pb5{padding-bottom:5px !important}
.pl5{padding-left:5px !important}

.p10{padding:10px !important}
.pt10{padding-top:10px !important}
.pr10{padding-right:10px !important}
.pb10{padding-bottom:10px !important}
.pl10{padding-left:10px !important}

.p20{padding:20px !important}
.pt20{padding-top:20px !important}
.pr20{padding-right:20px !important}
.pb20{padding-bottom:20px !important}
.pl20{padding-left:20px !important}

.p30{padding:30px !important}
.pt30{padding-top:30px !important}
.pr30{padding-right:30px !important}
.pb30{padding-bottom:30px !important}
.pl30{padding-left:30px !important}

/* ----------------------------------------------------------------------
 背景画像
---------------------------------------------------------------------- */
.no-bgimg{background-image:none !important}
.bg-splitline-t {
	background:url(../img/common/split_line1.webp) top center no-repeat  !important;
	padding-top:30px;
}
.bg-splitline-b {
	background:url(../img/common/split_line1.webp) bottom center no-repeat  !important;
}

/* ----------------------------------------------------------------------
 要素タイプ
---------------------------------------------------------------------- */
.block{display:block !important}

/* ----------------------------------------------------------------------
 ボタン
---------------------------------------------------------------------- */
.btn{
	}
	
/*まずはお決まりのボックスサイズ算出をborer-boxに */
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;/*rem算出をしやすくするために*/
}

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border: 1px solid #cccccc;
    border-radius: 7px;
    box-shadow: 0 0 7px rgb(0 0 0 / 20%);
	margin-bottom:20px;
}
a.btn-flat {
  overflow: hidden;
  padding: 1.5rem 3rem;
  color: #fff;
  background: none;
}

a.btn-flat span {
  position: relative;
}

a.btn-flat:before {
  position: absolute;
  top: 0;
  left: 30px;
  width: 150%;
  height: 500%;
  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: translateX(-68%) translateY(-70%) rotate(135deg);
  transform: translateX(-68%) translateY(-70%) rotate(135deg);
  background: #1b97d5;;
}

a.btn-flat:hover:before {
  -webkit-transform: translateX(-9%) translateY(-25%) rotate(135deg);
  transform: translateX(-9%) translateY(-25%) rotate(135deg);
}

/* ----------------------------------------------------------------------
 画像サイズ
---------------------------------------------------------------------- */
.img600{max-width:600px;}
