@charset "utf-8";




/* +++++++++++++++++++++++++　リセット */
html, body, div, span, applet, object,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, font, 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, figure,nav,header {
	padding: 0;
	margin: 0;
	border: 0;
	vertical-align: baseline;
	background: transparent;
	outline: 0;
	box-sizing: border-box;
	font-size-adjust: none;
}

html {
  height: 100%;
  margin: 0;
}
body {
	height:100%;
    margin: 0;
}
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
	display: block;
	box-sizing: border-box;
}
input, select, textarea {
	box-sizing: border-box;
}
h1,h2,h3,h4,h5,h6 {
	font-size:100%;
	font-weight:normal;
}
ol, ul, li {
	list-style: none;
}
th {
	font-weight: normal;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}





/* +++++++++++++++++++++++++　PC・SP切替 */
.sp{
	display:none !important;
}
.pc{
	display:block !important;
}

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

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

/* +++++++++++++++++++++++++　aタグ */
/*
a,a:link {
	color: #007aab;
}
a:visited {
	color: #007aab;
}
a:hover {
	color: #7FBCD5;
	text-decoration:none;
}
a:active {
	color: #7FBCD5;
}

*/

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

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




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

/*
.flex ：通常のflex
.flexa :縦中央
.flexw ：wrap
.flexw-b ：wrap space-between
.flexw-bc　：wrap space-between・縦中央揃え
.flexw-cc　：wrap 縦横中央揃え
*/

.flex{
	display: flex;
}
.flexa{
	display: flex;
    align-items: center;
}
.flexw{
	display: flex;
	flex-wrap: wrap;
}
.flexw-b{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flexw-bc{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between; 
	align-items: center;
}
.flexw-cc{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.fl3-7 .flexl{width: 30%;}
.fl3-7 .flexr{width: 68%;}

.fl4-6 .flexl{width: 40%;}
.fl4-6 .flexr{width: 58%;}

.fl5-5 .flexl{width: 49%;}
.fl5-5 .flexr{width: 49%;}

.fl6-4 .flexl{width: 60%;}
.fl6-4 .flexr{width: 38%;}

.fl7-3 .flexl{width: 70%;}
.fl7-3 .flexr{width: 28%;}



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

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






/* +++++++++++++++++++++++++　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;
	
}

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

.red { 
    color: #c80b0b;
}

.bold-txt{
	font-weight:bold;
}
.font-montserrat{
	font-family: 'Montserrat', sans-serif;
}
.fs12{font-size:12px;}
.fs13{font-size:13px;}
.fs14{font-size:14px;}
.fs15{font-size:15px;}
.fs16{font-size:16px;}
.fs17{font-size:18px;}
.fs19{font-size:19px;}
.fs20{font-size:20px;}
.fs21{font-size:21px;}
.fs22{font-size:22px;}
.fs23{font-size:23px;}
.fs24{font-size:24px;}
.fs25{font-size:25px;}
.fs26{font-size:26px;}
.fs27{font-size:27px;}
.fs28{font-size:28px;}
.fs29{font-size:29px;}
.fs30{font-size:30px;}

.line-height1{
	line-height:1;
}
.line-height2{
	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;
}




/* +++++++++++++++++++++++++　空き設定(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;}







/* +++++++++++++++++++++++++　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%;
    }
    .sp{
        display:block !important;
    }
    .pc{
        display:none !important;
    }
    
    .fl3-7 .flexl{width: 100%;}
    .fl3-7 .flexr{width: 100%;}

    .fl4-6 .flexl{width: 100%;}
    .fl4-6 .flexr{width: 100%;}

    .fl5-5 .flexl{width: 100%;}
    .fl5-5 .flexr{width: 100%;}

    .fl6-4 .flexl{width: 100%;}
    .fl6-4 .flexr{width: 100%;}

    .fl7-3 .flexl{width: 100%;}
    .fl7-3 .flexr{width: 100%;}
}