/* CSS Document */


/* reset：20180615.ver_1.1 版
---------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, a, address, big,
em, img, small, strong, b, i,
dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, embed, figure, figcaption, 
footer, header, nav, output, ruby, section,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	font-style:normal;
	font-weight:normal;
	font-size:100%;
	vertical-align:baseline;
}

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

ol, ul{
    list-style:none;
}

table{
    border-collapse:collapse; 
    border-spacing:0;
}

caption, th{
    text-align:left;
}

img{
	display:block;
	max-width:100%;
	width:100%;
	height:auto;
}

a{
	color:#000000;
}

a:focus {
	outline:none;
}

html{
	overflow-y:scroll;
	font-size:62.5%;
}

input[type="text"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: none;
    border-radius: 0;
    outline: none;
    background: none;
}

input[type="radio"] {
    display: none;
}

input[type="radio"]:checked + label {
    background: #ff0000;
}

input[type="checkbox"]:checked + label {
    background: #ff0000;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
}

textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    resize: none;
    padding: 0;
    border: 0;
    outline: none;
    background: transparent;
}

button,
input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: none;
    outline: none;
    background: transparent;
}




/* body
---------------------------------------------------------------------*/

html,body {
 -webkit-text-size-adjust: 100%;
 -ms-text-size-adjust: 100%;
}

body{
	position:relative;
	min-height:100vh;
	font-size:1.6rem;
	line-height:1.8;
	overflow:hidden;
}

body, body *{
	font-family:'Noto Serif JP', 'メイリオ', serif;
	box-sizing:border-box;
}


/*- common.css -*/

/*------------------------------------------------------------------------------------------------------------------------------------------

* all

------------------------------------------------------------------------------------------------------------------------------------------*/

/* screen width 768px未満
---------------------------------------------------------------------*/

html {
	scroll-padding-top: 84px;
}

body{
	padding-bottom:8rem;
}

a{
	transition:0.5s;
	text-decoration:none;
}

.pc{
	display:none;
}

/* returnTop */
#returnTop{
	z-index:999999999;
	position:fixed;
	height:6rem;
	width:6rem;
	bottom:10rem;
	right:2rem;
}

#returnTop img{
	cursor:pointer;
}

/* title */
.title, .title *{
	font-weight:700;
	line-height:1.4;
}

.title{
	text-align:center;
	font-size:2rem;
	color:#333333;
}

.title span{
	display:block;
	font-size:1.4rem;
	color:#949da5;
}

/* moreBtn */
.moreBtn{
	display:inline-flex;
	align-items:center;
	background:#000066;
	border-radius:99px;
	color:#FFFFFF;
	padding:0 5rem;
	height:6rem;
	font-size: 1.6rem;
}

.moreBtn:after,
.moreBtn:before{
	content:"";
	display:block;
	min-width:3rem;
	height:0.8rem;
	width:3rem;
}

.moreBtn:before{
	margin-right:1.6rem;
}

.moreBtn:after{
	background:url(../img/more_after.png) no-repeat center top;
	background-size:contain !important;
	margin-left:1.6rem;
}

/* fiex */
#fiex{
	z-index:999999999;
	position:fixed;
	width:100%;
	bottom:0;
	left:0;
}

#fiex ul{
	display:flex;
}

#fiex li{
	width:50%;
}

#fiex a{
	display:flex;
	align-items:center;
	flex-direction:column;
	justify-content:center;
	font-size:1.2rem;
	font-weight:900;
	color:#FFFFFF;
	height:8rem;
}

#fiex li:first-of-type a{
	background:#919191;
}

#fiex li:last-of-type a{
	background:#000066;
}

#fiex a:before{
	content:"";
	display:block;
	height:3.5rem;
	width:100%;
	margin-bottom:0.5rem;
	background-size:contain !important;
}

#fiex li:first-of-type a:before{
	background:url(../img/icon_mail_sp.png) no-repeat center;
}

#fiex li:last-of-type a:before{
	background:url(../img/icon_tel_sp.png) no-repeat center;
}




/* 横向き用
---------------------------------------------------------------------*/

@media (orientation: landscape) {
}




/* TAB用768px～（TAB）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 768px) {

	html {
		scroll-padding-top: 92px;
	}

	body{
		padding-bottom:0;
	}
	
	body, body *{
		font-size:1.6rem;
	}

	.title{
		font-size:2.6rem;
	}
	
	.title span{
		font-size:1.6rem;
	}

	.moreBtn{
		font-size: 2rem;
	}

	/* fiex */
	#fiex {
		display:none !important;
		opacity:0 !important;
	}


}




/* iPad pro・ノートPC用1024px～（NPC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1024px) {
	
	body{
		padding-bottom:0;
	}
	
	body, body *{
		font-size:1.6rem;
	}
	
	.sp{
		display:none;
	}
	
	.pc{
		display:block;
	}
	
	/* returnTop */
	#returnTop{
		height:60px;
		width:60px;
		bottom:81px;
		right:40px;
		margin:0 !important;
		transition:all 0.5s;
	}

	#returnTop:hover {
		opacity:.5;
	}
	
	/* title */
	.title{
		font-size:3.2rem;
	}
	
	.title span{
		font-size:1.6rem;
	}
	
	/* moreBtn */
	.moreBtn{
		font-size: 2.4rem;
    	padding: 0 60px 8px;
    	height: 60px;
    	box-sizing: border-box;
	}

	.moreBtn:after,
	.moreBtn:before{
		min-width: 40px;
    	width: 40px;
    	height: 16px;
	}

	.moreBtn:before{
		margin-right:12px;
	}

	.moreBtn:after{
		margin-left:12px;
		background: url(../img/more_after.png) no-repeat center bottom;
    	background-size: contain !important;
	}
	
	.moreBtn:hover{
		opacity:0.5;
	}

}




/* PC用1280px～（PC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1280px){
	
	/* returnTop */
	
	/* title */
	
}







/*------------------------------------------------------------------------------------------------------------------------------------------

* header

------------------------------------------------------------------------------------------------------------------------------------------*/

/* screen width 768px未満
---------------------------------------------------------------------*/
header, header nav{
	width:100%;
	z-index:999999999999999;
	position:fixed;
	left:0;
}

header{
	background:#FFFFFF;
	top:0;
}

/* fixed_area1 */
header #fixed_area1{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:1.6rem 2rem;
}

header #fixed_area1 h1 img{
	height:4rem;
	width:auto;
}

/* fixed_area2 */
header #fixed_area2{
	display:none;
	background:rgba(105, 105, 105, 0.5);
	height:100vh;
}

header #fixed_area2 ul{
	background:#FFFFFF;
	padding-right:6rem;
	padding-left:6rem;
	padding-top:2.5rem;
}

header #fixed_area2 ul a{
	position:relative;
}

/* fixed_area2 top */
header #fixed_area2 .top li + li{
	border-top:1px solid #000066;
	padding-top:1.4rem;
	margin-top:1.4rem;
}

header #fixed_area2 .top a{
	display:flex;
	align-items:center;
	justify-content:space-between;
	font-size:1.4rem;
	padding-right:1.6rem;
}

header #fixed_area2 .top a:after{
	content:"";
	display:block;
	background:url(../img/navarrow_sp.png) no-repeat center;
	background-size:contain !important;
	height:0.7rem;
	width:2rem;
}

/* fixed_area2 btm */
header #fixed_area2 .btm{
	padding-bottom:2.5rem;
}

header #fixed_area2 .btm li + li{
	margin-top:1rem;
}

header #fixed_area2 .btm a{
	display:flex;
	align-items:center;
	justify-content:center;
	background-size:auto 70% !important;
	color:#FFFFFF;
	height:5rem;
}

header #fixed_area2 .btm li:nth-of-type(1) a{
	background:url(../img/icon_tel_sp.png) no-repeat 1rem center, #000066;
}

header #fixed_area2 .btm li:nth-of-type(2) a{
	background:url(../img/icon_mail_sp.png) no-repeat 1rem center, #919191;
}

header #fixed_area2 .btm li:nth-of-type(3) a{
	background:#6295cc;
}

header #fixed_area2 .btm li:nth-of-type(2) a:after,
header #fixed_area2 .btm li:nth-of-type(3) a:after{
	content:"";
	display:block;
	border-bottom:2px solid #FFFFFF;
	border-right:2px solid #FFFFFF;
	transform:translateY(-50%) rotate(-45deg);
	position:absolute;
	height:0.7rem;
	width:0.7rem;
	right:1rem;
	top:50%;
}

header #fixed_area2 .btm a,
header #fixed_area2 .btm a *:not(span){
	font-weight:bold;
}

header #fixed_area2 .btm a *{
	line-height:1;
}

header #fixed_area2 .btm a div{
	font-size:1.8rem;
}

header #fixed_area2 .btm a span{
	display:block;
	font-size:1.3rem;
}




/* 横向き用
---------------------------------------------------------------------*/

@media (orientation: landscape) {
}




/* TAB用768px～（TAB）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 768px) {

	/* fixed_area1 */
	header #fixed_area1{
		padding: 1rem 2rem;
    	height: 80px;
	}
	header #fixed_area1 h1 {
		width: 260px;
	}
	header #fixed_area1 h1 img{
		height:auto;
	}
	
	/* fixed_area2 */
	header #fixed_area2 ul{
		padding-right:12rem;
		padding-left:12rem;
		padding-top:5rem;
	}

	/* fixed_area2 top */
	header #fixed_area2 .top li + li{
	}

	header #fixed_area2 .top a{
		font-size:1.6rem;
	}

	header #fixed_area2 .top a:after{
    	background: url(../img/navarrow_sp.png) no-repeat bottom center;
	}

	/* fixed_area2 btm */
	header #fixed_area2 .btm{
		padding-bottom: 5rem;
   		padding-right: 20rem;
    	padding-left: 20rem;
	}

	header #fixed_area2 .btm li + li{
	}
	
	header #fixed_area2 .btm li:nth-of-type(1){
		display:none;
	}

	header #fixed_area2 .btm a{
		height:5rem;
	}

	header #fixed_area2 .btm li:nth-of-type(1) a{
		background:url(../img/icon_tel_sp.png) no-repeat 2rem center, #000066;
	}
	
	header #fixed_area2 .btm li:nth-of-type(2) a{
		background:url(../img/icon_mail_sp.png) no-repeat 2rem center, #919191;
	}

	header #fixed_area2 .btm li:nth-of-type(2) a:after,
	header #fixed_area2 .btm li:nth-of-type(3) a:after{
		right:1.6rem;
	}

	header #fixed_area2 .btm a div{
		font-size:3.6rem;
	}

	header #fixed_area2 .btm a span{
		font-size:2.6rem;
	}
	
}




/* iPad pro・ノートPC用1024px～（NPC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1024px) {
	
	/* fixed_area1 */
	header #fixed_area1{
		padding:20px 2rem;
	}
	
	header #fixed_area1 h1 img{
		height:auto;
		width:350px;
	}
	
	header #fixed_area1 .pc,
	header #fixed_area1 .pc ul,
	header #fixed_area1 .pc ul li{
		display:flex;
		align-items:center;
	}
	
	header #fixed_area1 .pc ul li:before,
	header #fixed_area1 .pc ul li:first-of-type:after{
		content:"";
		display:block;
		background-size:contain !important;
	}
	
	header #fixed_area1 .pc ul li:before{
		margin-right:15px;
		height:42px;
		width:42px;
	}
	
	header #fixed_area1 .pc ul li:first-of-type:before{
		background:url(../img/icon_tel_pc.png) no-repeat center;
	}
	
	header #fixed_area1 .pc ul li:last-of-type:before{
		background:url(../img/icon_mail_pc.png) no-repeat center;
	}
	
	header #fixed_area1 .pc ul li:first-of-type:after{
		background:url(../img/slash.png) no-repeat center;
		margin:0 5px;
		height:20px;
		width:20px;
	}
	
	header #fixed_area1 .pc ul li *:not(span){
		font-weight:bold;
	}
	
	header #fixed_area1 .pc ul li *{
		line-height:1.2;
	}
	
	header #fixed_area1 .pc ul li div{
		font-size:2.4rem;
	}
	
	header #fixed_area1 .pc ul li span{
		display:block;
		font-size:1.6rem;
	}
	
	header #fixed_area1 .pc > p{
		margin-left:15px;
	}
	
	header #fixed_area1 .pc > p a{
		display:inline-block;
		background:#6295cc;
		position:relative;
		color:#FFFFFF;
		padding:5px 30px;
	}
	
	header #fixed_area1 .pc > p a:before{
		content:"";
		display:block;
		border-bottom:1px solid #FFFFFF;
		border-right:1px solid #FFFFFF;
		transform:translateY(-50%) rotate(-45deg);
		position:absolute;
		height:7px;
		width:7px;
		right:8px;
		top:50%;
	}
	
	header #fixed_area1 .pc a:hover{
		opacity:0.5;
	}
	
	/* fixed_area2 */
	header #fixed_area2{
		display:block;
		position:static;
		background:#eff3f9;
		transition:all 0.5s;
		overflow:hidden;
		height:0;
	}
	
	header #fixed_area2 ul{
		display:flex;
		justify-content:center;
		background:none;
		padding:20px 0;
	}
	
	/* fixed_area2 top */
	header #fixed_area2 .top li{
		border-right:1px dashed #000000;
		width:200px;
	}
	
	header #fixed_area2 .top li:first-of-type{
		border-left:1px dashed #000000;
	}
	
	header #fixed_area2 .top li + li{
		border-top:none;
		padding-top:0;
		margin-top:0;
	}
	
	header #fixed_area2 .top a{
		justify-content:center;
		font-size:1.6rem;
		line-height:1.2;
		padding-right:0;
	}
	
	header #fixed_area2 .top a:after{
		transform:translateX(-50%);
		background:#000066;
		position:absolute;
		height:4px;
		width:70px;
		bottom:-7px;
		left:50%;
		transition:all 0.5s;
		opacity:0;
	}
	
	header #fixed_area2 .top a:hover:after{
		opacity:1;
	}
	
	header #fixed_area2 .btm{
		display:none;
	}
	
	/* fixed_area2 btm */
	header #fixed_area2 .btm{
		display:none;
	}
	
	/* fixed2 */
	header #fixed_area2.fixed2{
		height:auto;
	}

}




/* PC用1280px～（PC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1280px){
	
	header #fixed_area1{
		padding:20px 0;
		margin:0 auto;
		width:1200px;
	}
	
	header #fixed_area1 .pc ul li:first-of-type:after{
		margin:0 30px;
	}
	
	header #fixed_area1 .pc > p{
		margin-left:30px;
	}
	
}







/*------------------------------------------------------------------------------------------------------------------------------------------

* menuBtn

------------------------------------------------------------------------------------------------------------------------------------------*/

/* screen width 768px未満
---------------------------------------------------------------------*/
header #menuBtn{
	min-width:3rem;
}

/* line */
header #menuBtn .line{
	height:2.3rem;
	position:relative;
}

header #menuBtn .line span,
header #menuBtn .line:after,
header #menuBtn .line:before{
	display:block;
	position:absolute;
	transition:all .4s;
	background:#000066;
	height:2px;
	width:3rem;
	left:0;
}

header #menuBtn .line span{
	transform:translateY(-50%);
	text-indent:999rem;
	overflow:hidden;
	top:50%;
}

header #menuBtn .line:after,
header #menuBtn .line:before{
	content:"";
}

header #menuBtn .line:before{
	top:0;
	animation:menu-bar-top .75s forwards;
}

@keyframes menu-bar-top {
	0% {
	  	top:50%;
		transform:translateY(-50%) rotate(45deg);
  	}
 	50% {
		top:50%;
	  	transform:translateY(-50%) rotate(0);
  	}
  	100% {
		top:0;
  	}
}

header #menuBtn .line:after{
	top:100%;
	animation:menu-bar-btm .75s forwards;
}

@keyframes menu-bar-btm {
	0% {
    	top:50%;
		transform:translateY(-50%) rotate(-45deg);
  	}
  	50% {
    	top:50%;
		transform:translateY(-50%) rotate(0);
  	}
  	100% {
    	top:100%;
		transform:translateY(-100%) rotate(0);
  	}
}

/* text */
header #menuBtn .text span{
	display:block;
	text-align:center;
	font-size:1rem;
	color:#000066;
	line-height:1;
	margin-top:0.6rem;
}

header #menuBtn .text span:last-of-type{
	display:none;
}

/* menuBtn active */
header #menuBtn.active .line span{
	opacity:0;
}

header #menuBtn.active .line:before{
	animation:active-menu-bar-top .75s forwards;
}

@keyframes active-menu-bar-top {
	0% {
		top:0;
  	}
  	50% {
		top:50%;
		transform:translateY(-50%) rotate(0);
	}
  	100% {
		top:50%;
    	transform:translateY(-50%) rotate(45deg);
  	}
}

header #menuBtn.active .line:after{
	animation:active-menu-bar-btm .75s forwards;
}

@keyframes active-menu-bar-btm {
	0% {
    	top:100%;
		transform:translateY(-100%) rotate(0);
  	}
  	50% {
    	top:50%;
		transform:translateY(-50%) rotate(0);
  	}
  	100% {
		top:50%;
    	transform:translateY(-50%) rotate(-45deg);
  	}
	
}

/* text active */
header #menuBtn.active .text span:first-of-type{
	display:none;
}

header #menuBtn.active .text span:last-of-type{
	display:block;
}




/* 横向き用
---------------------------------------------------------------------*/

@media (orientation: landscape) {
}




/* TAB用768px～（TAB）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 768px) {
	
	header #menuBtn {
		min-width: 45px;
		margin-top: 4px;
	}

	/* line */
	header #menuBtn .line{
		margin: 0 auto;
    	width: 36px;
		height:26px;
	}
	
	header #menuBtn .line span,
	header #menuBtn .line:after,
	header #menuBtn .line:before{
		height: 2px;
    	width: 36px;
	}

	/* text */
	header #menuBtn .text span{
		font-size:1.6rem;
	}
	
}




/* iPad pro・ノートPC用1024px～（NPC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1024px) {
	
	header #menuBtn{
		display:none;
	}
	
}




/* PC用1280px～（PC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1280px){
	
	
	
}







/*------------------------------------------------------------------------------------------------------------------------------------------

* footer

------------------------------------------------------------------------------------------------------------------------------------------*/

/* screen width 768px未満
---------------------------------------------------------------------*/

/* #contact */
footer #contact{
	padding:2.5rem 0;
}

footer #contact > div{
	padding:0 2rem;
}

footer #contact > div h2 ~ p{
	font-size:1.4rem;
	margin-top:2.5rem;
}

footer #contact > div h2 ~ div{
	margin-top:3.5rem;
	padding-left:0.7rem;
}

footer #contact > div h2 ~ div a,
footer #contact > div h2 ~ div a div{
	display:flex;
	align-items:center;
}

footer #contact > div h2 ~ div a{
	background:#dae3f3;
}

footer #contact > div h2 ~ div a *{
	text-align:center;
	font-weight:bold;
	line-height:1.2;
}

footer #contact > div h2 ~ div a > div{
	justify-content:center;
	transform:translate(-0.7rem, -0.9rem);
	background:#000066;
	min-width:25vw;
	height:calc(25vw * 0.786);
	width:25vw;
}

footer #contact > div h2 ~ div a > div span{
	color:#FFFFFF;
}

footer #contact > div h2 ~ div a > span{
	font-size:1.8rem;
	color:#000066;
	width:calc(100% - 25vw);
}

footer #contact > div h2 ~ div a > span:after{
	content:"";
	display:block;
	background:url(../img/contact_arrow.png) no-repeat center;
	background-size:contain !important;
	margin-top:1.6rem;
	height:0.5rem;
}

footer #contact > iframe{
	margin-top:2rem;
	height:calc(100vw * 0.787);
	width:100%;
}

/* sitemap */
footer > div:not(#contact){
	background:#f7fafc;
	padding:2.5rem 2rem 2rem;
}

footer #sitemap > ul + ul,
footer #sitemap > ul > li + li{
	margin-top:0.8rem;
}

footer #sitemap ul li:before{
	display:inline-block;
}

footer #sitemap > ul{
	padding-left:0.8rem;
}

footer #sitemap > ul > li:before{
	content:"▶";
	transform:translateX(-0.8rem);
	color:#000066;
}

footer #sitemap > ul > li > a,
footer #sitemap > ul > li:before{
	font-size:1.4rem;
}

footer #sitemap > ul ul{
	padding-left:2rem;
}

footer #sitemap > ul ul > li{
	display:flex;
	align-items:center;
}

footer #sitemap > ul ul > li:before{
	content:"";
	height:2px;
	width:1.6rem;
	margin-right:0.8rem;
	background:#000066;
}

footer #sitemap > ul ul > li > a{
	font-size:1.2rem;
}

/* bnrList */
footer .bnrList{
	position:relative;
	margin-top:2rem;
}

footer .bnrList li + li{
	margin-top:1rem;
}

footer .bnrList a img{
	transition:0.5s;
}

/* copyright */
footer > p{
	background:#4d4d4d;
	text-align:center;
	font-size:1rem;
	color:#FFFFFF;
	padding:0.6rem 2rem;
}




/* 横向き用
---------------------------------------------------------------------*/

@media (orientation: landscape) {
}




/* TAB用768px～（TAB）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 768px) {
	
	/* #contact */
	footer #contact{
		padding:5rem 0;
	}

	footer #contact > div{
		padding:0 4rem;
	}

	footer #contact > div section{
    	display: flex;
    	flex-wrap: wrap;
    	justify-content: space-between;
	}

	footer #contact > div h2 {
		width: 100%;
	}

	footer #contact > div h2 img {
		width: 37%;
	}

	footer #contact > div h2 ~ p{
		font-size: 1.6rem;
    	margin-top: 2.5rem;
	}

	footer #contact > div h2 ~ div{
		width: 50%;
    	margin-top: 3.5rem;
    	padding-left: 1.4rem;
	}

	footer #contact > div h2 ~ div a > div{
		background: #000066;
    	min-width: 12vw;
    	height: calc(15vw * 0.786);
    	width: 12vw;
	}

	footer #contact > div h2 ~ div a > span{
		width: calc(100% - 16vw);
		font-size:1.8rem;
	}

	footer #contact > div h2 ~ div a > span:after{
	}

	footer #contact > iframe{
		margin-top:4rem;
	}

	/* sitemap */
	footer > div:not(#contact){
		padding: 2.5rem 4rem 2rem;
	}
	
	footer #sitemap{
		display:flex;
	}
	
	footer #sitemap > ul + ul{
		margin-left:60px;
		margin-top:0;
	}

	footer #sitemap > ul{
		padding-left:0.8rem;
	}

	footer #sitemap > ul > li:before{
		transform:translateX(-0.8rem);
	}

	footer #sitemap > ul > li > a,
	footer #sitemap > ul > li:before{
		font-size:1.6rem;
	}

	footer #sitemap > ul ul{
		padding-left:2rem;
		margin-top:0.8rem;
	}

	footer #sitemap > ul ul > li:before{
		width:1.6rem;
		margin-right:0.8rem;
	}

	footer #sitemap > ul ul > li > a{
		font-size:1.4rem;
	}
	
	footer #sitemap ul a:hover{
		text-decoration:underline;
	}

	/* sitemap */
	/*
	footer > div:not(#contact){
		padding: 2.5rem 4rem 2rem;
	}

	footer #sitemap > ul + ul,
	footer #sitemap > ul > li + li{
		margin-top:.8rem;
	}

	footer #sitemap > ul{
		padding-left:0;
	}

	footer #sitemap > ul > li:before{
	}

	footer #sitemap > ul > li > a,
	footer #sitemap > ul > li:before{
		font-size:1.6rem;
	}

	footer #sitemap > ul > li:before{
		transform: translateX(0);
		padding-right: .8rem;
	}

	footer #sitemap > ul ul{
		padding-left:4rem;
	}

	footer #sitemap > ul ul > li:before{
	}

	footer #sitemap > ul ul > li > a{
		font-size:1.4rem;
	}
	*/

	/* bnrList */
	footer .bnrList{
		display:flex;
		justify-content: space-between;
		margin-top: 4rem;
	}

	footer .bnrList li + li{
		width:calc((100% - 20px) / 2);
		margin-top:0rem;
	}

	/* copyright */
	footer > p{
		font-size:1.2rem;
		padding:1.2rem 4rem;
	}
	
}




/* iPad pro・ノートPC用1024px～（NPC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1024px) {
	
	/* #contact */
	footer #contact{
		display:flex;
		align-items:center;
		padding:0;
	}
	
	footer #contact > div h2 img{
		width:420px;
	}

	footer #contact > div h2 ~ p{
		font-size:1.6rem;
		margin-top:30px;
	}

	footer #contact > div h2 ~ div{
		padding-left:10px;
		margin-top:60px;
		width:445px;
	}

	footer #contact > div h2 ~ div a > div{
		transform:translate(-10px, -12px);
		min-width:140px;
		height:110px;
		width:140px;
	}
	
	footer #contact > div h2 ~ div a > div span{
		font-size:2rem;
	}

	footer #contact > div h2 ~ div a > span{
		font-size:2.4rem;
		width:calc(100% - 140px);
	}

	footer #contact > div h2 ~ div a > span:after{
		margin-top:20px;
		height:7px;
	}

	footer #contact > iframe{
		margin-top:0;
		height:590px;
	}
	
	footer #contact > div h2 ~ div a:hover{
		opacity:0.5;
	}
	
	/* sitemap */
	footer > div:not(#contact){
		padding:50px 2rem 80px;
	}
	/*
	footer #sitemap{
		display:flex;
	}
	
	footer #sitemap > ul + ul{
		margin-left:60px;
		margin-top:0;
	}

	footer #sitemap > ul{
		padding-left:0.8rem;
	}

	footer #sitemap > ul > li:before{
		transform:translateX(-0.8rem);
	}

	footer #sitemap > ul > li > a,
	footer #sitemap > ul > li:before{
		font-size:1.6rem;
	}

	footer #sitemap > ul ul{
		padding-left:2rem;
		margin-top:0.8rem;
	}

	footer #sitemap > ul ul > li:before{
		width:1.6rem;
		margin-right:0.8rem;
	}

	footer #sitemap > ul ul > li > a{
		font-size:1.4rem;
	}
	*/
	footer #sitemap ul a:hover{
		text-decoration:underline;
	}

	/* bnrList */
	footer .bnrList{
		display:flex;
		flex-wrap:wrap;
		justify-content:flex-start;
		margin-top:50px;
	}
	
	footer .bnrList li{
		margin-right:50px;
	}
	
	footer .bnrList li:not(#returnTop){
		background:#FFFFFF;
	}
	
	footer .bnrList li + li{
		width:calc((100% - (50px * 2)) / 3) !important;
		margin-top:0;
	}
	
	footer .bnrList li:nth-of-type(3n){
		margin-right:0;
	}
	
	footer .bnrList li:nth-of-type(3n) ~ li{
		margin-top:20px;
	}
	
	footer .bnrList a{
		display:block;
	}
	
	footer .bnrList a:hover img{
		opacity:0.5;
	}

	/* copyright */
	footer > p{
		font-size:1.4rem;
		padding:1.6rem 4rem;
	}
	
}




/* PC用1280px～（PC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1280px){
	
	/* #contact */
	footer #contact > div{
		width:calc(50% - 50px);
		padding:0;
	}
	
	footer #contact > div section{
		width:calc((1200px / 2) - 50px);
		margin-left:auto;
		display: block;
	}
	
	footer #contact > iframe{
		width:calc(50% + 50px);
	}
	
	/* sitemap */
	footer > div:not(#contact) > *{
		width:1200px;
	}
	
	footer #sitemap{
		margin:0 auto;
	}
	
	/* bnrList */
	footer .bnrList{
		margin:50px auto 0;
	}
	
}


























