@charset "utf-8";


/* モバイルメニュー
------------------------------*/
/* background */
.drawer--left .drawer-hamburger {
	display: none;
	top: 5px;
	left: auto;
	right: 5px;
	width: 3rem;
	background: url(../img/bg_contact.jpg) repeat;
	border-radius: 5px;
	padding: 12px 8px 22px;
}
.drawer--left.drawer-open .drawer-hamburger {
	left: auto;
	right: 5px;
}
/* line */
.drawer-hamburger-icon,
.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
	background-color: #6FADEC;
}
.drawer-open .drawer-hamburger-icon:before {
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}
.drawer-open .drawer-hamburger-icon:after {
	-webkit-transform: rotate(-225deg);
	transform: rotate(-225deg);
}
.drawer-overlay {
	background-color: rgba(0, 0, 0, .3);
}
.drawer-nav {
	display: none;
}
/* menu */
.drawer--left .drawer-nav {
	display: none;
	left: -260px;
	width: 260px;
	background: #FFF;
}
.drawer-menu {
	padding: 20px 10px;
}
.drawer--left .drawer-nav>li {
	margin-bottom: 50px;
}
.drawer--left.drawer-open .drawer-nav {
	left: 0;
}
.drawer-nav .contentslist {
	font-size: 1.2rem;
}
.sp-nav {
	margin-bottom: 30px;
}
.sp-nav>li {
	margin-bottom: 1px;
}
.sp-nav a {
	display: block;
	position: relative;
	padding: 14px 20px 12px;
	background: url(../img/nav_bg.jpg) repeat;
	text-decoration: none;
	text-align: center;
	font-family: "游明朝体", "Yu Mincho", YuMincho,
		serif, 'メイリオ', 'Meiryo', sans-serif;
	font-weight: bold;
	font-size: 1.16em;
	color: #003366;
}
.sp-nav a:hover {
	background: url(../img/bg_sp.jpg) repeat;
	color: #FFF;
	text-shadow: 0 0 5px rgba(141, 107, 182, .75);
}

.sp-banner {
	margin-bottom: 30px;
}
.sp-banner li {
	margin-bottom: 10px;
	text-align: center;
}
.accordion-004 {
    max-width: 500px;
    border: 2px solid #d6dde3;
    border-radius: 5px;
	background: url(../img/bg_sp.jpg) repeat;    
}

.accordion-004 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.accordion-004 summary::-webkit-details-marker {
    display: none;
}

.accordion-004 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .3s;
}

.accordion-004[open] summary::after {
    transform: rotate(225deg);
}

.accordion-004 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 2em 1.5em;
    transition: transform .5s, opacity .5s;
}

.accordion-004[open] p {
    transform: none;
    opacity: 1;
}
.accordion-004 a{
	text-align: center;
	font-family: "游明朝体", "Yu Mincho", YuMincho,
		serif, 'メイリオ', 'Meiryo', sans-serif;
	font-weight: bold;
	font-size: 1.16em;
	color: #003366;
    margin-left: 2em;
    
}



/*===============================================
  画面の横幅が680px以下に適用
===============================================*/
@media screen and (max-width: 680px){
	body {
		min-width: 320px;
	}
	img {
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 100%;
	}
	table {
		border-bottom: 1px solid #E1E1E1;
		table-layout:  auto;
	}
	.module.mod_text th,
	.module.mod_text td {
		padding: 11px 10px 8px;
	}
	.drawer--left .drawer-hamburger,
	.drawer--left .drawer-nav {
		display: block;
	}
	.seotext span {
		display: none;
	}
	/* header */
	#header {
		width: 90%;
		padding: 0;
		margin: 0 5%;
	}
	.logo {
		float: none;
		width: 230px;
		padding: 0;
		margin: 20px auto;
		text-align: center;
	}
	.header {
		display: none;
	}
	.gnav {
		display: none;
	}
	/* content */
	.main {
		width: 100%;
		padding: 30px 0;
	}
	.content {
		float: none;
		width: 92.6%;
		margin: 0 3.2%;
	}
	/* side */
	.side {
		float: none;
		width: 92.6%;
		margin: 0 3.2%;
	}
	.side .contentslist {
		display: none;
	}
	.side .s-top-banner {
		display: none;
	}
	.side>p,
	.side .s-info,
	.side .s-mail {
		display: none;
	}
	.s-banner {
		text-align: center;
	}
	.s-banner li.width50 {
		float: none;
		margin: 0 auto 20px;
	}
	/* footer */
	.footer {
		padding-bottom: 40px;
	}
	.fnav {
		padding: 0;
	}
	.fnav li {
		display: block;
		border-bottom: 1px solid #6FADEC;
	}
	.fnav li+li {
		border-left: none;
	}
	.fnav li a {
		position: relative;
		display: block;
		padding: 17px 10px 15px;
		font-size: 1.4rem;
		font-weight: normal;
		text-align: left;
		text-decoration: none;
		-webkit-transition: .3s;
		transition: .3s;
	}
	.fnav li a::before,
	.fnav li a::after {
		content: '';
		position: absolute;
		top: 17px;
		right: 20px;
		width: 0;
		height: 0;
		border-width: 7px;
		border-style: solid;
		border-color: transparent;
		border-left-color: #6FADEC;
	}
	.fnav li a::before {
		z-index: 10;
		border-left-color: #F0F0F0;
		right: 22px;
	}
	.f-text {
		padding: 0 20px;
	}
	.pagetop a {
		z-index: 100;
		right: 5px;
		bottom: 5px;
	}
	.xs-mart-20{
		margin-top:20px;
	}
}

/*===============================================
  画面の横幅が480px以下に適用
===============================================*/
@media screen and (max-width: 480px){
	.main {
		padding: 30px 0;
	}
}