/*----------------------------------------------------------------
	canaeru共通
----------------------------------------------------------------*/
@charset "utf-8";
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: local("Noto Sans CJK JP"), local("Noto Sans JP"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format("opentype");
}

/* ===================================================================
CSS information

 style info: common

=================================================================== */

/*----------------------------------------------------------------
	base
----------------------------------------------------------------*/

html {
    min-width: 1100px;
    overflow-x: hidden;
}

body {
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, メイリオ, Meiryo, sans-serif;
    font-size: 81.3%;
    /*13px*/
    background: #fff;
    line-height: 1.5;
    color: #333;
    min-width: 960px;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

#fontplus-trial-banner {
    display: none;
}

.for_pc {
    display: block !important;
}

.for_sp {
    display: none !important;
}

.inner {
    max-width: 1100px;
    margin: 0 auto 0;
    position: relative;
}

@media screen and (max-width: 1100px) {
    html {
        overflow-x: auto;
    }
}

@media screen and (max-width: 800px) {
    html,
    body {
        min-width: inherit;
        min-width: inherit;
    }

    .for_sp {
        display: block !important;
    }

    .for_pc {
        display: none !important;
    }

    .inner {
        max-width: 100%;
        margin: 0 auto;
        position: relative;
    }
}

a {
    display: inline-block;
    text-decoration: none;
    color: #1a1a1a;
}

/*----------------------------------------------------------------
	footer
----------------------------------------------------------------*/

footer {
	background: #999;
	min-height: 48px;
	color: #fff;
}
footer a {
    color: #fff;
    letter-spacing: 0.08em;
}
footer a:hover {
    text-decoration: underline;
}
footer .flex {
	padding: 2.5% 0;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
}
footer .flex input{
	display: none;
}
footer .flex > ul {
	width: 20%;
	text-align: left;	
	line-height: 1.8em;	
}
footer .flex > ul li > ul li {
	float: left;
}
footer .flex > ul li > ul li img {
	width: 32px;
}
footer .flex > .footerNav {
	width: 80%;
}
footer .flex > .footerNav > ul {
	line-height: 1.8em;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 100px;
    gap: 0.5em;
}
footer .flex .footerNav > ul > li {
	width: 100%;
}
footer .footerNav .footer_content {
    grid-row-start: 1;
    grid-row-end: 5;
}
footer .footerNav .footer_related_service {
    grid-column: 3;
    grid-row: 2;
}
footer .footerNav .footer_related_service a {
    letter-spacing: normal;
    font-size: 92.3%;
}
footer .flex .footerNav > ul > li > label{
	color: #777;
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, メイリオ, Meiryo, sans-serif;
	font-weight: bold;
}
footer .footerNav p {
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, メイリオ, Meiryo, sans-serif;
	font-weight: bold;
	padding:0 0 15px;
	font-size: 169.2%;
	letter-spacing: 0.12em;
	float: left;
	line-height: 1.2em;
	width: 25%;
}
footer .footerNav p span {
	font-size: 60%;
	display: block;
}
footer .footerNav > ul > li > ul > li > ul{
	padding: 0 0 0 20px;
}
footer ul li.sns {
    position: relative;
    top: -2px;
    margin: 20px 20px 0 0;
}
footer ul li.sns ul {
	display: flex;
	justify-content: space-between;
	width: 70%;
	margin: 40px 0 0;
}
footer ul li.sns:after {
    display: none;
}
footer ul li.sns a {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
footer ul li.sns a:hover {
    opacity: 0.6;
}
#copy {
    color: #fff;
    /*position: absolute;
    top: 0;
    right: 0;*/
    font-family: "Montserrat", sans-serif;
    font-size: 76.9%;
    /*10px*/
    line-height: 48px;
    letter-spacing: 0.1em;
	text-align: center;
}
.pagetop.for_pc {
    position: fixed;
    right: 40px;
    bottom: 20px;
}

.pagetop.for_sp {
    display: none;
}

@media screen and (max-width: 800px) {
	footer .footerNav p {
		padding:0 0 20px;
		font-size: 125%;
		float: none;
		width: auto;
	}
	footer .footerNav p span {
		display: inline-block;
		padding: 0 0 0 10px;
	}
	footer .flex {
		font-size: 115.4%;
	}
	footer .flex > ul {
		width: auto;
		padding: 0;
	}
	footer .flex > .footerNav {
		width: auto;
	}
	
	footer .flex > .footerNav > ul > li{
		width: auto;
	}
	footer .flex,
	footer .flex > .footerNav > ul{
		display: block;
		padding: 0;
	}
	footer .flex > ul > li > ul > li > ul{
		padding: 0;
	}
	footer .inner > ul {
		text-align: center;
		line-height: 1.2em;
		padding: 20px;
	}
	footer .inner > ul > li {
		display: inline-block;
		float: none;
		padding: 5px 5px;
	}
	footer .footerNav {
		margin: 0 20px;
		font-size: 92.3%;
	}
	footer .footerNav p {
        font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, メイリオ, Meiryo, sans-serif;
		font-weight: bold;
		border-bottom: 1px solid #fff;
		padding:0 0 20px;
		font-size: 125%;
		letter-spacing: 0.08em;
	}
	footer .footerNav p span {
		font-size: 60%;
	}
	footer .footerNav > ul li .footer_menu a{
		font-size: 100%;
	}
	footer .footerNav input{
		display: none;
	}
	footer .footerNav > ul li > label{
		cursor: pointer;
		display: block;
		position: relative;
		font-size: 100%;
	}
	footer .footerNav > ul li > label a{
		width: 100%;
	}
	footer .flex .footerNav > ul > li > label{
		border-bottom: 1px solid #fff;
		display: block;
		position: relative;
		padding: 12px 0 12px 20px;
		color: #fff;
		font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, メイリオ, Meiryo, sans-serif;
		font-weight: normal;
	}
	footer .footerNav > ul > li > label:after{
		content: "";
		height: 6px;
		width: 6px;
		display: inline-block;
		border: 1px solid #fff;
		border-right-width: 0;
		border-top-width: 0;
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		background: none;
		position: absolute;
		top: 20px;
		right: 20px;
		z-index: 0;
	}
	footer .footerNav > ul li > label + ul li label span{
		position: absolute;
		top: 0;
		right: 20px;
		width: 2.4vw;
		height: 2.4vw;
	}
	footer .footerNav > ul li > label + ul,
	footer .footerNav > ul li > label + ul li label + ul{
		max-height: 0;
		overflow: hidden;
		transition: all 1s ease;
		padding: 0 20px;
	}
	footer .footerNav > ul li > label + ul li{
		padding: 5px 0;
	}
	footer .footerNav > ul li > label + ul li:first-child{
		padding: 15px 0 5px;
	}
	footer .footerNav > ul li > label + ul li:last-child{
		padding: 5px 0 15px;
	}
	footer .footerNav > ul li.footer_related_service > label + ul li{
        padding: 15px 0;
    }
	footer .footerNav > ul li > input:checked + label + ul,
	footer .footerNav > ul li > label + ul li input:checked + label + ul{
		max-height: 700px;
		transition: all 1s ease-in;
		visibility: visible;
		opacity: 1;
	}
	footer .footerNav > ul > li > input:checked + label{
		border-bottom: 1px dotted #fff;
	}
	footer .footerNav > ul > li > input:checked + label + ul{
		border-bottom: 1px solid #fff;
	}
	footer .footerNav > ul > li > input:checked + label:after{
		content: "";
		height: 7px;
		width: 7px;
		display: inline-block;
		border: 1px solid #fff;
		border-right-width: 1px;
		border-top-width: 1px;
		border-left-width: 0;
		border-bottom-width: 0;
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		background: none;
		position: absolute;
		top: 23px;
		right: 20px;
		z-index: 0;
	}
	footer .footerNav > ul li > label + ul li input:checked + label span:after{
	    display: none;
	}
	footer .footerNav > ul li > label + ul li input:checked + label span:before{
		content: "";
		display: block;
		width: 15px;
		height: 1px;
		background: #545454;
		position: absolute;
		right: 16px;
		top: 7px;
		bottom: 0;
		-webkit-transition: -webkit-transform .1s;
		transition: -webkit-transform .1s;
		transition: transform .1s;
		transition: transform .1s, -webkit-transform .1s;
	}
	footer .footerNav > ul li > label + ul li label span::before{
		top: 6px;
		left: 0;
		width: 13px;
		height: 0.26667vw;
	}
	footer .footerNav > ul li > label + ul li label span::after{
		top: 0;
		left: 6px;
		height: 13px;
		width: 0.26667vw;
	}
	footer .footerNav > ul li > label + ul li label span::before,
	footer .footerNav > ul li > label + ul li label span::after{
		content: '';
		display: block;
		position: absolute;
		background: #545454;
	}
    footer ul li.sns {
        display: block;
        top: 25px;
        bottom: 0;
        margin: 0;
		overflow: hidden;
    }
    footer ul li.sns ul {
        width: 200px;
		margin: 0 auto;
    }
	footer #copy {
		padding: 40px 0 0 0;
	}
    .pagetop.for_pc {
        display: none !important;
    }

    .pagetop.for_sp {
        display: block;
    }

    .pagetop.for_sp a {
        display: block;
        background: #545454;
        color: #fff;
        text-align: center;
        height: 50px;
        line-height: 50px;
    }

    .pagetop.for_sp a span {
        position: relative;
        display: inline-block;
        padding: 0 30px 0 0;
    }

    .pagetop.for_sp a span:after {
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
        height: 8px;
        width: 8px;
        position: absolute;
        content: "";
        -ms-transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        right: 0;
        top: 23px;
    }
}

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

    /*----------------------------------------------------------------
		footer
	----------------------------------------------------------------*/
    footer {
        background: #999;
        min-height: 48px;
        padding: 0;
    	color: #fff;
    }
    footer .inner {
        padding: 20px 0 0;
    }

    footer a {
        color: #fff;
        font-size: 92.3%;
        letter-spacing: 0.08em;
    }
    #copy {
        color: #fff;
        position: relative;
        top: 0;
        right: 0;
        font-family: "Montserrat", sans-serif;
        font-size: 76.9%;
        /*10px*/
        line-height: 48px;
        letter-spacing: 0.1em;
        text-align: center;
    }
}

@media screen and (max-width: 370px) {
    #copy {
        letter-spacing: 0;
    }

    footer ul li a {
        font-size: 11px;
    }

    a.blank02 {
        background: url(../img/icn_blank_02.png) no-repeat right center;
        -webkit-background-size: 11px;
        background-size: 11px;
        padding: 0 18px 0 0;
        margin: 0px 4px 0 0;
    }
}
