
*, *:before, *:after {
	margin:0;
	padding:0;
	box-sizing: border-box;
}



/* 共通変数
------------------------------------------------------------ */
:root{
	--color-primary:#03aaf0;   /* メインカラー（水色） */
	--color-navy:#005bac;      /* サブカラー（紺） でんき価格なび等 */
	--color-green:#00b075;     /* お引越し先ボタン等 */
	--color-line:#06c755;      /* LINEボタン */
	--color-pink:#ff0042;      /* アクセント（料金シミュレーション等） */
	--color-yellow:#fff36e;    /* マーカー */
	--color-text:#333;
	--color-bg-primary:#e6f8ff;
	--color-bg-blue:#bbecff;
	--color-bg-blue-deep:#c9eefd;
	--color-bg-pink:#ffeef0;
	--color-bg-gray:#f7f7f7;
	--color-border:#dcdcdc;
	--color-bg-grayish:#f8f7f3;

	/* フォントサイズ（PC基準） */
	--fs-base: 16px;
	--fs-base-s: 15px;
	--fs-title: 30px;
	--fs-label: 20px;
	--fs-label-m: 24px;
	--fs-label-l: 34px;
	--fs-label-xl: 44px;
	--fs-m: 18px;
	--fs-l: 24px;
	--fs-xl: 40px;
	--fs-text-s: 14px;
	--fs-text-l: 18px;
	--fs-small: 13px;
	--fs-note: 12px;
	--fs-sup: 10px;
	--fs-large: 50px;
	--fs-large-m: 55px;
	--fs-large-l: 60px;
	--fs-large-xl: 75px;
	--fs-footer-nav: 17px;

	/* セクション余白（共通・PC） */
	--section-gap-title: 80px;  /* ページタイトル直後〜最初のコンテンツセクションまでの余白 */
	--section-gap: 40px;        /* セクション間（.page-section）の余白 */
}

/* 共通変数SP
------------------------------------------------------------ */
@media (max-width: 767px) {
	:root{
	/* フォントサイズ（SP用統一） */
		--fs-base: 14px;
		--fs-base-s: 13px;
		--fs-title:22px;
		--fs-label-s: 16px;
		--fs-label: 18px;
		--fs-label-m: 20px;
		--fs-label-l: 23px;
		--fs-label-xl: 30px;
		--fs-m: 17px;
		--fs-l: 20px;
		--fs-xl: 30px;
		--fs-text-s: 12px;
		--fs-text-l: 17px;
		--fs-small: 11px;
		--fs-note: 11px;
		--fs-sup: 10px;
		--fs-large: 23px;
		--fs-large-m: 25px;
		--fs-large-l: 34px;
		--fs-large-xl: 45px;
		--fs-footer-nav: 14px;

		/* フォントサイズ（SP用オーバーライド） */
		--fs-title-sp: 22px;
		--fs-btn-text-sp: 17px;
		--fs-header-btn-sp: 9px;
		--fs-fine-print-sp: 10px;
		--fs-small-sp: 11px;
		--fs-large-sp: 25px;
		--fs-middle-sp: 23px;
		--fs-label-sp: 18px;
		--fs-utility-btn-sp: 14px;
		--fs-lead-sp: 15px;
		--fs-sub-link-sp: 13px;
		--fs-body-text-sp: 16px;
		--fs-subtitle-sp: 20px;
		--fs-num-lg-sp: 34px;

		/* セクション余白（共通・SP） */
		--section-gap-title-sp: 50px;
		--section-gap-sp: 20px;
		}
}

/* 画面の横幅が400pxまで Landscape phones and down
------------------------------------------------------------ */
@media (max-width: 400px) {
	:root{
		/* フォントサイズ（SP用統一） */
		--fs-base: 13px;
		--fs-base-s: 12px;
		--fs-title: 20px;
		--fs-label-s: 15px;
		--fs-label: 17px;
		--fs-label-m: 19px;
		--fs-label-l: 22px;
		--fs-label-xl: 25px;
		--fs-m: 16px;
		--fs-l: 20px;
		--fs-xl: 28px;
		--fs-text-s: 11px;
		--fs-text-l: 16px;
		--fs-small: 11px;
		--fs-note: 11px;
		--fs-sup: 10px;
		--fs-large: 22px;
		--fs-large-m: 24px;
		--fs-large-l: 30px;
		--fs-large-xl: 40px;
		--fs-footer-nav: 14px;

		/* フォントサイズ（SP用オーバーライド） */
		--fs-title-sp: 19px;
		--fs-btn-text-sp: 15px;
		--fs-large-sp: 20px;
		--fs-middle-sp: 20px;
		--fs-label-sp: 16px;
		--fs-utility-btn-sp: 12px;
		--fs-lead-sp: 13px;
		--fs-sub-link-sp: 12px;
		--fs-body-text-sp: 14px;
		--fs-subtitle-sp: 18px;
		--fs-num-lg-sp: 28px;
	}
}



html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

body {
	line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
	display:block;
}

nav ul {
	list-style:none;
}

blockquote, q {
	quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}

a {
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
a:focus {
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
a img {
	/*firefox*/
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	overflow:hidden;
	box-shadow: #000 0 0 0;
	/*background-color:#ffffff;*/
}

/* change colours to suit your needs */
ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}

/* change colours to suit your needs */
mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
	border-collapse:collapse;
	border-spacing:0;
	font-size:100%;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

address{
	font-style:normal;
}


/* 汎用クラス
------------------------------------------------------------ */

.right-top {float:right;}
.left-top {float:left;}
.rightTxt {text-align:right !important;}
.leftTxt {text-align:left !important;}
.centerTxt {text-align:center !important;}
.sf {font-size:90%;}
.bf {font-weight:bold;}

.hoge:nth-child(odd){  /*奇数*/
    color: #FF0;
}
.hoge:nth-child(even){ /*偶数*/
    color: #FF0;
}
.hoge:nth-of-type(even){  /*奇数*/
    color: #FF0;
}
.hoge:nth-of-type(even){ /*偶数*/
    color: #FF0;
}
.hoge:nth-of-type(2n){ /*２の倍数*/
    color: #FF0;
}


/* clearfix
------------------------------------------------------------ */
.cf,
.clearfix {
	zoom:1;/*for IE 5.5-7*/
}
.cf:after,
.clearfix:after {/*for modern browser*/
	content:".";
	display: block;
	height:0px;
	clear:both;
	visibility:hidden;
}
.cb,.clear {
	clear:both;
	line-height:0%;
	height:0px;
}

/* margin padding クラス
------------------------------------------------------------ */
.mN{
	margin:0  !important;
}
.pN{
	padding:0  !important;
}
.mtN{
	margin-top:0 !important;
}
.mbN{
	margin-bottom:0 !important;
}
.ptN{
	padding-top:0 !important;
}
.pbN{
	padding-bottom:0 !important;
}


/*フェードアニメーション*/
/*移動なし*/
.fade {
	opacity : 0;
	transition: 0.8s ease-in-out;
}
.fade.scrollin {
	opacity : 1;

}
/*下から移動*/
.fadeUp {
	opacity : 0;
	transform : translate(0, 30px);
	transition: 0.8s ease-in-out;
}
.fadeUp.scrollin {
	opacity : 1;
	transform : translate(0, 0);
}



/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}
