@charset "utf-8";
/*初期化の設定
------------------------------------------------------------------------------*/
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,fiingure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video
{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,picture,main{display:block;}
body{line-height:1.4;}ol,ul{list-style:none;}blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:none;}
table{border-collapse:collapse;border-spacing:0; width: 100%;}
figure{margin:0;padding: 0}
body>img,body>iframe{ display: block; height: 0px; overflow: hidden;}/* コンバージョンタグによって生成されるページ下部の隙間解消 */
img{vertical-align: bottom;}
br{letter-spacing: 0;}
a{color: #2877D1; text-decoration: none; word-break: break-all; word-wrap:break-word;}
a:hover{text-decoration: none;}
a:focus{outline: none;}
a:hover,a:active{outline: 0;}
table {font-size:inherit;}
pre,code,kbd,samp,tt {font:inherit;*font-size:108%;line-height:100%;}
strong{font-weight: bold;}
textarea,input {font:inherit}
h1,h2,h3,h4,h5,h6,strong,th,.Bld{ font-weight: bold;}

html{
	font-size: 62.5%;
	font-size: 10px;
	font-family: 'Noto Sans JP',"Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","メイリオ","Meiryo",sans-serif;
	line-height: 1em;
	color: #000;
}

body *{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

button,
input,
select,
option,
textarea{
  box-sizing: border-box;
}

/*共通の設定
------------------------------------------------------------------------------*/
/*■文字の設定*/
.font10{font-size: 1.0rem !important;} /*10px*/
.font11{font-size: 1.1rem !important;} /*11px*/
.font12{font-size: 1.2rem !important;} /*12px*/
.font13{font-size: 1.3rem !important;} /*13px*/
.font14{font-size: 1.4rem !important;} /*14px*/
.font15{font-size: 1.5rem !important;} /*15px*/
.font16{font-size: 1.6rem !important;} /*16px*/
.font18{font-size: 1.8rem !important;} /*18px*/
.font20{font-size: 2.0rem !important;} /*20px*/
.font22{font-size: 2.2rem !important;} /*22px*/
.font24{font-size: 2.4rem !important;} /*24px*/
.font26{font-size: 2.6rem !important;} /*26px*/
.font28{font-size: 2.8rem !important;} /*28px*/
.font30{font-size: 3.0rem !important;} /*30px*/
.font32{font-size: 3.2rem !important;} /*32px*/
.font38{font-size: 3.8rem !important;} /*38px*/

.line-h{line-height: 1em !important;}
.line-h12{line-height: 1.2em !important;}
.line-h13{line-height: 1.3em !important;}
.line-h14{line-height: 1.4em !important;}
.line-h15{line-height: 1.5em !important;}
.line-h16{line-height: 1.6em !important;}
.line-h18{line-height: 1.8em !important;}
.line-h20{line-height: 2.0em !important;}

.fontN{font-weight: normal !important;}
.fontB{font-weight: bold !important;}

/*■配置の設定*/

/*縦位置*/
.vertical-t	{vertical-align: top !important;}
.vertical-m	{vertical-align: middle !important;}
.vertical-b	{vertical-align: bottom !important;}

/*横位置*/
.align-r{text-align: right !important;}
.align-l{text-align: left !important;}
.align-c{text-align: center !important;}

.color-r{color: #e90000;}

/*■マージン、パディング設定*/
.mg-t0	{margin-top: 0px !important; }
.mg-t5	{margin-top: 5px !important; }.mg-t10{margin-top: 10px !important;}
.mg-t15	{margin-top: 15px !important;}.mg-t20{margin-top: 20px !important;}
.mg-t25	{margin-top: 25px !important;}.mg-t30{margin-top: 30px !important;}
.mg-t35	{margin-top: 35px !important;}.mg-t40{margin-top: 40px !important;}
/*下マージ*/
.mg-b0{margin-bottom: 0px !important; }
.mg-b1{margin-bottom: 1px !important; }.mg-b3{margin-bottom: 3px !important;}
.mg-b5{margin-bottom: 5px !important; }.mg-b10{margin-bottom: 10px !important;}
.mg-b15	{margin-bottom: 15px !important;}.mg-b20{margin-bottom: 20px !important;}
.mg-b25	{margin-bottom: 25px !important;}.mg-b30{margin-bottom: 30px !important;}
.mg-b35	{margin-bottom: 35px !important;}.mg-b40{margin-bottom: 40px !important;}
.mg-b45	{margin-bottom: 45px !important;}.mg-b50{margin-bottom: 50px !important;}
.mg-b55	{margin-bottom: 55px !important;}.mg-b60{margin-bottom: 60px !important;}
.mg-b65	{margin-bottom: 65px !important;}.mg-b70{margin-bottom: 70px !important;}
.mg-b75	{margin-bottom: 75px !important;}.mg-b80{margin-bottom: 80px !important;}
.mg-b85	{margin-bottom: 85px !important;}.mg-b90{margin-bottom: 90px !important;}
.mg-b95	{margin-bottom: 95px !important;}.mg-b100 {margin-bottom: 100px !important;}
.mg-b150	{margin-bottom: 150px !important;}.mg-b200 {margin-bottom: 200px !important;}
/*右マージン*/
.mg-r5	{margin-right: 5px !important;}
.mg-r10	{margin-right: 10px !important;}
.mg-r15	{margin-right: 15px !important;}
.mg-r20	{margin-right: 20px !important;}
.mg-r30	{margin-right: 30px !important;}
/*左右マージン*/
.mg-r-l5{margin-right: 5px !important; margin-left: 5px !important;}
.mg-r-l10{margin-right: 10px !important; margin-left: 10px !important;}
.mg-r-l15{margin-right: 15px !important; margin-left: 15px !important;}
.mg-r-l20{margin-right: 20px !important; margin-left: 20px !important;}
.mg-auto{margin: 0 auto;}

/*全てのマージン*/
.pg{padding: 0 10px;}
.pg-right10{padding-right: 10px !important;}
/*左右パディング*/
.pg-r-l5{padding-left:5px !important; padding-right: 5px !important;}
.pg-r-l10{padding-left:10px !important; padding-right: 10px !important;}
.pg-r-l15{padding-left:15px !important; padding-right: 15px !important;}
.pg-r-l20{padding-left:20px !important; padding-right: 20px !important;}
.pg-r-l30{padding-left:30px !important; padding-right: 30px !important;}
/*上下パディング*/
.pg0{padding:0 !important;}
.pg-t-b5{padding: 5px 0 !important;}
.pg-t-b10{padding: 10px 0 !important;}
.pg-t-b15{padding: 15px 0 !important;}
.pg-t-b20{padding: 20px 0 !important;}

.pg-b0{padding-bottom: 0 !important;}

.hover{
	display: inline-block;
	cursor: pointer;
	-webkit-transition: opacity .4s ease;
	   -moz-transition: opacity .4s ease;
	    -ms-transition: opacity .4s ease;
	     -o-transition: opacity .4s ease;
	        transition: opacity .4s ease;
	-webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
}
.hover:hover{
	opacity: 0.5;
}


/*====================================
* 基本設定
====================================*/
a:visited,
a,button{cursor: pointer; color:inherit; transition-property:opacity,transform; transition-duration: 0.5s; /*color: #000*/;}
a:hover,button:hover{ opacity: 0.3;}

@media screen and (max-width: 767px){
	a:hover,button:hover{ opacity: 1 !important;}
}

/*画像幅100%*/
img{
	max-width: 100%;
}
img.wide{ width: 100%; }

/*フレックスボックス*/
.flex{ display: flex; }
.flex-wrap{  display: flex; flex-wrap: wrap;}
.revs{ display: flex; flex-direction:row-reverse;}
.flex.va-cent{ -webkit-align-items: center; align-items:center;}
.flex.jc-cent{ -webkit-justify-content: center; justify-content: center;}
.flex.jc-right{ -webkit-justify-content: flex-end; justify-content: flex-end;}
.grid{ display: -webkit-flex; display: flex;justify-content: space-between;}

/*PC,スマホ切替え*/
.pc{ display:block !important;}
.sp{ display: none !important;}

/*ローディング*/
#loader-bg { position: fixed; width: 100%; height: 100%; top: 0px; left: 0px; background: #fff; z-index: 10;}
#loader {display: block;position: absolute;top: 50%;width: 100%;height: 60px;left: 0;-webkit-transform: translate(0, -50%);transform: translate(0, -50%);text-align: center;z-index: 100;}
/*ローダー・サークル*/
.loader1{ width:45px; height:45px; border-radius:50%; border:2px solid rgba(0,0,0,0.2); border-top-color:rgba(0,0,0,0.4); box-sizing:border-box; display: inline-block; animation:loading 0.6s linear infinite; -webkit-animation:loading 0.6s linear infinite;}
    @keyframes loading{ 0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)}}
    @-webkit-keyframes loading{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}

/*リサイズ時アニメーション回避*/
body.noduration *,
body .fin{ transition-delay: 0s !important; transition-duration: 0s !important;}

/*背景画像デフォルト設定*/
.bgcover{background-size:cover; background-repeat: no-repeat; background-position: center;}

body{
	font-size: 1.4rem;
	background: #fff;
	line-height: 1.75;
	overflow-x: hidden;
}
@media screen and (max-width: 768px){
.pc{ display: none !important;}
.sp{ display:block !important;}

/*@media 768*/
}
/*スライダー*/
.swiper-slide{
	height: auto;
}
.swiper-slide a{
  display: block;
}
.swiper-pagination-bullet{
	width: 10px;
	height: 10px;
	background: #ddd;
	opacity: 1;
	margin: 0 6px !important;
}
.swiper-pagination-bullet-active{
	background: #2f2f2f;
}
.swiper-container-autoheight .swiper-wrapper{
	align-items: normal;
}