@charset "utf-8";



h1,h2,h3,h4,h5,h6 {
	font-size:100%;
	font-weight:normal;
}
ol, ul, li {
	list-style: none;
}
th {
	font-weight: normal;
}

.visible-sp{
	display:none !important;
}
.visible-pc{
	display:block !important;
}

.red { color: #c80b0b;}

.rel {
	position: relative;
}
.abs {
	position: absolute;
}


/* +++++++++++++++++++++++++　空き設定(margin) */

.mt00{ margin-top:0px !important;}
.mt05{ margin-top:5px !important;}
.mt1{ margin-top:10px !important;}
.mt2{ margin-top:20px !important;}
.mt3{ margin-top:30px !important;}
.mt4{ margin-top:40px !important;}
.mt5{ margin-top:50px !important;}
.mt6{ margin-top:60px !important;}
.mt7{ margin-top:70px !important;}
.mt8{ margin-top:80px !important;}
.mt9{ margin-top:90px !important;}
.mt10{ margin-top:100px !important;}

.mb05{ margin-bottom:5px !important;}
.mb1{ margin-bottom:10px !important;}
.mb2{ margin-bottom:20px !important;}
.mb3{ margin-bottom:30px !important;}
.mb4{ margin-bottom:40px !important;}
.mb5{ margin-bottom:50px !important;}
.mb6{ margin-bottom:60px !important;}
.mb7{ margin-bottom:70px !important;}
.mb8{ margin-bottom:80px !important;}
.mb9{ margin-bottom:90px !important;}
.mb10{ margin-bottom:100px !important;}
.mb12{ margin-bottom:120px !important;}
.mb15{ margin-bottom:150px !important;}
.mb20{ margin-bottom:200px !important;}

.mr05{ margin-right:5px !important;}
.mr1{ margin-right:10px !important;}
.mr2{ margin-right:20px !important;}
.mr3{ margin-right:30px !important;}
.mr4{ margin-right:40px !important;}
.mr5{ margin-right:50px !important;}
.mr6{ margin-right:60px !important;}
.mr7{ margin-right:70px !important;}
.mr8{ margin-right:80px !important;}
.mr9{ margin-right:90px !important;}
.mr10{ margin-right:100px !important;}

/* +++++++++++++++++++++++++　空き設定(padding) */

.pt05{ padding-top:5px !important;}
.pt1{ padding-top:10px !important;}
.pt2{ padding-top:20px !important;}
.pt3{ padding-top:30px !important;}
.pt4{ padding-top:40px !important;}
.pt5{ padding-top:50px !important;}
.pt6{ padding-top:60px !important;}
.pt7{ padding-top:70px !important;}
.pt8{ padding-top:80px !important;}
.pt9{ padding-top:90px !important;}
.pt10{ padding-top:100px !important;}

.pb05{ padding-bottom:5px !important;}
.pb1{ padding-bottom:10px !important;}
.pb2{ padding-bottom:20px !important;}
.pb3{ padding-bottom:30px !important;}
.pb4{ padding-bottom:40px !important;}
.pb5{ padding-bottom:50px !important;}
.pb6{ padding-bottom:60px !important;}
.pb7{ padding-bottom:70px !important;}
.pb8{ padding-bottom:80px !important;}
.pb9{ padding-bottom:90px !important;}
.pb10{ padding-bottom:100px !important;}



/* +++++++++++++++++++++++++　flexbox */

/*
.flex 通常のflex
.flex-ce 中央揃え
.flex-bt 中央揃えspace-between
.flex-cc　縦横中央揃え
.flex-btc　space-between・縦横中央揃え
*/

.flex{
	display: flex;
	flex-wrap:wrap;
}
.flex-bt{
	display: flex;
	justify-content: space-between;
	flex-wrap:wrap;
}
.flex-ce{
	display: flex;
	justify-content: center;
	flex-wrap:wrap;
}
.flex-cc{
	display: flex;
	justify-content: center;
	align-items: center;
}
.flex-btc{
	display: flex;
	justify-content: space-between; 
	align-items: center;
	flex-wrap:wrap;
}


/* +++++++++++++++++++++++++　テキスト揃え */

.t-al{ text-align:left !important;}
.t-ac{ text-align:center !important;}
.t-ar{ text-align:right !important;}


/* +++++++++++++++++++++++++　ロールオーバー */

a{
	-webkit-transition: opacity .4s;
	transition: opacity .4s;
}
a:hover{ opacity:0.50; }

/* +++++++++++++++++++++++++　画像 */

img {
	border: none;
	vertical-align:bottom;
	display: block;
	width: 100%;
}
img.img-auto-width {
	width:auto;
	max-width:100%;
}

/* +++++++++++++++++++++++++　clearfix */

.clearfix:after{content:".";display:block;height:0px;clear:both;visibility:hidden; overflow:hidden;}


/* ++++++　・付き通常リスト */

.base-list{
	padding-left:25px;
}
.base-list li{
	list-style-type: disc;
}

/* ++++++　数字付き通常リスト */

.base-list-no{
	padding-left:25px;
}
.base-list-no li{
	list-style-type: decimal;
}

/* ++++++　※印 */

.annotation-txt{
	text-indent:-1em;
	padding-left:1em;
	
}

/* +++++++++++++++++++++++++　文字調整関連 */

i{
	margin-right:0.5em;
}
.bold-txt{
	font-weight:bold;
}
.font-montserrat{
	font-family: 'Montserrat', sans-serif;
}
.font-size01{
	font-size:19px;
}
.font-size02{
	font-size:13px;
}
.font-size03{
	font-size:18px;
}
.font-size04{
	font-size:12px;
}
.font-size05{
	font-size:31px;
	line-height:1.8;
}
.line-height01{
	line-height:2.5;
}
.line-height02{
	line-height:2;
}


/* +++++++++++++++++++++++++　スクロールアニメ */

.effect-bottom{
	opacity:0;
	position:relative;
	bottom:-50px;
	-webkit-transition: opacity .8s,left .8s,right .8s,bottom .8s;
	transition: opacity .8s,left .8s,right .8s,bottom .8s;
}
.effect-bottom.active{
	bottom:0;
	opacity:1;
}

/* +++++++++++++++++++++++++　tab */
@media screen and (max-width: 1020px) and (min-width: 768px) {
    
}


/* +++++++++++++++++++++++++　SP */

@media screen and (max-width: 767px) {


/* +++++++++++++++++++++++++　common */

body {
	font-size:15px;
	line-height:2;
    -webkit-text-size-adjust: 100%;
	min-width:inherit;
	letter-spacing:0.07em;
}
body,
html{
	overflow:visible;
}

img,svg {
	max-width:100%;
	height:auto !important;
	width:100%;
}
.visible-sp{
	display:block !important;
}
.visible-pc{
	display:none !important;
}
.content-area{
	max-width: 100%;
	width:100%;
	padding:0 8vw;
}

.font-size05{
	font-size:20px;
}
}