@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
/*
Theme Name: theme-sugawara
Theme URI: http://www.magical-remix.co.jp/
Description:学校法人菅原学園様専用サイトテーマ
Author: Igarashi
Author URI: http://www.magical-remix.co.jp/
Version: 1.0
*/
* {
	box-sizing: border-box;
}
body {
	background: #fff;
	margin: 0;
	padding: 0;
	line-height: 1.7;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "游ゴシック", "メイリオ", sans-serif;
	font-size: 16px;
	color: #333;
}
a {
	overflow: hidden;
	vertical-align: bottom;
	text-decoration: none;
}
a:link, a:visited, a:hover {
	color: #333;
}
input, textarea, select {
	border: 1px solid #ccc;
	padding: 3px;
	font-size: 16px;
}
figure {
	margin: 0;
}
ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
img {
	vertical-align: bottom;
}
.inner {
	width: 1100px;
	max-width: 85%;
	margin: 0 auto;
}
.flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.align-center {
	text-align: center;
}
.sp-block {
	display: none;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
#pagescroll {
	margin: 0;
}
#pagescroll a {
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 200;
	background: #000;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	opacity: 0.3;
	transition: opacity 0.3s;
}
#pagescroll a:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 12px;
	border-left: solid 2px #fff;
	border-top: solid 2px #fff;
	margin: 2px 0 0;
	transform: translate(-50%, -50%) rotate(45deg);
}
#pagescroll a:hover {
	opacity: 0.5;
}
@media screen and (max-width:767px) {
	body {
		-webkit-text-size-adjust: 100%;
	}
	body, input, textarea {
		font-size: 14px;
	}
	body.fixed {
		width: 100%;
		height: 100%;
		position: fixed;
	}
	button, [type="button"], [type="reset"], [type="submit"] {
		-webkit-appearance: button;
	}
	.pc-block {
		display: none !important;
	}
	.sp-block {
		display: block !important;
	}
	.inner {
		width: 88%;
		max-width: none;
		margin: 0 auto;
	}
	#pagescroll a {
		bottom: 10px;
		right: 10px;
	}
}
/* main, .home
------------------------------------------------*/
#main {
	display: block;
}
#main img {
	max-width: 100%;
	height: auto;
}
.home #main h2 {
	margin: 0 0 40px;
	text-align: center;
	letter-spacing: 0.2em;
	font-family: "Noto Serif", "游明朝", "ヒラギノ明朝 Pro W3", serif;
	font-weight: 500;
	font-size: 40px;
}
.home #main h2 span {
	display: block;
	position: relative;
	padding: 10px 0 0;
	letter-spacing: 0.1em;
	font-weight: 400;
	font-size: 14px;
	color: #A70009;
}
.home #main h2 span:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	background: #A70009;
	width: 180px;
	height: 1px;
	margin: 0 0 0 -90px;
}
#main .more a,
#main .more span {
	position: relative;
	display: block;
	background: #fff;
	width: 250px;
	height: 60px;
	border: 1px solid #A70009;
	border-radius: 30px;
	line-height: 60px;
	letter-spacing: 0.04em;
	text-align: center;
	font-weight: 500;
	color: #A70009;
}
#main .more a:after,
#main .more span:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translate(0, -50%) rotate(135deg);
	width: 6px;
	height: 6px;
	border-left: solid 1px #A70009;
	border-top: solid 1px #A70009;
}
#main .more a:hover,
#main a:hover .more span {
	background: #FAEFEF;
}
#main .more.back {
	margin: 40px 0 0;
}
#main .more.back a {
	margin: 0 auto;
}
#main .more.back a:after {
	right: auto;
	left: 15px;
	transform: translate(0, -50%) rotate(-45deg);
}
#main #pickup {
	display: flex;
	background: #F2E6E6;
	margin: 0 0 60px;
}
#main #pickup dt {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #A70009;
	width: 17.27%;
	min-width: 90px;
	letter-spacing: 0.1em;
	font-family: "Noto Serif", "游明朝", "ヒラギノ明朝 Pro W3", serif;
	font-size: 16px;
	color: #fff;
}
#main #pickup dd {
	margin: 0;
}
#main #pickup dd span {
	font-size: 14px;
	font-weight: normal;
}
#main #pickup dd a {
	position: relative;
	display: block;
	padding: 15px 20px 15px 35px;
	font-weight: 500;
}
#main #pickup dd a:hover {
	opacity: 0.8;
}
#main #pickup dd a:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translate(0, -50%) rotate(135deg);
	width: 4px;
	height: 4px;
	border-left: solid 1px #A70009;
	border-top: solid 1px #A70009;
}
#main #information .flex .infobox {
	width: 30.9%;
}
#main #information .flex .infobox dt {
	font-size: 18px;
}
#main #information .flex .infobox dd {
	font-size: 14px;
}
#main #information .more {
	margin: 40px 0 0;
}
#main #information .more a {
	margin: 0 auto;
}
#main #schoollist {
	position: relative;
	background: url("img/bg_schoollist.jpg") no-repeat center;
	background-size: cover;
	margin: 60px 0 0;
	padding: 120px 0 80px;
}
#main #schoollist:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: #fff;
	width: 100%;
	height: 50px;
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
	transform: rotate(180deg);
}
#main #schoollist ul {
	margin: 20px 0 0;
}
#main #schoollist ul + ul {
	margin: 20px 0 80px;
}
#main #schoollist ul li {
	width: 24%;
}
#main #schoollist .flex.center {
	justify-content: center;
}
#main #schoollist .flex.center li {
	margin: 0 0.65% 20px;
}
#main #schoollist ul li img {
	border-radius: 5px;
}
#main #schoollist ul li a {
	display: block;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
}
#main #schoollist ul li a:hover {
	box-shadow: none;
	opacity: 0.8;
}
#main #about {
	position: relative;
	background: #FAEFEF;
	padding: 60px 0;
}
.home #main #about h2 {
	margin: 60px 0 40px;
	text-align: left;
}
.home #main #about h2 span {
	padding: 0;
}
.home #main #about h2 span:before {
	content: none;
}
#main #about p {
	margin: 0;
}
#main #about .more {
	margin: 40px 0 60px;
}
#main #about .flex {
	justify-content: flex-start;
}
#main #about .flex.reverse {
	flex-direction: row-reverse;
	margin: 0 0 60px;
}
#main #about .flex .box {
	width: min(550px, 42.5vw);
	padding: 0 0 0 6%;
}
#main #about .flex.reverse .box {
	padding: 0 6% 0 0;
}
#main #about .flex .box.img {
	background: url("img/img-about2.jpg") no-repeat center;
	background-size: cover;
	width: 50%;
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
}
#main #about .flex.reverse .box.img {
	background: url("img/img-about1.jpg") no-repeat center;
	background-size: cover;
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
}
@media screen and (max-width:767px) {
	.home #main h2 {
		margin: 0 0 20px;
		font-size: 30px;
		font-weight: 550;
	}
	.home #main h2 span {
		font-size: 12px;
	}
	.home #main h2 span:before {
		width: 140px;
		margin: 0 0 0 -70px;
	}
	#main .more a,
	#main .more span {
		height: 52px;
		line-height: 52px;
		margin: 0 auto;
	}
	#main #pickup {
		margin: 0 0 40px;
	}
	#main #pickup dt {
		font-size: 12px;
	}
	#main #pickup dd a {
		padding: 13px 15px 13px 30px;
	}
	#main #information .flex {
		display: block;
	}
	#main #information .flex .infobox {
		width: 430px;
		margin: 0 auto 30px;
	}
	#main #information .flex .infobox dt {
		font-size: 17px;
	}
	#main #information .flex .infobox dd {
		font-size: 13px;
	}
	#main #schoollist {
		margin: 40px 0 0;
		padding: 80px 0 60px;
	}
	#main #schoollist:before {
		height: 30px;
	}
	#main #schoollist ul {
		margin: 20px 0 0;
	}
	#main #schoollist ul + ul {
		margin: 0 0 20px;
	}
	#main #schoollist h2 + ul li,
	#main #schoollist ul + ul li {
		width: 48.4%;
		margin: 0 0 20px;
	}
	#main #schoollist .flex.center {
		justify-content: space-between;
	}
	#main #schoollist .flex.center li:last-child {
		margin: 0 0 20px;
	}
	#main #about {
		padding: 40px 5% 20px;
	}
	.home #main #about h2 {
		margin: 20px 0;
		text-align: center;
	}
	#main #about .more {
		margin: 20px 0;
	}
	#main #about .flex.reverse {
		margin: 0 0 20px;
	}
	#main #about .flex .box {
		width: 100%;
		padding: 0;
	}
	#main #about .flex.reverse .box {
		padding: 0;
	}
	#main #about .flex .box.img {
		width: 100%;
		height: 300px;
		border-radius: 10px;
	}
}
@media screen and (max-width:480px) {
	.home #main h2 {
		font-size: 22px;
	}
	.home #main h2 span:before {
		width: 100px;
		margin: 0 0 0 -50px;
	}
	#main #information .flex .infobox {
		width: 100%;
	}
	#main #schoollist {
		margin: 30px 0 0;
		padding: 60px 0 40px;
	}
	#main #about .flex .box.img {
		height: 250px;
	}
}
/* infobox
------------------------------------------------*/
#main .infobox a {
	display: block;
}
#main .infobox a:hover {
	opacity: 0.8;
}
#main .infobox p {
	margin: 0;
}
#main .infobox img {
	display: block;
	border-radius: 5px;
	margin: 0 auto 15px;
}
#main .infobox ul,
#main .post-meta ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
#main .infobox ul li,
#main .post-meta ul li {
	margin: 0 0 5px 10px;
	line-height: 1.1;
}
#main .infobox ul li:first-child,
#main .post-meta ul li:first-child {
	margin: 0 0 5px;
}
#main .infobox ul li.cat,
#main .post-meta ul li.cat {
	background: #666;
	border-radius: 30px;
	padding: 5px 10px;
	font-size: 13px;
	font-weight: 500;
	color: #fff;
}
#main .infobox ul li.cat-college,
#main .post-meta ul li.cat-college {
	background: #005AA7;
}
#main .infobox ul li.cat-all,
#main .post-meta ul li.cat-all {
	background: #A70009;
}
#main .infobox ul li.cat-nursery,
#main .post-meta ul li.cat-nursery {
	background: #62A308;
}
#main .infobox ul li.cat-university,
#main .post-meta ul li.cat-university {
	background: #D06800;
}
#main .infobox dl {
	margin: 7px 0 0;
}
#main .infobox dt {
	line-height: 1.4;
	font-size: 24px;
	font-weight: 500;
}
#main .infobox dd {
	margin: 10px 0 0;
	font-size: 16px;
	color: #888;
}
#main .archive .infobox {
	border-bottom: 1px solid #ccc;
	padding: 40px 0;
}
#main .archive .infobox a {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#main .archive .infobox a:hover {
	opacity: 0.8;
}
#main .archive .infobox a > p {
	width: 38.18%;
}
#main .archive .infobox img {
	margin: 0;
}
#main .archive .infobox .txt {
	width: 57.27%;
}
#main .archive .infobox .txt .more span {
	margin: 30px 0 0 auto;
}
@media screen and (max-width:767px) {
	#main .infobox ul li.cat,
	#main .post-meta ul li.cat {
		font-size: 12px;
	}
	#main .infobox dt {
		font-size: 20px;
	}
	#main .infobox dd {
		font-size: 14px;
	}
	#main .archive .infobox a {
		display: block;
		width: 430px;
		margin: 0 auto;
	}
	#main .archive .infobox a > p,
	#main .archive .infobox .txt {
		width: 100%;
	}
	#main .archive .infobox img {
		margin: 0 auto 15px;
	}
	#main .archive .infobox .txt .more span {
		margin: 20px auto 0;
	}
}
@media screen and (max-width:480px) {
	#main .infobox dt {
		font-size: 17px;
	}
	#main .infobox dd {
		font-size: 13px;
	}
	#main .archive .infobox a {
		width: auto;
	}
}
/* post
------------------------------------------------*/
.single #main #post {
	width: 85%;
	max-width: 900px;
	margin: 0 auto;
}
#main .post-meta {
	margin: 60px 0;
}
#main .post-meta ul li a {
	display: block;
	color: #fff;
}
#main .post-meta ul li a:hover {
	opacity: 0.8;
}
#main .post-meta .post-title {
	position: relative;
	margin: 10px 0 0;
	padding: 0 0 20px;
	letter-spacing: 0.06em;
	line-height: 1.4;
	font-family: "Noto Serif", "游明朝", "ヒラギノ明朝 Pro W3", serif;
	font-weight: 400;
	font-size: 40px;
}
#main .post-meta .post-title:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	background: #A70009;
	width: 100px;
	height: 1px;
}
#main .post-body {
	overflow: hidden;
}
#main .post-body:after {
	content: "";
	display: block;
	clear: both;
}
#main .post-body h2 {
	border-bottom: 1px solid #ccc;
	margin: 60px 0 30px;
	padding: 0 0 10px;
	font-size: 24px;
}
#main .post-body h3 {
	border-left: 3px solid #A70009;
	margin: 60px 0 20px;
	padding: 0 0 0 10px;
	font-size: 20px;
}
#main .post-body h4 {
	margin: 50px 0 20px;
	font-size: 18px;
}
#main .post-body p,
#main .post-body figure {
	margin: 0 0 40px;
}
#main .post-body ul,
#main .post-body ol {
	margin: 0 0 40px;
	padding: 0 0 0 1.5em;
}
#main .post-body ul {
	list-style: disc;
}
#main .post-body li, #main .post-body li ul, #main .post-body li ol {
	margin: 5px 0;
}
#main .post-body table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 30px;
}
#main .post-body table th, #main .post-body table td {
	padding: 15px;
	border: 1px solid #ccc;
	font-size: 15px;
}
#main .post-body table th {
	background: #F2E1E2;
}
#main .post-body a {
	text-decoration: underline;
	color: #005481;
}
#main .post-body a:hover {
	text-decoration: none;
}
#main .post-body .wp-block-button a {
	text-decoration: none;
	font-size: 1em;
	color: #fff;
}
#main .post-body .wp-block-button a:hover {
	opacity: 0.7;
}
@media screen and (max-width:767px) {
	.single #main #post {
		width: 90%;
		max-width: none;
	}
	#main .post-meta {
		margin: 40px 0;
	}
	#main .post-meta .post-title {
		font-size: 26px;
	}
	#main .post-meta .post-title:after {
		width: 80px;
	}
	#main .post-body h2 {
		margin: 40px 0 20px;
		font-size: 20px;
	}
	#main .post-body h3 {
		margin: 40px 0 10px;
		font-size: 18px;
	}
	#main .post-body h4 {
		margin: 30px 0 10px;
		font-size: 16px;
	}
	#main .post-body p,
	#main .post-body ul,
	#main .post-body ol,
	#main .post-body figure {
		margin: 0 0 20px;
		line-height: 1.9;
	}
	#main .post-body table th, #main .post-body table td {
		padding: 10px;
		font-size: 13px;
	}
}
@media screen and (max-width:480px) {
	#main .post-meta {
		margin: 30px 0;
	}
	#main .post-meta .post-title {
		line-height: 1.7;
		font-size: 23px;
	}
	#main .post-meta .post-title:after {
		width: 60px;
	}
}
/* page-nav, pagenavi
------------------------------------------------*/
#main .page-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid #ccc;
	margin: 60px 0 0;
	padding: 40px 0;
}
#main .page-nav .next_post, #main .page-nav .prev_post {
	position: relative;
	margin: 0;
}
#main .page-nav a {
	display: block;
	position: relative;
	font-size: 14px;
}
#main .page-nav a:hover {
	opacity: 0.8;
}
#main .page-nav .prev_post a {
	padding: 0 0 0 15px;
}
#main .page-nav .next_post a {
	padding: 0 15px 0 0;
	text-align: right;
}
#main .page-nav .prev_post a:before,
#main .page-nav .next_post a:before {
	content: '';
	position: absolute;
	top: 50%;
	width: 6px;
	height: 6px;
	border-left: solid 1px #A70009;
	border-top: solid 1px #A70009;
}
#main .page-nav .prev_post a:before {
	left: 2px;
	transform: translate(0, -50%) rotate(-45deg);
}
#main .page-nav .next_post a:before {
	right: 2px;
	transform: translate(0, -50%) rotate(135deg);
}
#main .wp-pagenavi {
	padding: 60px 0;
	font-size: 14px;
}
#main .wp-pagenavi span {
	display: inline-block;
	border: 0;
	margin: 5px;
	padding: 7px 10px;
	line-height: 1;
	vertical-align: middle;
}
#main .wp-pagenavi span.current {
	background: #A70009;
	border: 1px solid #A70009;
	color: #fff;
}
#main .wp-pagenavi a {
	display: inline-block;
	background: #fff;
	border: 1px solid #ccc;
	margin: 0 5px;
	padding: 7px 10px;
	vertical-align: middle;
	text-decoration: none;
	line-height: 1;
	color: #333;
	transition: background 0.3s;
}
#main .wp-pagenavi a:hover {
	background: #368ADD;
	border: 1px solid #368ADD;
	text-decoration: none !important;
	color: #fff;
}
@media screen and (max-width:767px) {
	#main .page-nav {
		display: block;
		border: 0;
		margin: 40px 0;
		padding: 0;
	}
	#main .page-nav .next_post,
	#main .page-nav .prev_post {
		width: 100%;
		margin: 0 0 10px;
	}
	#main .page-nav .prev_post a,
	#main .page-nav .next_post a {
		border: 1px solid #ccc;
		border-radius: 10px;
	}
	#main .page-nav .prev_post a {
		padding: 20px 20px 20px 35px;
	}
	#main .page-nav .next_post a {
		padding: 20px 35px 20px 20px;
	}
	#main .page-nav .prev_post a:before,
	#main .page-nav .prev_post a:after {
		left: 20px;
	}
	#main .page-nav .next_post a:before,
	#main .page-nav .next_post a:after {
		right: 20px;
	}
	#main .wp-pagenavi {
		padding: 40px 0 30px;
		font-size: 13px;
	}
}
/* header
------------------------------------------------*/
#header {
	display: flex;
	justify-content: space-between;
	position: relative;
	padding: 0 35px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
}
#header #logo {
	margin: 30px 0;
	line-height: 1;
	font-size: 10px;
}
#header #logo a {
	display: inline-block;
}
#header #logo a:hover {
	opacity: 0.8;
}
#header #logo img {
	display: block;
	width: auto;
	height: 30px;
}
#header #nav ul {
	display: flex;
	justify-content: flex-end;
	margin: 50px 0 0;
}
#header #nav ul li {
	margin: 0 0 0 40px;
}
#header #nav ul li:first-child {
	margin: 0;
}
#header #nav ul li a {
	display: block;
	position: relative;
	border-bottom: 2px solid #fff;
	padding: 0 0 8px;
	letter-spacing: 0.08em;
	font-family: "Noto Serif", "游明朝", "ヒラギノ明朝 Pro W3", serif;
	font-size: 18px;
}
#header #nav ul li a:hover {
	border-color: #A70009;
}
#header #nav ul li.menu-item-has-children a {
	transition-delay: 100ms;
	transition-property: border-color;
}
#header #nav ul.sub-menu {
	display: none;
	position: absolute;
	margin: -3px 0 0;
}
#header #nav ul.sub-menu li {
	margin: 0;
}
#header #nav ul.sub-menu li a {
	background: #F7F7F7;
	border: 0;
	padding: 15px 15px 15px 35px;
	letter-spacing: normal;
	font-size: 14px;
}
#header #nav ul.sub-menu li a:hover {
	background: #eee;
}
#header #nav ul.sub-menu li a:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	background: #888;
	width: 10px;
	height: 1px;
}
#header #nav ul + ul {
	position: absolute;
	top: 0;
	right: 35px;
	margin: 0;
}
#header #nav ul + ul li {
	margin: 0 0 0 10px;
}
#header #nav ul + ul li a {
	background: #A70009;
	border: 0;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	padding: 5px 25px 5px 35px;
	letter-spacing: normal;
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-weight: 500;
	font-size: 15px;
	color: #fff;
}
#header #nav ul + ul li a:hover {
	opacity: 0.8;
}
#header #nav ul + ul li a:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translate(0, -50%) rotate(135deg);
	width: 4px;
	height: 4px;
	border-left: solid 1px #fff;
	border-top: solid 1px #fff;
}
@media screen and (max-width:1024px) {
	#header {
		padding: 0 20px;
	}
	#header #logo {
		width: 25%;
	}
	#header #logo img {
		width: 330px;
		max-width: 100%;
		height: auto;
	}
	#header #nav ul li {
		margin: 0 0 0 30px;
	}
	#header #nav ul li a {
		font-size: 17px;
		font-weight: 550;
	}
	#header #nav ul + ul {
		right: 20px;
	}
}
@media screen and (max-width:767px) {
	#header {
		height: 60px;
	}
	#header #logo {
		width: 100%;
		margin: 20px 0 0;
	}
	#header #logo img {
		width: auto;
		max-width: none;
		height: 20px;
	}
	#header #nav {
		width: 100%;
	}
	#header #nav ul {
		display: block;
		position: absolute;
		top: 60px;
		left: 0;
		z-index: 10;
		background: #F7F7F7;
		width: 100%;
		height: calc(100vh - 60px);
		margin: 0;
		padding: 0 35px;
	}
	#header #nav > ul {
		display: none;
	}
	#header #nav ul li {
		width: 100%;
		border-top: 1px solid #ccc;
		margin: 0;
	}
	#header #nav ul li:first-child {
		border: 0;
	}
	#header #nav ul li a {
		border: 0;
		padding: 15px 10px 15px 20px;
	}
	#header #nav > ul > li > a:before {
		content: '';
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0, -50%) rotate(135deg);
		width: 4px;
		height: 4px;
		border-left: solid 1px #910008;
		border-top: solid 1px #910008;
	}
	#header #nav ul.sub-menu {
		display: block;
		position: inherit;
		height: auto;
		margin: 0;
		padding: 0 0 10px 20px;
	}
	#header #nav ul.sub-menu li {
		border: 0;
	}
	.menu-trigger {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 1002;
		background: url("img/bg-stripe.png") repeat;
		width: 60px;
		height: 60px;
		cursor: pointer;
	}
	#header #nav ul.sub-menu li a{
		padding: 5px 5px 5px 25px;
	}
	#header #nav ul.sub-menu li a:before {
		left: 5px;
	}
	.menu-trigger .toggle-name {
		position: absolute;
		left: 0;
		bottom: 7px;
		width: 100%;
		text-align: center;
		font-family: "Noto Serif", "游明朝", "ヒラギノ明朝 Pro W3", serif;
		font-weight: 400;
		font-size: 12px;
		color: #fff;
	}
	.menu-trigger .toggle-name:before {
		content: "MENU";
	}
	.menu-trigger .toggle-bar, .menu-trigger .toggle-bar::before, .menu-trigger .toggle-bar::after {
		position: absolute;
		width: 22px;
		height: 2px;
		background: #fff;
		transition: all 0.2s;
		content: "";
	}
	.menu-trigger .toggle-bar {
		top: 20px;
		left: 20px;
	}
	.menu-trigger .toggle-bar::before {
		top: 7px;
	}
	.menu-trigger .toggle-bar::after {
		top: -7px;
	}
	.nav-open .toggle-name:before {
		content: "CLOSE";
	}
	.nav-open .toggle-bar {
		background: transparent;
	}
	.nav-open .toggle-bar::before, .nav-open .toggle-bar::after {
		top: 0;
	}
	.nav-open .toggle-bar::before {
		transform: rotate(45deg);
	}
	.nav-open .toggle-bar::after {
		transform: rotate(-45deg);
	}
}
/* slider
------------------------------------------------*/
.slide {
  display: flex;
  align-items: center;
  width: 100%;
  height: 41.36vw;
  margin: 30px 0;
}
.slide .mini_area,
.slide .text,
.slide .big_area {
  z-index: -1;
  height: 100%;
}
.slide .mini_area {
  width: 17%;
  background-position: left top;
}
.slide .big_area {
  width: 65%;
}
.slide .sp_area {
	display: none;
}
.slide .text {
  width: 18%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.slide .text img {
  width: 100%;
  height: auto;
}
@media screen and (max-width:767px) {
	.slide {
		display: block;
		height: auto;
		margin: 20px 0;
	}
	.slide .mini_area,
	.slide .big_area {
		display: none;
	}
	.slide .sp_area {
		display: block;
		z-index: -1;
		background-position: center;
		width: 100vw;
		height: 100vw;
	}
	.slide .text {
		display: block;
		width: 88%;
		margin: 20px auto 0;
	}
}
/* title path widgets
------------------------------------------------*/
#title {
	background: url("img/bg-stripe.png") repeat;
	color: #fff;
}
#title .opacity {
	background-image: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4));
	padding: 60px 0;
}
#title .page-title {
	margin: 0;
	letter-spacing: 0.2em;
	font-family: "Noto Serif", "游明朝", "ヒラギノ明朝 Pro W3", serif;
	font-weight: 500;
	font-size: 45px;
	color: #fff;
}
#title .page-title span {
	display: block;
	letter-spacing: 0.1em;
	font-weight: 400;
	font-size: 14px;
}
#path {
	background: #F7F7F7;
	padding: 10px 0;
	font-size: 14px;
}
.widgets {
	display: flex;
	margin: 20px auto;
}
.widgets .list {
	position: relative;
	border-left: 1px solid #ccc;
}
.widgets .list + .list {
	border-right: 1px solid #ccc;
}
.widgets .list:before {
	content: '';
	position: absolute;
	top: 50%;
	right: 15px;
	width: 5px;
	height: 5px;
	border-left: solid 1px #A70009;
	border-top: solid 1px #A70009;
	transform: translate(0, -50%) rotate(-135deg);
}
.widgets .list select {
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	border: 0;
	width: 100%;
	padding: 10px 40px 10px 20px;
	font-size: 14px;
	font-weight: 700;
	color: #333;
}
@media screen and (max-width:767px) {
	#title .opacity {
		padding: 30px 0;
	}
	#title .page-title {
		font-size: 30px;
	}
	#title .page-title span {
		font-size: 12px;
	}
	#path {
		font-size: 12px;
	}
	.widgets .list,
	.widgets .list + .list {
		width: calc(50% - 5px);
		border: 1px solid #ccc;
	}
	.widgets .list + .list {
		margin: 0 0 0 10px;
	}
	.widgets .list select {
		padding: 10px 30px 10px 15px;
		font-size: 13px;
	}
	.widgets .list:before {
		right: 10px;
	}
}
@media screen and (max-width:480px) {
	#title .page-title {
		font-size: 24px;
	}
}
/* bnrarea
------------------------------------------------*/
#bnrarea {
	border-top: 1px solid #ccc;
	padding: 40px 0;
}
#bnrarea ul li {
	width: 30%;
}
#bnrarea ul li a {
	display: block;
}
#bnrarea ul li a:hover {
	opacity: 0.8;
}
#bnrarea ul li img {
	max-width: 100%;
	height: auto;
}
@media screen and (max-width:767px) {
	#bnrarea {
		padding: 20px 0;
	}
	#bnrarea ul {
		display: block;
	}
	#bnrarea ul li {
		width: 70%;
		margin: 0 auto 10px;
		text-align: center;
	}
}
/* footer
------------------------------------------------*/
#footer {
	background: #F7F7F7;
	padding: 40px 0;
}
#footer .inner {
	position: relative;
}
#footer dl {
	margin: 0;
}
#footer dt {
	font-size: 18px;
	font-weight: 500;
}
#footer dt img {
	width: 360px;
	height: auto;
}
#footer dd {
	margin: 20px 0 0;
}
#footer dl.contact {
	position: relative;
	background: #fff;
	width: 460px;
	border-radius: 10px;
	margin: 0 0 40px;
	padding: 20px 30px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
}
#footer dl.contact dd {
	margin: 0;
	font-size: 12px;
}
#footer dl.contact dd span {
	background: url("img/icon-fleetel.svg") no-repeat left center;
	background-size: auto 20px;
	padding: 0 0 0 40px;
	font-family: "Noto Serif", "游明朝", "ヒラギノ明朝 Pro W3", serif;
	font-size: 30px;
	font-weight: 400;
}
#footer dl.contact dd + dd {
	position: absolute;
	bottom: 20px;
	right: 30px;
}
#footer dl.contact dd + dd a {
	display: block;
	position: relative;
	background: #A70009;
	border-radius: 5px;
	padding: 15px 35px 15px 30px;
	font-size: 16px;
	font-weight: 500;
	color: #fff;
}
#footer dl.contact dd + dd a:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translate(0, -50%) rotate(135deg);
	width: 4px;
	height: 4px;
	border-left: solid 1px #fff;
	border-top: solid 1px #fff;
}
#footer ul {
	display: flex;
	margin: 0 0 20px;
	font-size: 14px;
}
#footer ul li:last-child {
	border-left: 1px solid #ccc;
	margin: 0 0 0 20px;
	padding: 0 0 0 20px;
}
#footer ul li a:hover {
	text-decoration: underline;
}
#footer .copy {
	position: absolute;
	bottom: 0;
	right: 0;
	margin: 0;
	font-size: 12px;
	color: #888;
}
@media screen and (max-width:767px) {
	#footer .inner {
		justify-content: center;
	}
	#footer dl {
		text-align: center;
	}
	#footer dl.contact {
		width: 440px;
	}
	#footer dl.contact dd {
		text-align: left;
	}
	#footer ul {
		justify-content: center;
	}
	#footer .copy {
		display: block;
		width: 100%;
		padding: 0 20px;
		text-align: center;
	}
}
@media screen and (max-width:480px) {
	#footer dt {
		font-size: 16px;
	}
	#footer dt img {
		display: block;
		width: 280px;
		margin: 0 auto;
	}
	#footer dl.contact {
		width: 100%;
		padding: 20px;
		text-align: center;
	}
	#footer dl.contact dd {
		text-align: center;
	}
	#footer dl.contact dd + dd {
		position: inherit;
		bottom: auto;
		right: 0;
		margin: 10px 0 0;
	}
	#footer dl.contact dd + dd a {
		padding: 10px;
	}
}

/* splash
------------------------------------------------*/
#splash {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10000;
	background: #fff;
	text-align: center;
	color: #fff;
}
#splash.hide {
	display: none;
}
#splash_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 500px;
	height: 92px;
}
#splash_logo img {
	display: block;
	max-width: 100%;
	height: auto;
}
@media screen and (max-width:767px) {
	#splash_logo {
		width: 280px;
		height: 52px;
	}
}