@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');
/*
Theme Name: theme-salmon
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: #F2FBFC;
	margin: 0;
	padding: 0;
	line-height: 1.8;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 16px;
	font-weight: 500;
	color: #333;
	overflow-x: hidden;
}
a {
	overflow: hidden;
	vertical-align: bottom;
	text-decoration: none;
	transition: 0.3s;
}
a:link, a:visited {
	color: #333;
}
a:hover {
	color: #67B3F5;
}
a img {
	transition: 0.3s;
}
a:hover img {
	opacity: 0.7;
}
ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
img {
	vertical-align: bottom;
}
.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;
}
.scroll-fade {
  opacity: 0.1;
  transition: all 500ms;
}
.scroll-fade.up {
  transform: translate(0, 50px);
}
.scroll-fade.left {
  transform: translate(50px, 0);
}
.scroll-fade.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}
#pagescroll {
	margin: 0;
}
#pagescroll a {
	position: fixed;
	bottom: 40px;
	right: 40px;
	z-index: 200;
	background: #67B3F5 url("img/pagetop.svg") no-repeat center;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	box-shadow: 0 2px 5px rgba(0,0,0,0.2);
	transition: 0.3s;
}
#pagescroll a:hover {
	background: #F5927A url("img/pagetop.svg") no-repeat center;
}
@media screen and (max-width:767px) {
	body {
		font-size: 15px;
	}
	body.fixed {
		width: 100%;
		height: 100%;
		position: fixed;
		-webkit-text-size-adjust: 100%;
	}
	.pc-block {
		display: none !important;
	}
	.sp-block {
		display: block !important;
	}
	#pagescroll a {
		bottom: 10px;
		right: 10px;
	}
}

/* main
------------------------------------------------*/
#contents {
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 50px 0 100px;
}
#main {
	width: calc(100% - 290px);
}
#main:before,
#main:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	z-index: -1;
}
#main:before {
	top: 10px;
	background: url("img/bg-vis.svg") no-repeat center top;
	background-size: 100% auto;
	width: 100%;
	height: 31.1vw;
}
.home #main:before {
	top: -10.93vw;
}
#main:after {
	bottom: -100px;
	background: url("img/bg-contents.png") repeat-x left bottom;
	width: 100%;
	height: 260px;
}
#main .inner {
	max-width: 940px;
	margin: 0 auto;
	padding: 0 20px;
}
#main .line {
	background: linear-gradient(transparent 60%, rgba(245,146,122,0.4) 40%);
}
#main .page-title {
	position: absolute;
	top: -20px;
	width: calc(100% - 330px);
	max-width: 900px;
	height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
  margin: 0 auto;
}
#main .page-title h1 {
	margin: 0;
	text-align: center;
	line-height: 1.4;
	letter-spacing: 0.03em;
	font-weight: 700;
	font-size: 50px;
}
#main .page-title h1 span {
	display: block;
	font-size: 35px;
	color: #F5927A;
}
#main .archive-title {
	background: url(img/icon-nav02.svg) no-repeat left center;
	margin: 0;
	padding: 0 0 0 50px;
	letter-spacing: 0.02em;
	font-weight: 700;
	font-size: 20px;
}
#main p {
	margin: 0 0 1.87em;
}
#main .post {
	margin-top: 100px;
}
.archive #main h2 + .post,
.blog #main h2 + .post {
	margin-top: 15px;
}
.archive #main .post,
.blog #main .post {
	border-top: 1px solid #ccc;
	margin: 35px 0 0;
	padding: 35px 0 0;
}
.archive #main .post img,
.blog #main .post img {
	max-width: 100%;
	height: auto;
	border-radius: 10px;
}
.archive #main .post a:hover,
.blog #main .post a:hover {
	color: #333;
}
.archive #main .post a:hover dl,
.blog #main .post a:hover dl {
	opacity: 0.7;
}
.archive #main .post a p,
.blog #main .post a p {
	width: 38%;
	margin: 0;
}
.archive #main .post a dl,
.blog #main .post a dl {
	width: 59%;
	margin: 0;
}
.archive #main .post a dt,
.blog #main .post a dt {
	line-height: 1;
	font-family: "Josefin Sans", sans-serif;
}
.archive #main .post a dd,
.blog #main .post a dd {
	line-height: 1.6;
	margin: 15px 0 0;
}
.archive #main .post a dd strong,
.blog #main .post a dd strong {
	font-size: 21px;
}
.archive #main .post a dd ul,
.blog #main .post a dd ul {
	display: flex;
}
.archive #main .post a dd ul li,
.blog #main .post a dd ul li {
	display: block;
	background: #fff;
	border: 1px solid #ccc;
	margin: 0 5px 0 0;
	padding: 0 5px;
	font-size: 14px;
	color: #888;
}
.archive #main .post a dd.linkbtn,
.blog #main .post a dd.linkbtn {
	text-align: right;
}
.archive #main .post a dd.linkbtn span,
.blog #main .post a dd .linkbtn span{
	width: 215px;
	padding: 15px 20px;
	text-align: center;
}
#main .post .h2outer {
	margin: 0 0 30px;
	text-align: center;
}
#main .post .h2outer h2 {
	display: inline-block;
	position: relative;
	margin: 0;
	padding: 0 30px;
	letter-spacing: 0.03em;
	line-height: 1.5;
	font-size: 35px;
}
#main .post .h2outer h2:before,
#main .post .h2outer h2:after {
	content: "";
	position: absolute;
	top: 5px;
	background: #333;
	width: 1px;
	height: 50px;
}
#main .post .h2outer h2:before {
	left: 10px;
	transform: rotate(-30deg);
}
#main .post .h2outer h2:after {
	right: 10px;
	transform: rotate(30deg);
}
#main .post h3 {
	margin: 40px 0;
	text-align: center;
	font-size: 21px;
}
#main .shopbnr {
	margin: 2em 0;
}
#main .shopbnr img {
	max-width: 100%;
	height: auto;
}
#main .linkbtn {
	text-align: center;
}
#main .linkbtn a,
#main .linkbtn span {
	display: inline-block;
	position: relative;
	background: #67B3F5;
	border-radius: 60px;
	padding: 15px 40px 15px 20px;
	font-size: 16px;
	font-weight: 700;
	color: #fff;
}
#main .linkbtn a:after,
#main .linkbtn span:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	width: 6px;
	height: 6px;
	border-top: solid 2px #fff;
	border-left: solid 2px #fff;
	transform: translate(0, -50%) rotate(135deg);
}
#main .linkbtn a:hover {
	opacity: 0.7;
}
#main .about {
	background: url("img/ill-miyagi.png") no-repeat right top 280px;
	text-align: center;
	font-size: 21px;
	font-weight: 700;
}
.home #main .about {
	background: url("img/ill-miyagi.png") no-repeat right top 60px
}
#main .about p {
	letter-spacing: 0.1em;
}
#main .about .maru {
	display: inline-block;
	background: url("img/ill-maru.png") no-repeat right 21px top;
	padding: 12px 0 0;
}
#main .about .bg {
	background: #67B3F5;
	padding: 0 10px;
	color: #fff;
}
.home #main .about h2 {
	margin: 50px 0 10px;
	letter-spacing: 0.03em;
	font-size: 35px;
	font-weight: 700;
	color: #67B3F5;
}
.home #main .about h2 span {
	color: #F5927A;
}
#main .post .about h3 {
	font-size: 25px;
}
#main .news {
	background: url("img/ill-fish02.png") no-repeat left top 60px;
	padding: 180px 0 60px;
}
#main .news .box {
	width: 220px;
}
#main .news h3 {
	margin: 0 0 10px;
	letter-spacing: 0.03em;
	line-height: 1.2;
	font-size: 35px;
	font-weight: 700;
	color: #67B3F5;
}
#main .news h3 span {
	display: block;
}
#main .news .linkbtn {
	margin: 0;
}
#main .news .linkbtn a {
	width: 100%;
}
#main .news ul {
	width: calc(100% - 260px);
}
#main .news ul li {
	border-bottom: 1px solid #ccc;
}
#main .news ul li span {
	display: inline-block;
	width: 95px;
	font-weight: normal;
}
#main .news ul li a {
	display: block;
	position: relative;
	padding: 10px 40px 10px 0;
	font-weight: 700;
}
#main .news ul li a:before,
#main .news ul li a:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
}
#main .news ul li a:before {
	right: 0;
	background: #67B3F5;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	transform: translate(0, -50%);
}
#main .news ul li a:after {
	right: 12px;
	width: 6px;
	height: 6px;
	border-top: solid 2px #fff;
	border-left: solid 2px #fff;
	transform: translate(0, -50%) rotate(135deg);
}
.error404 #main .news {
	background: none;
	padding: 0;
}
.error404 #main .news ul {
	width: 100%;
}
.error404 #main #page-nav {
	border: 0;
}
#main .imgbnr li {
	width: 48%;
}
#main .imgbnr li img {
	max-width: 100%;
	height: auto;
}
#main #carousel {
	position: relative;
	z-index: -1;
	margin: 80px 0 0;
}
#main #carousel:after {
	content: "";
	display: block;
	position: absolute;
	bottom: -15vw;
	left: -145px;
	background: url("img/bg-carousel.png") repeat-x 0 0;
	background-size: auto 100%;
	width: 100vw;
	height: 18.3vw;
	margin: 0 calc(50% - 50vw);
}
#main #carousel img {
	border-radius: 10px;
}
#main #carousel .swiper-wrapper {
	transition-timing-function: linear;
	z-index: -1;
}
#main #carousel .swiper-slide {
	width: 310px;
}
@media screen and (max-width:1024px) {
	#main .page-title {
		height: 100px;
	}
	#main .page-title h1 {
		font-size: 40px;
	}
	#main .page-title h1 span {
		font-size: 28px;
	}
	#main .post {
		margin-top: 50px;
	}
	#main .news {
		position: relative;
		margin: 0 0 30px;
		padding: 180px 0 80px;
	}
	#main .news .box,
	#main .news ul {
		width: 100%;
	}
	#main .news h3 span {
		display: inline;
	}
	#main .news .linkbtn {
		position: absolute;
		bottom: 0;
		left: 50%;
		margin: 0 0 0 -90px;
	}
	#main .news .linkbtn a {
		width: 180px;
	}
	.archive #main .post a dd strong,
	.blog #main .post a dd strong {
		font-size: 19px;
	}
	.archive #main .post a dd.linkbtn span,
	.blog #main .post a dd.linkbtn span {
		width: 180px;
		padding: 10px 20px;
	}
}
@media screen and (max-width:767px) {
	#contents {
		padding: 0;
	}
	#main {
		position: relative;
		width: 100%;
		padding: 0 0 100px;
	}
	.home #main:before {
		top: calc(-100px - 10.93vw);
	}
	#main:after {
		background-position: center bottom;
		background-size: auto 100%;
		bottom: -50px;
		height: 160px;
	}
	#main img {
		max-width: 100%;
		height: auto;
	}
	#main .page-title {
		top: 0;
		width: calc(100% - 40px);
		height: auto;
	}
	#main .page-title h1 {
		font-size: 30px;
	}
	#main .page-title h1 span {
		font-size: 18px;
	}
	#main .post {
		margin-top: 100px;
	}
	#main .post .h2outer h2 {
		font-size: 23px;
	}
	#main .post .h2outer h2:before,
	#main .post .h2outer h2:after {
		height: 30px;
	}
	#main .post h3 {
		margin: 30px 0;
		font-size: 17px;
	}
	#main .linkbtn a,
	#main .linkbtn span {
		padding: 10px 40px 10px 20px;
		font-size: 15px;
	}
	#main .about {
		background: url("img/ill-miyagi.png") no-repeat center bottom;
		background-size: 220px auto;
		padding: 0 0 170px;
		font-size: 16px;
	}
	.home #main .about {
		background: url("img/ill-miyagi.png") no-repeat center bottom 20px;
		background-size: 220px auto;
	}
	#main .about h2 + p {
		margin: 0 0 10px;
	}
	#main .post .about h3 {
		font-size: 19px;
	}
	#main .about p img {
		width: 200px;
	}
	#main .about .maru {
		background-size: 50px auto;
	}
	.home #main .about h2 {
		margin: 0 0 10px;
		font-size: 24px;
	}
	#main .news {
		background-position: 0 20px;
		background-size: contain;
		padding: 100px 0 80px;
	}
	#main .news h3 {
		margin: 0;
		font-size: 24px;
	}
	#main .news ul li span {
		display: block;
		width: auto;
	}
	#main #carousel:after {
		left: -20px;
		margin: 0;
	}
	#main #carousel .swiper-slide {
		width: 220px;
	}
}
@media screen and (max-width:480px) {
	#main:before {
		top: 50px
	}
	.home #main:before {
		top: calc(-150px - 10.93vw);
	}
	#main .shopbnr {
		margin: 2em 20px;
	}
	#main .imgbnr {
		padding: 0 20px;
	}
	#main .imgbnr li {
		width: 100%;
		margin: 0 0 10px;
	}
	#main .inner {
		padding: 50px 20px 0;
	}
	.home #main .inner {
		padding: 0;
		overflow-x: hidden;
    -ms-overflow-style: none;
    scrollbar-width: none;
	}
	#main .inner::-webkit-scrollbar {
		display: none;
	}
	#main .page-title {
		display: block;
	}
	#main .post {
		margin-top: 50px;
	}
	.archive #main .post a p,
	.blog #main .post a p {
		width: 100%;
		margin: 0 0 20px;
	}
	.archive #main .post a dl,
	.blog #main .post a dl {
		width: 100%;
	}
	#main .about {
		margin: 30px 0 0;
	}
	#main #carousel:after {
		left: 0;
	}
	#main .news {
		background-position: 20px 20px;
		background-size: 90% auto;
		padding: 100px 20px 80px;
	}
}
/* widget
------------------------------------------------*/
#widget {
	display: flex;
	justify-content: space-between;
	margin: 200px 0 50px;
}
#widget .dropdown {
	position: relative;
	width: 48%;
	border: 1px solid #ccc;
	border-radius: 60px;
	line-height: 1.2;
}
#widget .dropdown:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	z-index: 2;
	transform: translate(0, -50%) rotate(-135deg);
	width: 4px;
	height: 4px;
	border-top: 2px solid #888;
	border-left: 2px solid #888;
}
#widget .dropdown select {
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	background: #fff;
	width: 100%;
	padding: 20px 10px 20px 30px;
	border: 0;
	border-radius: 60px;
	text-align: center;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: #333;
	outline: none;
}
@media screen and (max-width:1024px) {
	#widget {
		margin: 150px 0 50px;
	}
}
@media screen and (max-width:767px) {
	#widget .dropdown select {
		padding: 10px 10px 10px 30px;
		text-align: left;
		font-size: 15px;
	}
}
@media screen and (max-width:480px) {
	#widget {
		margin: 100px 0 50px;
	}
	#widget .dropdown select {
		padding: 10px 10px 10px 20px;
		font-size: 13px;
	}
}
/* post
------------------------------------------------*/
#main .post .post-title {
	padding: 100px 0 20px;
}
#main .post .post-title h1 {
	margin: 0;
	line-height: 1.6;
	letter-spacing: 0.03em;
	font-size: 33px;
	font-weight: 700;
}
#main .post .post-meta {
	margin: 0 0 40px;
}
#main .post .post-meta ul {
	display: flex;
	align-items: center;
}
#main .post .post-meta ul li {
	margin: 0 5px 0 0;
}
#main .post .post-meta ul li:first-child {
	margin: 0 10px 0 0;
}
#main .post .post-meta ul li a {
	display: block;
	background: #fff;
	border: 1px solid #ccc;
	padding: 0 5px;
	font-size: 14px;
	color: #888;
}
#main .post .post-meta ul li a:hover {
	opacity: 0.8;
}
#main .post .post-body {
	overflow: hidden;
}
#main .post .post-body:after {
	content: "";
	display: block;
	clear: both;
}
#main .post .post-body h2 {
	background: #67B3F5;
	border-radius: 10px;
	margin: 50px 0 20px;
	padding: 10px 20px;
	line-height: 1.6;
	letter-spacing: 0.02em;
	font-size: 25px;
	font-weight: 700;
	color: #fff;
}
#main .post .post-body h2:first-child {
	margin-top: 0;
}
#main .post .post-body h3 {
	border-bottom: 2px solid #67B3F5;
	margin: 40px 0 20px;
	padding: 0 0 10px;
	line-height: 1.6;
	letter-spacing: 0.02em;
	font-size: 21px;
	text-align: left;
}
#main .post .post-body h4 {
	margin: 50px 0 15px;
	font-size: 18px;
	font-weight: 700;
}
#main .post .post-body h3 + h4 {
	margin-top: 20px;
}
#main .post .post-body ul {
	list-style: disc;
	margin: 0 0 1.87em;
	padding: 0 0 0 1.5em;
}
#main .post .post-body ol {
	list-style: decimal;
	margin: 0 0 1.87em;
	padding: 0 0 0 1.5em;
}
#main .post .post-body li {
	margin: 0 0 7px;
}
#main .post .post-body table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1.87em;
}
#main .post .post-body table th,
#main .post .post-body table td {
	border: 1px solid #ccc;
	padding: 10px 20px;
}
#main .post .post-body table th {
	background: #F2F7FA;
	text-align: left;
}
#main .post .post-body a {
	text-decoration: underline;
	color: #005481;
}
#main .post .post-body a:hover {
	text-decoration: none;
	color: #005481;
}
#main .post .post-body .wp-block-button a {
	text-decoration: none;
	font-size: 1em;
}
#main .post .post-body .wp-block-button a:hover {
	opacity: 0.7;
}
#main #page-nav {
	border-top: 1px solid #ccc;
	margin: 40px 0 0;
	padding: 40px 0 0;
}
#main #page-nav .returnbtn {
	margin: 0 0 40px;
}
#main #page-nav .returnbtn a {
	display: block;
	position: relative;
	background: #fff;
	border: 1px solid #ccc;
	width: 440px;
	height: 58px;
	border-radius: 60px;
	margin: 0 auto;
	line-height: 58px;
	text-align: center;
	font-weight: 700;
}
#main #page-nav .returnbtn a:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translate(0, -50%) rotate(-45deg);
	width: 6px;
	height: 6px;
	border-top: 2px solid #888;
	border-left: 2px solid #888;
}
#main #page-nav .returnbtn a:hover {
	opacity: 0.7;
	color: #333;
}
#main #page-nav ul {
	align-items: center;
}
#main #page-nav .prev_post,
#main #page-nav .next_post {
	width: 48%;
}
#main #page-nav .prev_post a,
#main #page-nav .next_post a {
	position: relative;
	display: block;
}
#main #page-nav .next_post a {
	padding: 0 40px 0 0;
	text-align: right;
}
#main #page-nav .prev_post a {
	padding: 0 0 0 40px;
}
#main #page-nav .prev_post a:before,
#main #page-nav .next_post a:before,
#main #page-nav .prev_post a:after,
#main #page-nav .next_post a:after {
	content: "";
	position: absolute;
	top: 50%;
}
#main #page-nav .next_post a:before,
#main #page-nav .prev_post a:before {
	transform: translate(0, -50%);
	background: #67B3F5;
	width: 30px;
	height: 30px;
	border-radius: 15px;
}
#main #page-nav .next_post a:before {
	right: 0;
}
#main #page-nav .prev_post a:before {
	left: 0;
}
#main #page-nav .next_post a:after,
#main #page-nav .prev_post a:after {
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
}
#main #page-nav .next_post a:after {
	right: 12px;
	transform: translate(0, -50%) rotate(135deg);
}
#main #page-nav .prev_post a:after {
	left: 12px;
	transform: translate(0, -50%) rotate(-45deg);
}
.wp-pagenavi {
	margin: 0 0 40px;
	font-size: 14px;
}
.wp-pagenavi span {
	display: inline-block;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 15px;
	margin: 0 5px 10px;
	padding: 5px 7px;
	line-height: 1;
	vertical-align: middle;
}
.wp-pagenavi span.current {
	background: #67B3F5;
	border: 1px solid #ccc;
	min-width: 26px;
	text-align: center;
	color: #fff;
}
.wp-pagenavi a {
	display: inline-block;
	background: #fff;
	min-width: 26px;
	border: 1px solid #ccc;
	border-radius: 15px;
	margin: 0 5px 10px;
	padding: 5px 7px;
	vertical-align: middle;
	text-align: center;
	text-decoration: none;
	line-height: 1;
	color: #333;
}
.wp-pagenavi a:hover {
	background: #67B3F5;
	text-decoration: none !important;
	color: #fff;
}
@media screen and (max-width:1024px) {
	#main .post .post-title h1 {
		font-size: 28px;
	}
	#main .post .post-body h2 {
		font-size: 23px;
	}
	#main .post .post-body h3 {
		font-size: 20px;
	}
	#main #page-nav .returnbtn a {
		width: 380px;
		height: 50px;
		line-height: 50px;
	}
}
@media screen and (max-width:767px) {
	#main .post .post-title {
		padding-top: 50px;
	}
	#main .post .post-title h1 {
		font-size: 26px;
	}
	#main .post .post-body h2 {
		font-size: 20px;
	}
	#main .post .post-body h3 {
		font-size: 18px;
	}
	#main .post .post-body h4 {
		font-size: 16px;
	}
	#main #page-nav .returnbtn a {
		width: 300px;
	}
	#main #page-nav ul.flex {
		border-bottom: 1px solid #ccc;
	}
	#main #page-nav .prev_post,
	#main #page-nav .next_post {
		width: 100%;
		border-top: 1px solid #ccc;
	}
	#main #page-nav .next_post a {
		padding: 10px 30px 10px 0;
	}
	#main #page-nav .prev_post a {
		padding: 10px 0 10px 30px;
	}
	#main #page-nav .next_post a:before,
	#main #page-nav .prev_post a:before {
		width: 20px;
		height: 20px;
	}
	#main #page-nav .next_post a:after,
	#main #page-nav .prev_post a:after {
		width: 5px;
		height: 5px;
	}
	#main #page-nav .next_post a:after {
		right: 8px;
	}
	#main #page-nav .prev_post a:after {
		left: 8px;
	}
}
/* vis
------------------------------------------------*/
#vis {
	position: relative;
	height: auto;
	text-align: left;
}
#vis img {
	max-width: 100%;
	height: auto;
}
#vis h1 {
	position: absolute;
	top: 40px;
	right: 40px;
	z-index: 3;
	margin: 0;
}
#vis p {
	position: absolute;
	z-index: 3;
	margin: 0;
}
#vis .txt {
	top: 40px;
	left: 40px;
}
#vis .batch {
	bottom: 0;
	left: 110px;
}
#vis .slide-img {
	height: 57.1vw;
}
#vis .swiper .swiper-slide.slideimg01 .slide-img {
	background: url(img/img-slide01.jpg) no-repeat center;
	background-size: cover;
}
#vis .swiper .swiper-slide.slideimg02 .slide-img {
	background: url(img/img-slide02.jpg) no-repeat center;
	background-size: cover;
}
@media screen and (max-width:767px) {
	#vis .swiper-wrapper {
		z-index: -1;
	}
	#vis .slide-img {
		height: 100vw;
	}
	#vis {
		padding: 0 0 100px;
	}
	#vis h1 {
		top: auto;
		right: 10px;
		bottom: 0;
		width: 210px;
	}
	#vis .txt {
		top: auto;
		left: 10px;
		bottom: 0;
		width: 100px;
	}
	#vis .batch {
		bottom: 0;
		left: 65px;
		width: 160px;
	}
}
@media screen and (max-width:480px) {
	#vis {
		padding: 0 0 150px;
	}
	#vis h1 {
		width: 190px;
	}
	#vis .txt {
		width: 90px;
	}
	#vis .batch {
		width: 140px;
	}
	
}
/* nav
------------------------------------------------*/
ul.navlist li a {
	display: block;
	background-size: 40px 40px;
	line-height: 1.5;
	padding: 0 0 0 50px;
	font-weight: bold;
}
ul.navlist li.nav01 a {
	background: url("img/icon-nav01.svg") no-repeat left center;
}
ul.navlist li.nav02 a {
	background: url("img/icon-nav02.svg") no-repeat left center;
}
ul.navlist li.nav03 a {
	background: url("img/icon-nav03.svg") no-repeat left center;
}
ul.navlist li.nav04 a {
	background: url("img/icon-nav04.svg") no-repeat left center;
}
ul.navlist li.nav05 a {
	background: url("img/icon-nav05.svg") no-repeat left center;
}
#nav {
	z-index: 2;
	background: url("img/bg-nav.png"), linear-gradient(0deg, rgba(202,236,242,1), rgba(255,255,255,1));
	background-position: left bottom;
	background-repeat: no-repeat;
	border: 3px solid #EDE5D3;
	border-left: 0;
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
	width: 270px;
	padding: 10px 30px 120px;
	box-shadow: 0 3px 6px rgba(0,0,0,0.2);
}
#nav ul {
	margin: 0 0 10px;
	text-align: left;
}
#nav ul.navlist li {
	border-bottom: 1px solid #ccc;
}
#nav ul.navlist li a {
	padding: 10px 0 10px 50px;
	font-size: 16px;
}
#nav ul.navlist li.nav01 a,
#nav ul.navlist li.nav04 a,
#nav ul.navlist li.nav05 a {
	padding: 20px 0 20px 50px;
}
#nav ul li a {
	font-size: 14px;
}
#nav img {
	max-width: 100%;
	height: auto;
}
@media screen and (max-width:767px) {
	#nav {
		display: none;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 4;
		background: url("img/bg-nav-sp.png"), linear-gradient(0deg, rgba(202,236,242,1), rgba(255,255,255,1));
		background-position: left bottom;
		background-repeat: repeat-x;
		border: 0;
		border-radius: 0;
		width: 100%;
		height: 100svh;
		padding: 60px 5% 130px;
		box-shadow: none;
		overflow-y: auto;
	}
	#nav ul.navlist li a {
		padding: 20px 0 20px 50px;
	}
	#nav ul.navlist + ul {
		text-align: right;
	}
	#nav ul.navlist + ul li a {
		display: inline-block;
		padding: 10px 0;
	}
	#nav p {
		text-align: center;
	}
}
/* header
------------------------------------------------*/
#header .logo {
	width: 230px;
	margin: 30px 0 0 40px;
}
#header .logo a {
	display: inline-block;
}
#header .logo img {
	max-width: 100%;
	height: auto;
}
#header .path {
	position: absolute;
	top: 20px;
	right: 60px;
	background: url("img/icon-nav01.svg") no-repeat left 0;
	background-size: 26px auto;
	max-width: calc(100% - 360px);
	margin: 0;
	padding: 0 0 0 30px;
	font-size: 14px;
}
@media screen and (max-width:767px) {
	#header {
		text-align: center;
	}
	#header .logo {
		width: 150px;
		margin: 15px 0 0 15px;
	}
	#header .path {
		display: inline-block;
		position: inherit;
		top: auto;
		right: auto;
		background-size: 20px auto;
		max-width: 95%;
		margin: 0 0 20px;
		padding: 0 0 0 20px;
		font-size: 12px;
	}
	.menu-trigger {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 1002;
		background: #67B3F5;
		width: 60px;
		height: 60px;
		border-bottom-left-radius: 10px;
		cursor: pointer;
	}
	.home .menu-trigger {
		background: none;
	}
	.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: 22px;
		left: 20px;
	}
	.menu-trigger .toggle-bar::before {
		top: 7px;
		left: 0;
	}
	.menu-trigger .toggle-bar::after {
		top: -7px;
		left: 0;
	}
	.nav-open.menu-trigger {
		background: none;
	}
	.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);
		background: #888;
	}
	.nav-open .toggle-bar::after {
		transform: rotate(-45deg);
		background: #888;
	}
	.menu-trigger .toggle-name {
		position: absolute;
		left: 6px;
		bottom: 3px;
		width: calc(100% - 8px);
		text-align: center;
		letter-spacing: 0.1em;
		font-family: "Josefin Sans", sans-serif;
		font-size: 10px;
		font-weight: 700;
		color: #fff;
	}
	.menu-trigger .toggle-name:before {
		content: "MENU";
	}
	.nav-open .toggle-name:before {
		content: "CLOSE";
		color: #888;
	}
}
/* footer
------------------------------------------------*/
#footer {
	position: relative;
	z-index: 2;
	background: #F5FBFF;
	border-top-left-radius: 100px;
	border-top-right-radius: 100px;
	padding: 0 0 320px;
}
#footer:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
	background: url("img/bg-footer.png") no-repeat 0 0;
	background-size: cover;
	width: 100%;
	height: 320px;
}
#footer .inner {
	width: auto;
	padding: 80px 100px 0;
}
#footer .navlist a {
	height: 40px;
	line-height: 40px;
}
#footer .box {
	position: relative;
}
#footer .box.logo {
	width: 33%;
}
#footer .box.logo img {
	max-width: 100%;
	height: auto;
}
#footer .box p {
	margin: 0;
}
#footer .flex.box ul {
	margin: 0 0 0 90px;
}
#footer .flex.box ul.navlist {
	margin: 0;
}
#footer .flex.box ul li {
	margin: 0 0 10px;
}
#footer .flex.box ul.navlist li {
	margin: 0 0 15px;
	font-size: 18px;
}
#footer .box dl {
	margin: 30px 0 0;
}
#footer .box dt {
	float: left;
	width: 3em;
	padding: 2px 0 0;
	font-size: 14px;
}
#footer .box dt span {
	margin: 0 0 0 1em;
}
#footer .box dd {
	margin: 0 0 0 4em;
	font-weight: 700;
}
#footer small {
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	font-family: "Josefin Sans", sans-serif;
	font-size: 14px;
	font-weight: 400;
	color: #888;
}
@media screen and (max-width:1200px) {
	#footer .inner {
		padding: 50px 50px 0;
	}
}
@media screen and (max-width:1024px) {
	#footer .box.logo {
		width: 100%;
		text-align: center;
	}
	#footer .box.logo dl {
		display: inline-block;
		margin: 20px 0 40px;
	}
	#footer .flex.box {
		justify-content: center;
		width: 100%;
	}
}
@media screen and (max-width:767px) {
	#footer {
		border-top-left-radius: 50px;
		border-top-right-radius: 50px;
		padding: 0 0 110px;
	}
	#footer .inner {
		padding: 30px 30px 0;
	}
	#footer:after {
		height: 110px;
	}
	#footer .box.logo p {
		width: 70%;
		margin: 0 auto;
	}
	#footer .box.logo dl {
		margin: 10px 0 20px;
	}
	#footer .box dt {
		font-size: 13px;
	}
	#footer .flex.box ul {
		width: 100%;
		margin: 0;
	}
	#footer .flex.box ul.navlist {
		margin: 0 0 10px;
	}
	#footer .flex.box ul.navlist li a {
		font-size: 16px;
	}
	
}